[1/2] msi: Set REINSTALL property when the product is already installed and the command line is empty.
Hans Leidekker
hans at meelstraat.net
Wed Sep 2 04:43:45 CDT 2009
Fixes http://bugs.winehq.org/show_bug.cgi?id=18834
-Hans
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index c824904..85d95a6 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -789,6 +789,9 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
static const WCHAR szUILevel[] = {'U','I','L','e','v','e','l',0};
static const WCHAR szAction[] = {'A','C','T','I','O','N',0};
static const WCHAR szInstall[] = {'I','N','S','T','A','L','L',0};
+ static const WCHAR szReinstall[] = {'R','E','I','N','S','T','A','L','L',0};
+ static const WCHAR szInstalled[] = {'I','n','s','t','a','l','l','e','d',0};
+ static const WCHAR szAll[] = {'A','L','L',0};
MSI_SetPropertyW(package, szAction, szInstall);
@@ -837,6 +840,12 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
msi_apply_transforms( package );
msi_apply_patches( package );
+ if (!szCommandLine && msi_get_property_int( package, szInstalled, 0 ))
+ {
+ TRACE("setting reinstall property\n");
+ MSI_SetPropertyW( package, szReinstall, szAll );
+ }
+
/* properties may have been added by a transform */
msi_clone_properties( package );
msi_set_context( package );
More information about the wine-patches
mailing list