From: Dmitry Timoshkov dmitry@baikal.ru
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/msi/package.c | 2 ++ dlls/msi/tests/package.c | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+)
diff --git a/dlls/msi/package.c b/dlls/msi/package.c index 617a937af2c..89b4c09dfa4 100644 --- a/dlls/msi/package.c +++ b/dlls/msi/package.c @@ -736,6 +736,7 @@ static VOID set_installer_properties(MSIPACKAGE *package) msi_set_property( package->db, L"AdminUser", L"1", -1 ); msi_set_property( package->db, L"Privileged", L"1", -1 ); msi_set_property( package->db, L"MsiRunningElevated", L"1", -1 ); + msi_set_property( package->db, L"MsiTrueAdminUser", L"1", -1 );
/* set the os things */ OSVersion.dwOSVersionInfoSize = sizeof(OSVersion); @@ -965,6 +966,7 @@ void msi_adjust_privilege_properties( MSIPACKAGE *package ) msi_set_property( package->db, L"AdminUser", L"1", -1 ); msi_set_property( package->db, L"Privileged", L"1", -1 ); msi_set_property( package->db, L"MsiRunningElevated", L"1", -1 ); + msi_set_property( package->db, L"MsiTrueAdminUser", L"1", -1 ); }
MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *db ) diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c index 5977a525fb6..e96907b3cf9 100644 --- a/dlls/msi/tests/package.c +++ b/dlls/msi/tests/package.c @@ -5591,6 +5591,30 @@ static void test_installprops(void) r = MsiGetPropertyA(hpkg, "MsiNetAssemblySupport", buf, &size); if (r == ERROR_SUCCESS) trace( "MsiNetAssemblySupport "%s"\n", buf );
+ buf[0] = 0; + size = MAX_PATH; + r = MsiGetPropertyA(hpkg, "AdminUser", buf, &size); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + trace("AdminUser = %s\n", buf); + + buf[0] = 0; + size = MAX_PATH; + r = MsiGetPropertyA(hpkg, "Privileged", buf, &size); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + trace("Privileged = %s\n", buf); + + buf[0] = 0; + size = MAX_PATH; + r = MsiGetPropertyA(hpkg, "MsiTrueAdminUser", buf, &size); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + trace("MsiTrueAdminUser = %s\n", buf); + + buf[0] = 0; + size = MAX_PATH; + r = MsiGetPropertyA(hpkg, "MsiRunningElevated", buf, &size); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + trace("MsiRunningElevated = %s\n", buf); + GetNativeSystemInfo(&si);
sprintf(buf, "%d", LOBYTE(LOWORD(GetVersion())) * 100 + HIBYTE(LOWORD(GetVersion())));