msi: Update feature states after changing install levels, as they may have changed.
This commit is contained in:
parent
7c7f0bb2c1
commit
7bcac31dcf
|
@ -1590,7 +1590,7 @@ static BOOL process_state_property (MSIPACKAGE* package, LPCWSTR property,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static UINT MSI_SetFeatureStates(MSIPACKAGE *package)
|
||||
UINT MSI_SetFeatureStates(MSIPACKAGE *package)
|
||||
{
|
||||
int install_level;
|
||||
static const WCHAR szlevel[] =
|
||||
|
|
|
@ -785,6 +785,12 @@ UINT WINAPI MsiSetInstallLevel(MSIHANDLE hInstall, int iInstallLevel)
|
|||
|
||||
sprintfW( level, fmt, iInstallLevel );
|
||||
r = MSI_SetPropertyW( package, szInstallLevel, level );
|
||||
if ( r == ERROR_SUCCESS )
|
||||
{
|
||||
r = MSI_SetFeatureStates( package );
|
||||
}
|
||||
|
||||
msiobj_release( &package->hdr );
|
||||
|
||||
return r;
|
||||
}
|
||||
|
|
|
@ -339,6 +339,7 @@ extern UINT MSI_InstallPackage( MSIPACKAGE *, LPCWSTR, LPCWSTR );
|
|||
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 *);
|
||||
|
|
Loading…
Reference in New Issue