msi: Forward MsiSetInstallLevel to an internal MSI_SetInstallLevel that can be used internally.
This commit is contained in:
parent
7bcac31dcf
commit
de73481c89
|
@ -762,27 +762,19 @@ LANGID WINAPI MsiGetLanguage(MSIHANDLE hInstall)
|
||||||
return langid;
|
return langid;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel )
|
||||||
* MsiGetLanguage (MSI.@)
|
|
||||||
*/
|
|
||||||
UINT WINAPI MsiSetInstallLevel(MSIHANDLE hInstall, int iInstallLevel)
|
|
||||||
{
|
{
|
||||||
static const WCHAR szInstallLevel[] = {
|
static const WCHAR szInstallLevel[] = {
|
||||||
'I','N','S','T','A','L','L','L','E','V','E','L',0 };
|
'I','N','S','T','A','L','L','L','E','V','E','L',0 };
|
||||||
static const WCHAR fmt[] = { '%','d',0 };
|
static const WCHAR fmt[] = { '%','d',0 };
|
||||||
MSIPACKAGE* package;
|
|
||||||
WCHAR level[6];
|
WCHAR level[6];
|
||||||
UINT r;
|
UINT r;
|
||||||
|
|
||||||
TRACE("%ld %i\n", hInstall, iInstallLevel);
|
TRACE("%p %i\n", package, iInstallLevel);
|
||||||
|
|
||||||
if (iInstallLevel<1 || iInstallLevel>32767)
|
if (iInstallLevel<1 || iInstallLevel>32767)
|
||||||
return ERROR_INVALID_PARAMETER;
|
return ERROR_INVALID_PARAMETER;
|
||||||
|
|
||||||
package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
|
|
||||||
if ( !package )
|
|
||||||
return ERROR_INVALID_HANDLE;
|
|
||||||
|
|
||||||
sprintfW( level, fmt, iInstallLevel );
|
sprintfW( level, fmt, iInstallLevel );
|
||||||
r = MSI_SetPropertyW( package, szInstallLevel, level );
|
r = MSI_SetPropertyW( package, szInstallLevel, level );
|
||||||
if ( r == ERROR_SUCCESS )
|
if ( r == ERROR_SUCCESS )
|
||||||
|
@ -790,6 +782,25 @@ UINT WINAPI MsiSetInstallLevel(MSIHANDLE hInstall, int iInstallLevel)
|
||||||
r = MSI_SetFeatureStates( package );
|
r = MSI_SetFeatureStates( package );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* MsiSetInstallLevel (MSI.@)
|
||||||
|
*/
|
||||||
|
UINT WINAPI MsiSetInstallLevel(MSIHANDLE hInstall, int iInstallLevel)
|
||||||
|
{
|
||||||
|
MSIPACKAGE* package;
|
||||||
|
UINT r;
|
||||||
|
|
||||||
|
TRACE("%ld %i\n", hInstall, iInstallLevel);
|
||||||
|
|
||||||
|
package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
|
||||||
|
if ( !package )
|
||||||
|
return ERROR_INVALID_HANDLE;
|
||||||
|
|
||||||
|
r = MSI_SetInstallLevel( package, iInstallLevel );
|
||||||
|
|
||||||
msiobj_release( &package->hdr );
|
msiobj_release( &package->hdr );
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
|
|
@ -381,6 +381,9 @@ extern UINT MSI_ViewExecute( MSIQUERY*, MSIRECORD * );
|
||||||
extern UINT MSI_ViewFetch( MSIQUERY*, MSIRECORD ** );
|
extern UINT MSI_ViewFetch( MSIQUERY*, MSIRECORD ** );
|
||||||
extern UINT MSI_ViewClose( MSIQUERY* );
|
extern UINT MSI_ViewClose( MSIQUERY* );
|
||||||
|
|
||||||
|
/* install internals */
|
||||||
|
extern UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel );
|
||||||
|
|
||||||
/* package internals */
|
/* package internals */
|
||||||
extern MSIPACKAGE *MSI_CreatePackage( MSIDATABASE * );
|
extern MSIPACKAGE *MSI_CreatePackage( MSIDATABASE * );
|
||||||
extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE ** );
|
extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE ** );
|
||||||
|
|
Loading…
Reference in New Issue