From 1169aa9a58563d5182f2e301b77d35610306254e Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Wed, 2 Sep 2009 11:43:45 +0200 Subject: [PATCH] msi: Set REINSTALL property when the product is already installed and the command line is empty. --- dlls/msi/action.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index c8249045943..85d95a61a0f 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 );