Hans Leidekker : msi: Set the install level to the maximum if the requested install state is not the default .

Alexandre Julliard julliard at winehq.org
Fri Dec 24 09:26:19 CST 2010


Module: wine
Branch: master
Commit: 03a3292ffed984b1e5d4f367c2aa1b2c643ec554
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=03a3292ffed984b1e5d4f367c2aa1b2c643ec554

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Dec 24 15:31:26 2010 +0100

msi: Set the install level to the maximum if the requested install state is not the default.

---

 dlls/msi/msi.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index e66585c..266bd89 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -684,6 +684,8 @@ UINT WINAPI MsiConfigureProductExW(LPCWSTR szProduct, int iInstallLevel,
 
     static const WCHAR szInstalled[] = {
         ' ','I','n','s','t','a','l','l','e','d','=','1',0};
+    static const WCHAR szInstallLevel[] = {
+        ' ','I','N','S','T','A','L','L','L','E','V','E','L','=','3','2','7','6','7',0};
     static const WCHAR szRemoveAll[] = {
         ' ','R','E','M','O','V','E','=','A','L','L',0};
     static const WCHAR szMachine[] = {
@@ -715,6 +717,9 @@ UINT WINAPI MsiConfigureProductExW(LPCWSTR szProduct, int iInstallLevel,
     if (szCommandLine)
         sz += lstrlenW(szCommandLine);
 
+    if (eInstallState != INSTALLSTATE_DEFAULT)
+        sz += lstrlenW(szInstallLevel);
+
     if (eInstallState == INSTALLSTATE_ABSENT)
         sz += lstrlenW(szRemoveAll);
 
@@ -732,6 +737,9 @@ UINT WINAPI MsiConfigureProductExW(LPCWSTR szProduct, int iInstallLevel,
     if (szCommandLine)
         lstrcpyW(commandline,szCommandLine);
 
+    if (eInstallState != INSTALLSTATE_DEFAULT)
+        lstrcatW(commandline, szInstallLevel);
+
     if (eInstallState == INSTALLSTATE_ABSENT)
         lstrcatW(commandline, szRemoveAll);
 




More information about the wine-cvs mailing list