{'I','s','o','l','a','t','e','C','o','m','p','o','n','e','n','t','s',0};
static const WCHAR szMigrateFeatureStates[] =
{'M','i','g','r','a','t','e','F','e','a','t','u','r','e','S','t','a','t','e','s',0};
-static const WCHAR szMsiUnpublishAssemblies[] =
- {'M','s','i','U','n','p','u','b','l','i','s','h','A','s','s','e','m','b','l','i','e','s',0};
static const WCHAR szInstallODBC[] =
{'I','n','s','t','a','l','l','O','D','B','C',0};
static const WCHAR szInstallServices[] =
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szCreateFolders);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRemoveFolders);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szWriteRegistryValues);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRemoveRegistryValues);
+
rc = MSI_DatabaseOpenViewW( package->db, registry_query, &view );
if (rc == ERROR_SUCCESS)
{
TRACE("\n");
- squash_guid( package->ProductCode, squashed_pc );
msi_set_sourcedir_props(package, FALSE);
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szProcessComponents);
+
+ squash_guid( package->ProductCode, squashed_pc );
+
LIST_FOR_EACH_ENTRY( comp, &package->components, MSICOMPONENT, entry )
{
MSIRECORD *uirow;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRegisterTypeLibraries);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szUnregisterTypeLibraries);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
HRESULT res;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szCreateShortcuts);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRemoveShortcuts);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIRECORD *uirow;
BOOL republish = FALSE;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szPublishProduct);
+
if (!list_empty(&package->patches))
{
rc = msi_publish_patches(package);
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szWriteIniValues);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRemoveIniValues);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc == ERROR_SUCCESS)
{
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szSelfRegModules);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szSelfUnregModules);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
UINT rc;
HKEY hkey = NULL, userdata = NULL;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szPublishFeatures);
+
if (!msi_check_publish(package))
return ERROR_SUCCESS;
{
MSIFEATURE *feature;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szUnpublishFeatures);
+
if (!msi_check_unpublish(package))
return ERROR_SUCCESS;
HKEY hkey, props, upgrade_key;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRegisterProduct);
+
/* FIXME: also need to publish if the product is in advertise mode */
if (!msi_get_property_int( package->db, szProductToBeRegistered, 0 )
&& !msi_check_publish(package))
{0},
};
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRegisterUser);
+
if (msi_check_unpublish(package))
{
MSIREG_DeleteUserDataProductKey(package->ProductCode, package->Context);
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szPublishComponents);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szUnpublishComponents);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szInstallServices);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szStartServices);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szStopServices);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szDeleteServices);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szInstallODBC);
+
rc = MSI_DatabaseOpenViewW(package->db, driver_query, &view);
if (rc == ERROR_SUCCESS)
{
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRemoveODBC);
+
rc = MSI_DatabaseOpenViewW( package->db, driver_query, &view );
if (rc == ERROR_SUCCESS)
{
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szWriteEnvironmentStrings);
+
rc = MSI_DatabaseOpenViewW(package->db, query, &view);
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
MSIQUERY *view;
UINT rc;
+ if (package->script == SCRIPT_NONE)
+ return msi_schedule_action(package, SCRIPT_INSTALL, szRemoveEnvironmentStrings);
+
rc = MSI_DatabaseOpenViewW( package->db, query, &view );
if (rc != ERROR_SUCCESS)
return ERROR_SUCCESS;
UINT WINAPI cf_present(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, pf_exists("msitest\\first"), "folder absent\n");
ok(hinst, pf_exists("msitest\\second"), "folder absent\n");
ok(hinst, pf_exists("msitest\\third"), "folder absent\n");
-}
return ERROR_SUCCESS;
}
UINT WINAPI cf_absent(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, !pf_exists("msitest\\first"), "folder present\n");
ok(hinst, !pf_exists("msitest\\second"), "folder present\n");
ok(hinst, !pf_exists("msitest\\third"), "folder present\n");
-}
return ERROR_SUCCESS;
}
UINT WINAPI file_present(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, pf_exists("msitest\\first\\one.txt"), "file absent\n");
ok(hinst, pf_exists("msitest\\second\\two.txt"), "file absent\n");
-}
return ERROR_SUCCESS;
}
UINT WINAPI file_absent(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, !pf_exists("msitest\\first\\one.txt"), "file present\n");
ok(hinst, !pf_exists("msitest\\second\\two.txt"), "file present\n");
-}
return ERROR_SUCCESS;
}
UINT WINAPI crs_present(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, pf_exists("msitest\\shortcut.lnk"), "shortcut absent\n");
return ERROR_SUCCESS;
}
UINT WINAPI crs_absent(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, !pf_exists("msitest\\shortcut.lnk"), "shortcut present\n");
return ERROR_SUCCESS;
}
SC_HANDLE manager, service;
manager = OpenSCManagerA(NULL, NULL, SC_MANAGER_ALL_ACCESS);
service = OpenServiceA(manager, "TestService3", GENERIC_ALL);
-todo_wine
ok(hinst, !!service, "service absent: %u\n", GetLastError());
CloseServiceHandle(service);
CloseServiceHandle(manager);
SC_HANDLE manager, service;
manager = OpenSCManagerA(NULL, NULL, SC_MANAGER_ALL_ACCESS);
service = OpenServiceA(manager, "TestService", GENERIC_ALL);
-todo_wine
ok(hinst, !service, "service present\n");
if (service) CloseServiceHandle(service);
CloseServiceHandle(manager);
service = OpenServiceA(manager, "Spooler", SC_MANAGER_ALL_ACCESS);
ret = QueryServiceStatus(service, &status);
ok(hinst, ret, "QueryServiceStatus failed: %u\n", GetLastError());
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, status.dwCurrentState == SERVICE_RUNNING, "got %u\n", status.dwCurrentState);
CloseServiceHandle(service);
UINT WINAPI rd_present(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, pf_exists("msitest\\original2.txt"), "file absent\n");
ok(hinst, pf_exists("msitest\\duplicate.txt"), "file absent\n");
-}
ok(hinst, !pf_exists("msitest\\original3.txt"), "file present\n");
ok(hinst, !pf_exists("msitest\\duplicate2.txt"), "file present\n");
return ERROR_SUCCESS;
UINT WINAPI rd_absent(MSIHANDLE hinst)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, !pf_exists("msitest\\original2.txt"), "file present\n");
ok(hinst, !pf_exists("msitest\\duplicate.txt"), "file present\n");
-}
ok(hinst, !pf_exists("msitest\\original3.txt"), "file present\n");
ok(hinst, !pf_exists("msitest\\duplicate2.txt"), "file present\n");
return ERROR_SUCCESS;
if (!strcmp(p, "ODBC test driver2"))
gotdriver2 = 1;
}
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, gotdriver, "driver absent\n");
ok(hinst, gotdriver2, "driver 2 absent\n");
-}
return ERROR_SUCCESS;
}
if (!strcmp(p, "ODBC test driver2"))
gotdriver2 = 1;
}
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
ok(hinst, !gotdriver, "driver present\n");
ok(hinst, !gotdriver2, "driver 2 present\n");
-}
return ERROR_SUCCESS;
}
UINT WINAPI mov_absent(MSIHANDLE hinst)
{
-todo_wine {
ok(hinst, !pf_exists("msitest\\canada"), "file present\n");
ok(hinst, !pf_exists("msitest\\dominica"), "file present\n");
-}
return ERROR_SUCCESS;
}
res = RegOpenKeyA(HKEY_CURRENT_USER, path_dotnet, &key);
ok(hinst, !res, "got %d\n", res);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
check_reg_str(hinst, key, name_dotnet, "rcHQPHq?CA@Uv-XqMI1e>Z'q,T*76M@=YEg6My?~]");
-}
RegCloseKey(key);
return ERROR_SUCCESS;
ok(hinst, !res || res == ERROR_FILE_NOT_FOUND, "got %d\n", res);
if (!res)
{
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
check_reg_str(hinst, key, name_dotnet, NULL);
-}
RegCloseKey(key);
}
return ERROR_SUCCESS;
UINT r;
r = RegOpenKeyExA(HKEY_LOCAL_MACHINE, ppc_key, 0, KEY_QUERY_VALUE | KEY_WOW64_64KEY, &key);
-todo_wine
ok(hinst, r == ERROR_FILE_NOT_FOUND, "got %u\n", r);
return ERROR_SUCCESS;
}
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyA(HKEY_CURRENT_USER, pub_key, &key);
ok(hinst, !res, "got %u\n", res);
res = RegQueryValueExA(key, "english.txt", NULL, NULL, NULL, NULL);
ok(hinst, !res, "got %u\n", res);
-}
RegCloseKey(key);
return ERROR_SUCCESS;
}
LONG res;
res = RegOpenKeyA(HKEY_CURRENT_USER, pub_key, &key);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
return ERROR_SUCCESS;
}
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyExA(HKEY_CLASSES_ROOT, pf_classkey, 0, KEY_READ | KEY_WOW64_64KEY, &key);
ok(hinst, !res, "got %u\n", res);
check_reg_str(hinst, key, "feature", "");
check_reg_str(hinst, key, "feature", "VGtfp^p+,?82@JU1j_KE");
check_reg_str(hinst, key, "montecristo", "VGtfp^p+,?82@JU1j_KE");
RegCloseKey(key);
-}
return ERROR_SUCCESS;
}
LONG res;
res = RegOpenKeyExA(HKEY_CLASSES_ROOT, pf_classkey, 0, KEY_READ | KEY_WOW64_64KEY, &key);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, pf_userkey, 0, KEY_READ | KEY_WOW64_64KEY, &key);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
return ERROR_SUCCESS;
LONG res;
res = RegOpenKeyExA(HKEY_CLASSES_ROOT, pp_prodkey, 0, KEY_READ | KEY_WOW64_64KEY, &key);
-todo_wine
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
return ERROR_SUCCESS;
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyExA(HKEY_CLASSES_ROOT, "CLSID\\{110913E7-86D1-4BF3-9922-BA103FCDDDFA}",
0, KEY_READ | KEY_WOW64_32KEY, &key);
ok(hinst, !res, "got %u\n", res);
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "AppID\\{CFCC3B38-E683-497D-9AB4-CB40AAFE307F}", &key);
ok(hinst, !res, "got %u\n", res);
RegCloseKey(key);
-}
return ERROR_SUCCESS;
}
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyExA(HKEY_CLASSES_ROOT, "CLSID\\{110913E7-86D1-4BF3-9922-BA103FCDDDFA}",
0, KEY_READ | KEY_WOW64_32KEY, &key);
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "AppID\\{CFCC3B38-E683-497D-9AB4-CB40AAFE307F}", &key);
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
-}
return ERROR_SUCCESS;
}
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyA(HKEY_CLASSES_ROOT, ".extension", &key);
ok(hinst, !res, "got %u\n", res);
RegCloseKey(key);
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "Prog.Id.1\\shell\\Open\\command", &key);
ok(hinst, !res, "got %u\n", res);
RegCloseKey(key);
-}
return ERROR_SUCCESS;
}
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyA(HKEY_CLASSES_ROOT, ".extension", &key);
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "Prog.Id.1\\shell\\Open\\command", &key);
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
-}
return ERROR_SUCCESS;
}
res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, font_key, 0, KEY_QUERY_VALUE | KEY_WOW64_64KEY, &key);
ok(hinst, !res, "got %u\n", res);
res = RegQueryValueExA(key, "msi test font", NULL, NULL, NULL, NULL);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, !res, "got %u\n", res);
RegCloseKey(key);
res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, font_key, 0, KEY_QUERY_VALUE | KEY_WOW64_64KEY, &key);
ok(hinst, !res, "got %u\n", res);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
check_reg_str(hinst, key, "msi test font", NULL);
-}
RegCloseKey(key);
return ERROR_SUCCESS;
LONG res;
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "MIME\\Database\\Content Type\\mime/type", &key);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, !res, "got %u\n", res);
return ERROR_SUCCESS;
LONG res;
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "MIME\\Database\\Content Type\\mime/type", &key);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
return ERROR_SUCCESS;
LONG res;
res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, rp_key, 0, KEY_READ | KEY_WOW64_32KEY, &key);
-todo_wine
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
return ERROR_SUCCESS;
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyExA(HKEY_CLASSES_ROOT, "CLSID\\{110913E7-86D1-4BF3-9922-BA103FCDDDFA}",
0, KEY_READ | KEY_WOW64_32KEY, &key);
ok(hinst, !res, "got %u\n", res);
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "Winetest.Class.2", &key);
ok(hinst, !res, "got %u\n", res);
RegCloseKey(key);
-}
return ERROR_SUCCESS;
}
HKEY key;
LONG res;
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
res = RegOpenKeyExA(HKEY_CLASSES_ROOT, "CLSID\\{110913E7-86D1-4BF3-9922-BA103FCDDDFA}",
0, KEY_READ | KEY_WOW64_32KEY, &key);
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "Winetest.Class.2", &key);
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
-}
return ERROR_SUCCESS;
}
LONG res;
res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, ru_key, 0, KEY_READ | KEY_WOW64_64KEY, &key);
-todo_wine
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
return ERROR_SUCCESS;
HRESULT hr;
hr = LoadRegTypeLib(&LIBID_register_test, 7, 1, 0, &tlb);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, hr == S_OK, "got %#x\n", hr);
- if (tlb)
- ITypeLib_Release(tlb);
+ ITypeLib_Release(tlb);
return ERROR_SUCCESS;
}
HRESULT hr;
hr = LoadRegTypeLib(&LIBID_register_test, 7, 1, 0, &tlb);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, hr == TYPE_E_LIBNOTREGISTERED, "got %#x\n", hr);
return ERROR_SUCCESS;
LONG res;
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "selfreg_test", &key);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, !res, "got %u\n", res);
RegCloseKey(key);
LONG res;
res = RegOpenKeyA(HKEY_CLASSES_ROOT, "selfreg_test", &key);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
return ERROR_SUCCESS;
res = RegOpenKeyA(HKEY_CURRENT_USER, "Environment", &key);
ok(hinst, !res, "got %u\n", res);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
check_reg_str(hinst, key, "MSITESTVAR3", "1");
check_reg_str(hinst, key, "MSITESTVAR4", "1");
-}
RegCloseKey(key);
return ERROR_SUCCESS;
res = RegOpenKeyA(HKEY_CURRENT_USER, "Environment", &key);
ok(hinst, !res, "got %u\n", res);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED)) {
check_reg_str(hinst, key, "MSITESTVAR3", NULL);
check_reg_str(hinst, key, "MSITESTVAR4", NULL);
-}
RegCloseKey(key);
return ERROR_SUCCESS;
strcat(path, "\\msitest\\test.ini");
len = GetPrivateProfileStringA("section1", "key1", NULL, buf, sizeof(buf), path);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, len == 6, "got %u\n", len);
return ERROR_SUCCESS;
strcat(path, "\\msitest\\test.ini");
len = GetPrivateProfileStringA("section1", "key1", NULL, buf, sizeof(buf), path);
-todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
ok(hinst, !len, "got %u\n", len);
return ERROR_SUCCESS;
res = RegOpenKeyA(HKEY_CURRENT_USER, "msitest", &key);
ok(hinst, !res, "got %u\n", res);
- todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
check_reg_str(hinst, key, "sz", "string");
RegCloseKey(key);
res = RegOpenKeyA(HKEY_CURRENT_USER, "msitest", &key);
ok(hinst, !res, "got %u\n", res);
- todo_wine_if(!MsiGetMode(hinst, MSIRUNMODE_SCHEDULED))
check_reg_str(hinst, key, "sz", NULL);
RegCloseKey(key);