diff --git a/modules/rostests/winetests/reg/import.c b/modules/rostests/winetests/reg/import.c index f769e0020f5..58831625fa5 100644 --- a/modules/rostests/winetests/reg/import.c +++ b/modules/rostests/winetests/reg/import.c @@ -3468,25 +3468,34 @@ static void test_import_win31(void) { LONG err; HKEY hkey; - DWORD dispos, r; + DWORD r; /* Check if reg.exe is running with elevated privileges */ - err = RegCreateKeyExA(HKEY_CLASSES_ROOT, KEY_BASE, 0, NULL, REG_OPTION_NON_VOLATILE, - KEY_READ|KEY_SET_VALUE, NULL, &hkey, &dispos); + err = RegDeleteKeyA(HKEY_CLASSES_ROOT, KEY_BASE); if (err == ERROR_ACCESS_DENIED) { win_skip("reg.exe is not running with elevated privileges; " "skipping Windows 3.1 import tests\n"); return; } - - if (dispos == REG_OPENED_EXISTING_KEY) - delete_value(hkey, NULL); + if (err == ERROR_FILE_NOT_FOUND) + { + if (RegCreateKeyExA(HKEY_CLASSES_ROOT, KEY_BASE, 0, NULL, REG_OPTION_NON_VOLATILE, + KEY_READ, NULL, &hkey, NULL)) + { + win_skip("reg.exe is not running with elevated privileges; " + "skipping Windows 3.1 import tests\n"); + return; + } + RegCloseKey(hkey); + RegDeleteKeyA(HKEY_CLASSES_ROOT, KEY_BASE); + } /* Test simple value */ test_import_str("REGEDIT\r\n" "HKEY_CLASSES_ROOT\\" KEY_BASE " = Value0\r\n", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + open_key(HKEY_CLASSES_ROOT, KEY_BASE, KEY_SET_VALUE, &hkey); verify_reg(hkey, "", REG_SZ, "Value0", 7, 0); /* Test proper handling of spaces and equals signs */ diff --git a/sdk/tools/winesync/reg.cfg b/sdk/tools/winesync/reg.cfg index f80ded2a20a..2231ec227a9 100644 --- a/sdk/tools/winesync/reg.cfg +++ b/sdk/tools/winesync/reg.cfg @@ -4,4 +4,4 @@ directories: files: programs/reg/resource.h: base/applications/cmdutils/reg/resource.h tags: - wine: b369af9ac5861f0ec49933ef657a53feeafefc21 + wine: 17023a8100a62852bbad342e5e7c705cafae9a1f