msi: Implement MSIRUNMODE_MAINTENANCE and MSIRUNMODE_REBOOTATEND for MsiGetMode.
This commit is contained in:
parent
a11882fc0f
commit
65c68efc8d
|
@ -661,6 +661,8 @@ BOOL WINAPI MsiGetMode(MSIHANDLE hInstall, MSIRUNMODE iRunMode)
|
|||
MSIPACKAGE *package;
|
||||
BOOL r = FALSE;
|
||||
|
||||
TRACE("%d %d\n", hInstall, iRunMode);
|
||||
|
||||
package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
|
||||
if (!package)
|
||||
{
|
||||
|
@ -706,8 +708,16 @@ BOOL WINAPI MsiGetMode(MSIHANDLE hInstall, MSIRUNMODE iRunMode)
|
|||
r = package->commit_action_running;
|
||||
break;
|
||||
|
||||
case MSIRUNMODE_MAINTENANCE:
|
||||
r = msi_get_property_int( package, szInstalled, 0 ) != 0;
|
||||
break;
|
||||
|
||||
case MSIRUNMODE_REBOOTATEND:
|
||||
r = package->need_reboot;
|
||||
break;
|
||||
|
||||
default:
|
||||
FIXME("%d %d\n", hInstall, iRunMode);
|
||||
FIXME("unimplemented run mode\n");
|
||||
r = TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -1863,11 +1863,11 @@ static void test_Session(IDispatch *pSession)
|
|||
/* Session::Mode, get */
|
||||
hr = Session_ModeGet(pSession, MSIRUNMODE_REBOOTATEND, &bool);
|
||||
ok(hr == S_OK, "Session_ModeGet failed, hresult 0x%08x\n", hr);
|
||||
todo_wine ok(!bool, "Reboot at end session mode is %d\n", bool);
|
||||
ok(!bool, "Reboot at end session mode is %d\n", bool);
|
||||
|
||||
hr = Session_ModeGet(pSession, MSIRUNMODE_MAINTENANCE, &bool);
|
||||
ok(hr == S_OK, "Session_ModeGet failed, hresult 0x%08x\n", hr);
|
||||
todo_wine ok(!bool, "Maintenance mode is %d\n", bool);
|
||||
ok(!bool, "Maintenance mode is %d\n", bool);
|
||||
|
||||
/* Session::Mode, put */
|
||||
hr = Session_ModePut(pSession, MSIRUNMODE_REBOOTATEND, TRUE);
|
||||
|
|
Loading…
Reference in New Issue