James Hawkins : msi: Update feature states after changing install
levels, as they may have changed.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Jul 20 06:20:44 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 7bcac31dcf4b37a0780efaf06540351e2c3543b3
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=7bcac31dcf4b37a0780efaf06540351e2c3543b3
Author: James Hawkins <truiken at gmail.com>
Date: Wed Jul 19 11:17:16 2006 -0700
msi: Update feature states after changing install levels, as they may have changed.
---
dlls/msi/action.c | 2 +-
dlls/msi/install.c | 6 ++++++
dlls/msi/msipriv.h | 1 +
3 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index d6ca5d7..d7be3b5 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -1590,7 +1590,7 @@ static BOOL process_state_property (MSIP
return TRUE;
}
-static UINT MSI_SetFeatureStates(MSIPACKAGE *package)
+UINT MSI_SetFeatureStates(MSIPACKAGE *package)
{
int install_level;
static const WCHAR szlevel[] =
diff --git a/dlls/msi/install.c b/dlls/msi/install.c
index cb43403..38888ef 100644
--- a/dlls/msi/install.c
+++ b/dlls/msi/install.c
@@ -785,6 +785,12 @@ UINT WINAPI MsiSetInstallLevel(MSIHANDLE
sprintfW( level, fmt, iInstallLevel );
r = MSI_SetPropertyW( package, szInstallLevel, level );
+ if ( r == ERROR_SUCCESS )
+ {
+ r = MSI_SetFeatureStates( package );
+ }
+
msiobj_release( &package->hdr );
+
return r;
}
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 999b4ca..a56b9fe 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -339,6 +339,7 @@ extern UINT MSI_InstallPackage( MSIPACKA
extern void ACTION_free_package_structures( MSIPACKAGE* );
extern UINT ACTION_DialogBox( MSIPACKAGE*, LPCWSTR);
extern UINT MSI_Sequence( MSIPACKAGE *package, LPCWSTR szTable, INT iSequenceMode );
+extern UINT MSI_SetFeatureStates( MSIPACKAGE *package );
/* record internals */
extern UINT MSI_RecordSetIStream( MSIRECORD *, unsigned int, IStream *);
More information about the wine-cvs
mailing list