78598: Subject: [5/8] msi: SelfUnregModules' counterpart is SelfRegModules.
buildbot at kegel.com
buildbot at kegel.com
Fri Sep 9 04:48:10 CDT 2011
This is an experimental automated build and test service.
Please feel free to ignore this email while we work the kinks out.
The Buildbot has detected a failed build on builder runtests-heaptest while building Wine.
Full details are available at: http://buildbot.kegel.com/builders/runtests-heaptest/builds/37 (though maybe not for long, as I'm still reinstalling the buildbot periodically while experimenting)
BUILD FAILED: failed shell_3
For more info about this message, see http://wiki.winehq.org/BuildBot
-------------- next part --------------
From: Hans Leidekker <hans at codeweavers.com>
Subject: [1/8] msi: Respect the indirect attribute in the SelectionPath event handler.
Message-Id: <1315558765.4177.19.camel at t400>
Date: Fri, 09 Sep 2011 10:59:18 +0200
---
dlls/msi/dialog.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index 2210f17..caad21c 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -691,7 +691,8 @@ void msi_dialog_handle_event( msi_dialog* dialog, LPCWSTR control,
}
else if ( !strcmpW( attribute, szSelectionPath ) )
{
- LPWSTR path = msi_dialog_dup_property( dialog, ctrl->property, TRUE );
+ BOOL indirect = ctrl->attributes & msidbControlAttributesIndirect;
+ LPWSTR path = msi_dialog_dup_property( dialog, ctrl->property, indirect );
if (!path) return;
SetWindowTextW( ctrl->hwnd, path );
msi_free(path);
--
1.7.5.4
From: Hans Leidekker <hans at codeweavers.com>
Subject: [2/8] msi/test: Mark some test results as broken.
Message-Id: <1315558783.4177.20.camel at t400>
Date: Fri, 09 Sep 2011 10:59:36 +0200
---
dlls/msi/tests/install.c | 28 ++++++++++++++++------------
1 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c
index 1ebdd5d..04c709f 100644
--- a/dlls/msi/tests/install.c
+++ b/dlls/msi/tests/install.c
@@ -3154,12 +3154,14 @@ static void test_samesequence(void)
MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
r = MsiInstallProductA(msifile, NULL);
- ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
- ok(delete_pf("msitest\\augustus", TRUE), "File not installed\n");
- ok(delete_pf("msitest\\caesar", TRUE), "File not installed\n");
- ok(delete_pf("msitest\\maximus", TRUE), "File not installed\n");
- ok(delete_pf("msitest", FALSE), "Directory not created\n");
-
+ ok(r == ERROR_SUCCESS || broken(r == ERROR_INSTALL_FAILURE), "Expected ERROR_SUCCESS, got %u\n", r);
+ if (r == ERROR_SUCCESS)
+ {
+ ok(delete_pf("msitest\\augustus", TRUE), "File not installed\n");
+ ok(delete_pf("msitest\\caesar", TRUE), "File not installed\n");
+ ok(delete_pf("msitest\\maximus", TRUE), "File not installed\n");
+ ok(delete_pf("msitest", FALSE), "Directory not created\n");
+ }
delete_cab_files();
DeleteFile(msifile);
}
@@ -3174,12 +3176,14 @@ static void test_uiLevelFlags(void)
MsiSetInternalUI(INSTALLUILEVEL_NONE | INSTALLUILEVEL_SOURCERESONLY, NULL);
r = MsiInstallProductA(msifile, NULL);
- ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
- ok(!delete_pf("msitest\\maximus", TRUE), "UI install occurred, but execute-only was requested.\n");
- ok(delete_pf("msitest\\caesar", TRUE), "File not installed\n");
- ok(delete_pf("msitest\\augustus", TRUE), "File not installed\n");
- ok(delete_pf("msitest", FALSE), "Directory not created\n");
-
+ ok(r == ERROR_SUCCESS || broken(r == ERROR_INSTALL_FAILURE), "Expected ERROR_SUCCESS, got %u\n", r);
+ if (r == ERROR_SUCCESS)
+ {
+ ok(!delete_pf("msitest\\maximus", TRUE), "UI install occurred, but execute-only was requested.\n");
+ ok(delete_pf("msitest\\caesar", TRUE), "File not installed\n");
+ ok(delete_pf("msitest\\augustus", TRUE), "File not installed\n");
+ ok(delete_pf("msitest", FALSE), "Directory not created\n");
+ }
delete_cab_files();
DeleteFile(msifile);
}
--
1.7.5.4
From: Hans Leidekker <hans at codeweavers.com>
Subject: [3/8] msi/tests: Fix some test messages.
Message-Id: <1315558801.4177.21.camel at t400>
Date: Fri, 09 Sep 2011 10:59:54 +0200
---
dlls/msi/tests/package.c | 34 +++++++++++++++++-----------------
1 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index d240acf..04c3fe7 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -753,7 +753,7 @@ static MSIHANDLE create_package_db(void)
ok( res == ERROR_SUCCESS , "Failed to commit database\n" );
res = set_summary_info(hdb);
- ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", res);
+ ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", res);
res = run_query( hdb,
"CREATE TABLE `Directory` ( "
@@ -2467,12 +2467,12 @@ static void test_formatrecord2(void)
buffer[0] = 0;
sz = sizeof buffer;
r = MsiFormatRecord( hpkg, hrec, buffer, &sz );
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
r = MsiRecordSetString(hrec, 0, "[foo][1]");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
r = MsiRecordSetString(hrec, 1, "hoo");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
sz = sizeof buffer;
r = MsiFormatRecord(hpkg, hrec, buffer, &sz);
ok( sz == 3, "size wrong\n");
@@ -2480,7 +2480,7 @@ static void test_formatrecord2(void)
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "x[~]x");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
sz = sizeof buffer;
r = MsiFormatRecord(hpkg, hrec, buffer, &sz);
ok( sz == 3, "size wrong\n");
@@ -2488,9 +2488,9 @@ static void test_formatrecord2(void)
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "[foo.$%}][1]");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
r = MsiRecordSetString(hrec, 1, "hoo");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
sz = sizeof buffer;
r = MsiFormatRecord(hpkg, hrec, buffer, &sz);
ok( sz == 3, "size wrong\n");
@@ -2498,7 +2498,7 @@ static void test_formatrecord2(void)
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "[\\[]");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
sz = sizeof buffer;
r = MsiFormatRecord(hpkg, hrec, buffer, &sz);
ok( sz == 1, "size wrong\n");
@@ -2507,7 +2507,7 @@ static void test_formatrecord2(void)
SetEnvironmentVariable("FOO", "BAR");
r = MsiRecordSetString(hrec, 0, "[%FOO]");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
sz = sizeof buffer;
r = MsiFormatRecord(hpkg, hrec, buffer, &sz);
ok( sz == 3, "size wrong\n");
@@ -2515,9 +2515,9 @@ static void test_formatrecord2(void)
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "[[1]]");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
r = MsiRecordSetString(hrec, 1, "%FOO");
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
sz = sizeof buffer;
r = MsiFormatRecord(hpkg, hrec, buffer, &sz);
ok( sz == 3, "size wrong\n");
@@ -8442,13 +8442,13 @@ static void test_appsearch_reglocator(void)
sprintf(path, "\"%s\\FileName1\" -option", CURR_DIR);
res = RegSetValueExA(hklm, "value16", 0, REG_SZ,
(const BYTE *)path, lstrlenA(path) + 1);
- ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", res);
+ ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", res);
space = (strchr(CURR_DIR, ' ')) ? TRUE : FALSE;
sprintf(path, "%s\\FileName1 -option", CURR_DIR);
res = RegSetValueExA(hklm, "value17", 0, REG_SZ,
(const BYTE *)path, lstrlenA(path) + 1);
- ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", res);
+ ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", res);
hdb = create_package_db();
ok(hdb, "Expected a valid database handle\n");
@@ -9659,7 +9659,7 @@ static void test_featureparents(void)
/* msidbFeatureAttributesFavorLocal:msidbComponentAttributesOptional */
r = add_component_entry( hdb, "'lepus', '', 'TARGETDIR', 2, '', 'lepus_file'" );
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
r = add_feature_components_entry( hdb, "'zodiac', 'leo'" );
ok( r == ERROR_SUCCESS, "cannot add feature components: %d\n", r );
@@ -10108,19 +10108,19 @@ static void test_installprops(void)
size = MAX_PATH;
r = MsiGetProperty(hpkg, "UserLanguageID", buf, &size);
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
ok( !lstrcmpA(buf, path), "Expected \"%s\", got \"%s\"\n", path, buf);
res = GetSystemMetrics(SM_CXSCREEN);
size = MAX_PATH;
r = MsiGetProperty(hpkg, "ScreenX", buf, &size);
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
ok(atol(buf) == res, "Expected %d, got %ld\n", res, atol(buf));
res = GetSystemMetrics(SM_CYSCREEN);
size = MAX_PATH;
r = MsiGetProperty(hpkg, "ScreenY", buf, &size);
- ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r);
+ ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", r);
ok(atol(buf) == res, "Expected %d, got %ld\n", res, atol(buf));
if (pGetSystemInfo && pSHGetFolderPathA)
--
1.7.5.4
From: Hans Leidekker <hans at codeweavers.com>
Subject: [4/8] msi: Move the preview code to dialog.c.
Message-Id: <1315558831.4177.22.camel at t400>
Date: Fri, 09 Sep 2011 11:00:24 +0200
---
dlls/msi/Makefile.in | 1 -
dlls/msi/dialog.c | 139 +++++++++++++++++++++++++++++++++++++-
dlls/msi/msipriv.h | 1 -
dlls/msi/preview.c | 184 --------------------------------------------------
4 files changed, 138 insertions(+), 187 deletions(-)
delete mode 100644 dlls/msi/preview.c
diff --git a/dlls/msi/Makefile.in b/dlls/msi/Makefile.in
index c12b25d..a9f061a 100644
--- a/dlls/msi/Makefile.in
+++ b/dlls/msi/Makefile.in
@@ -31,7 +31,6 @@ C_SRCS = \
msiquery.c \
package.c \
patch.c \
- preview.c \
record.c \
registry.c \
script.c \
diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index caad21c..51ca2e7 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -38,6 +38,7 @@
#include "commctrl.h"
#include "winreg.h"
#include "shlwapi.h"
+#include "msiserver.h"
#include "wine/debug.h"
#include "wine/unicode.h"
@@ -3848,7 +3849,7 @@ UINT msi_dialog_run_message_loop( msi_dialog *dialog )
return ERROR_SUCCESS;
}
-void msi_dialog_do_preview( msi_dialog *dialog )
+static void msi_dialog_do_preview( msi_dialog *dialog )
{
TRACE("\n");
dialog->attributes |= msidbDialogAttributesVisible;
@@ -4015,3 +4016,139 @@ done:
return r;
}
+
+static void MSI_ClosePreview( MSIOBJECTHDR *arg )
+{
+ MSIPREVIEW *preview = (MSIPREVIEW *)arg;
+ msiobj_release( &preview->package->hdr );
+}
+
+static MSIPREVIEW *MSI_EnableUIPreview( MSIDATABASE *db )
+{
+ MSIPREVIEW *preview = NULL;
+ MSIPACKAGE *package;
+
+ package = MSI_CreatePackage( db, NULL );
+ if (package)
+ {
+ preview = alloc_msiobject( MSIHANDLETYPE_PREVIEW, sizeof(MSIPREVIEW), MSI_ClosePreview );
+ if (preview)
+ {
+ preview->package = package;
+ msiobj_addref( &package->hdr );
+ }
+ msiobj_release( &package->hdr );
+ }
+ return preview;
+}
+
+UINT WINAPI MsiEnableUIPreview( MSIHANDLE hdb, MSIHANDLE *phPreview )
+{
+ MSIDATABASE *db;
+ MSIPREVIEW *preview;
+ UINT r = ERROR_FUNCTION_FAILED;
+
+ TRACE("%d %p\n", hdb, phPreview);
+
+ db = msihandle2msiinfo( hdb, MSIHANDLETYPE_DATABASE );
+ if (!db)
+ {
+ IWineMsiRemoteDatabase *remote_database;
+
+ remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hdb );
+ if (!remote_database)
+ return ERROR_INVALID_HANDLE;
+
+ *phPreview = 0;
+
+ IWineMsiRemoteDatabase_Release( remote_database );
+ WARN("MsiEnableUIPreview not allowed during a custom action!\n");
+
+ return ERROR_FUNCTION_FAILED;
+ }
+ preview = MSI_EnableUIPreview( db );
+ if (preview)
+ {
+ *phPreview = alloc_msihandle( &preview->hdr );
+ msiobj_release( &preview->hdr );
+ r = ERROR_SUCCESS;
+ if (!*phPreview)
+ r = ERROR_NOT_ENOUGH_MEMORY;
+ }
+ msiobj_release( &db->hdr );
+ return r;
+}
+
+static UINT preview_event_handler( MSIPACKAGE *package, LPCWSTR event,
+ LPCWSTR argument, msi_dialog *dialog )
+{
+ MESSAGE("Preview dialog event '%s' (arg='%s')\n", debugstr_w(event), debugstr_w(argument));
+ return ERROR_SUCCESS;
+}
+
+static UINT MSI_PreviewDialogW( MSIPREVIEW *preview, LPCWSTR szDialogName )
+{
+ msi_dialog *dialog = NULL;
+ UINT r = ERROR_SUCCESS;
+
+ if (preview->dialog)
+ msi_dialog_destroy( preview->dialog );
+
+ /* an empty name means we should just destroy the current preview dialog */
+ if (szDialogName)
+ {
+ dialog = msi_dialog_create( preview->package, szDialogName, NULL, preview_event_handler );
+ if (dialog)
+ msi_dialog_do_preview( dialog );
+ else
+ r = ERROR_FUNCTION_FAILED;
+ }
+ preview->dialog = dialog;
+ return r;
+}
+
+UINT WINAPI MsiPreviewDialogW( MSIHANDLE hPreview, LPCWSTR szDialogName )
+{
+ MSIPREVIEW *preview;
+ UINT r;
+
+ TRACE("%d %s\n", hPreview, debugstr_w(szDialogName));
+
+ preview = msihandle2msiinfo( hPreview, MSIHANDLETYPE_PREVIEW );
+ if (!preview)
+ return ERROR_INVALID_HANDLE;
+
+ r = MSI_PreviewDialogW( preview, szDialogName );
+ msiobj_release( &preview->hdr );
+ return r;
+}
+
+UINT WINAPI MsiPreviewDialogA( MSIHANDLE hPreview, LPCSTR szDialogName )
+{
+ UINT r;
+ LPWSTR strW = NULL;
+
+ TRACE("%d %s\n", hPreview, debugstr_a(szDialogName));
+
+ if (szDialogName)
+ {
+ strW = strdupAtoW( szDialogName );
+ if (!strW)
+ return ERROR_OUTOFMEMORY;
+ }
+ r = MsiPreviewDialogW( hPreview, strW );
+ msi_free( strW );
+ return r;
+}
+
+UINT WINAPI MsiPreviewBillboardW( MSIHANDLE hPreview, LPCWSTR szControlName, LPCWSTR szBillboard )
+{
+ FIXME("%d %s %s\n", hPreview, debugstr_w(szControlName), debugstr_w(szBillboard));
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+UINT WINAPI MsiPreviewBillboardA( MSIHANDLE hPreview, LPCSTR szControlName, LPCSTR szBillboard )
+{
+ FIXME("%d %s %s\n", hPreview, debugstr_a(szControlName), debugstr_a(szBillboard));
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 96f0808..7fbab61 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -922,7 +922,6 @@ extern msi_dialog *msi_dialog_create( MSIPACKAGE*, LPCWSTR, msi_dialog*, msi_dia
extern UINT msi_dialog_run_message_loop( msi_dialog* ) DECLSPEC_HIDDEN;
extern void msi_dialog_end_dialog( msi_dialog* ) DECLSPEC_HIDDEN;
extern void msi_dialog_check_messages( HANDLE ) DECLSPEC_HIDDEN;
-extern void msi_dialog_do_preview( msi_dialog* ) DECLSPEC_HIDDEN;
extern void msi_dialog_destroy( msi_dialog* ) DECLSPEC_HIDDEN;
extern void msi_dialog_unregister_class( void ) DECLSPEC_HIDDEN;
extern void msi_dialog_handle_event( msi_dialog*, LPCWSTR, LPCWSTR, MSIRECORD * ) DECLSPEC_HIDDEN;
diff --git a/dlls/msi/preview.c b/dlls/msi/preview.c
deleted file mode 100644
index 458e4a1..0000000
--- a/dlls/msi/preview.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Implementation of the Microsoft Installer (msi.dll)
- *
- * Copyright 2005 Mike McCormack for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#define COBJMACROS
-
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winnls.h"
-#include "msi.h"
-#include "msipriv.h"
-#include "msiserver.h"
-
-#include "wine/debug.h"
-#include "wine/unicode.h"
-
-WINE_DEFAULT_DEBUG_CHANNEL(msi);
-
-static void MSI_ClosePreview( MSIOBJECTHDR *arg )
-{
- MSIPREVIEW *preview = (MSIPREVIEW *) arg;
-
- msiobj_release( &preview->package->hdr );
-}
-
-static MSIPREVIEW *MSI_EnableUIPreview( MSIDATABASE *db )
-{
- MSIPREVIEW *preview = NULL;
- MSIPACKAGE *package;
-
- package = MSI_CreatePackage( db, NULL );
- if( package )
- {
- preview = alloc_msiobject( MSIHANDLETYPE_PREVIEW, sizeof (MSIPREVIEW),
- MSI_ClosePreview );
- if( preview )
- {
- preview->package = package;
- msiobj_addref( &package->hdr );
- }
- msiobj_release( &package->hdr );
- }
- return preview;
-}
-
-UINT WINAPI MsiEnableUIPreview( MSIHANDLE hdb, MSIHANDLE* phPreview )
-{
- MSIDATABASE *db;
- MSIPREVIEW *preview;
- UINT r = ERROR_FUNCTION_FAILED;
-
- TRACE("%d %p\n", hdb, phPreview);
-
- db = msihandle2msiinfo( hdb, MSIHANDLETYPE_DATABASE );
- if( !db )
- {
- IWineMsiRemoteDatabase *remote_database;
-
- remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( hdb );
- if ( !remote_database )
- return ERROR_INVALID_HANDLE;
-
- *phPreview = 0;
-
- IWineMsiRemoteDatabase_Release( remote_database );
- WARN("MsiEnableUIPreview not allowed during a custom action!\n");
-
- return ERROR_FUNCTION_FAILED;
- }
-
- preview = MSI_EnableUIPreview( db );
- if( preview )
- {
- *phPreview = alloc_msihandle( &preview->hdr );
- msiobj_release( &preview->hdr );
- r = ERROR_SUCCESS;
- if (! *phPreview)
- r = ERROR_NOT_ENOUGH_MEMORY;
- }
- msiobj_release( &db->hdr );
-
- return r;
-}
-
-static UINT preview_event_handler( MSIPACKAGE *package, LPCWSTR event,
- LPCWSTR argument, msi_dialog *dialog )
-{
- MESSAGE("Preview dialog event '%s' (arg='%s')\n",
- debugstr_w( event ), debugstr_w( argument ));
- return ERROR_SUCCESS;
-}
-
-static UINT MSI_PreviewDialogW( MSIPREVIEW *preview, LPCWSTR szDialogName )
-{
- msi_dialog *dialog = NULL;
- UINT r = ERROR_SUCCESS;
-
- if( preview->dialog )
- msi_dialog_destroy( preview->dialog );
-
- /* an empty name means we should just destroy the current preview dialog */
- if( szDialogName )
- {
- dialog = msi_dialog_create( preview->package, szDialogName, NULL,
- preview_event_handler );
- if( dialog )
- msi_dialog_do_preview( dialog );
- else
- r = ERROR_FUNCTION_FAILED;
- }
- preview->dialog = dialog;
-
- return r;
-}
-
-UINT WINAPI MsiPreviewDialogW( MSIHANDLE hPreview, LPCWSTR szDialogName )
-{
- MSIPREVIEW *preview;
- UINT r;
-
- TRACE("%d %s\n", hPreview, debugstr_w(szDialogName));
-
- preview = msihandle2msiinfo( hPreview, MSIHANDLETYPE_PREVIEW );
- if( !preview )
- return ERROR_INVALID_HANDLE;
-
- r = MSI_PreviewDialogW( preview, szDialogName );
-
- msiobj_release( &preview->hdr );
-
- return r;
-}
-
-UINT WINAPI MsiPreviewDialogA( MSIHANDLE hPreview, LPCSTR szDialogName )
-{
- UINT r;
- LPWSTR strW = NULL;
-
- TRACE("%d %s\n", hPreview, debugstr_a(szDialogName));
-
- if( szDialogName )
- {
- strW = strdupAtoW( szDialogName );
- if( !strW )
- return ERROR_OUTOFMEMORY;
- }
- r = MsiPreviewDialogW( hPreview, strW );
- msi_free( strW );
- return r;
-}
-
-UINT WINAPI MsiPreviewBillboardW( MSIHANDLE hPreview, LPCWSTR szControlName,
- LPCWSTR szBillboard)
-{
- FIXME("%d %s %s\n", hPreview, debugstr_w(szControlName),
- debugstr_w(szBillboard));
- return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-UINT WINAPI MsiPreviewBillboardA( MSIHANDLE hPreview, LPCSTR szControlName,
- LPCSTR szBillboard)
-{
- FIXME("%d %s %s\n", hPreview, debugstr_a(szControlName),
- debugstr_a(szBillboard));
- return ERROR_CALL_NOT_IMPLEMENTED;
-}
--
1.7.5.4
From: Hans Leidekker <hans at codeweavers.com>
Subject: [5/8] msi: SelfUnregModules' counterpart is SelfRegModules.
Message-Id: <1315558857.4177.23.camel at t400>
Date: Fri, 09 Sep 2011 11:00:51 +0200
---
dlls/msi/action.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index fa92653..4c857f9 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -7206,7 +7206,7 @@ StandardActions[] =
{ szRMCCPSearch, ACTION_RMCCPSearch, NULL },
{ szScheduleReboot, ACTION_ScheduleReboot, NULL },
{ szSelfRegModules, ACTION_SelfRegModules, szSelfUnregModules },
- { szSelfUnregModules, ACTION_SelfUnregModules, szSelfUnregModules },
+ { szSelfUnregModules, ACTION_SelfUnregModules, szSelfRegModules },
{ szSetODBCFolders, ACTION_SetODBCFolders, NULL },
{ szStartServices, ACTION_StartServices, szStopServices },
{ szStopServices, ACTION_StopServices, szStartServices },
--
1.7.5.4
More information about the wine-tests-results
mailing list