80 ok(
hr ==
S_OK,
"Expected S_OK, got %#lx\n",
hr);
83 ok(
size == 39,
"Expected 39, got %#lx\n",
hr);
121 ok_(__FILE__,
line)(
FALSE,
"Key doesn't exist or wrong type\n");
126 ok_(__FILE__,
line)(!
val[0],
"Expected empty string, got %s\n",
val);
136#define CHECK_REG_STR(prodkey, name, expected) \
137 check_reg_str(prodkey, name, expected, TRUE, __LINE__);
162 skip(
"User SID not available -> skipping MsiSourceListGetInfoA tests\n");
241 "Expected ERROR_UNKNOWN_PRODUCT or ERROR_INVALID_PARAMETER, got %d\n",
r);
243 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
269 data =
"msitest.msi";
278 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
288 ok(
size == 11,
"Expected 11, got %lu\n",
size);
296 ok(
size == 11,
"Expected 11, got %lu\n",
size);
334 ok(
size == 11,
"Expected 11, got %lu\n",
size);
552 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Patches\\");
603 skip(
"process is limited\n");
610 skip(
"User SID not available -> skipping MsiSourceListAddSourceExA tests\n");
652 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
679 ok(
size == 11,
"Expected 11, got %lu\n",
size);
690 ok(
size == 11,
"Expected 11, got %lu\n",
size);
713 ok(
size == 11,
"Expected 11, got %lu\n",
size);
736 ok(
size == 11,
"Expected 11, got %lu\n",
size);
779 ok(
size == 11,
"Expected 11, got %lu\n",
size);
814 ok(
size == 11,
"Expected 11, got %lu\n",
size);
841 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
843 lstrcatA(keypath,
"\\Installer\\Products\\");
849 skip(
"Product key creation failed with error code %ld\n",
res);
874 ok(
size == 11,
"Expected 11, got %lu\n",
size);
891 ok(
size == 11,
"Expected 11, got %lu\n",
size);
914 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
920 skip(
"Product key creation failed with error code %ld\n",
res);
938 skip(
"MsiSourceListAddSourceEx (insufficient privileges)\n");
950 ok(
size == 11,
"Expected 11, got %lu\n",
size);
967 HKEY prodkey, userkey;
975 skip(
"User SID not available -> skipping MsiSourceListEnumSourcesA tests\n");
989 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n",
size);
996 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n",
size);
1003 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n",
size);
1011 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n",
size);
1019 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n",
size);
1031 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
1086 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1095 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1114 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1139 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1148 ok(
size == 6,
"Expected 6, got %lu\n",
size);
1184 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1259 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1279 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
1281 lstrcatA(keypath,
"\\Installer\\Products\\");
1287 skip(
"Product key creation failed with error code %ld\n",
res);
1334 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1343 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1380 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1411 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
1417 skip(
"Product key creation failed with error code %ld\n",
res);
1465 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1474 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1511 ok(
size == 5,
"Expected 5, got %lu\n",
size);
1528 HKEY prodkey, userkey;
1537 skip(
"process is limited\n");
1544 skip(
"User SID not available -> skipping MsiSourceListSetInfoA tests\n");
1622 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
1802 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
1804 lstrcatA(keypath,
"\\Installer\\Products\\");
1810 skip(
"Product key creation failed with error code %ld\n",
res);
1843 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
1849 skip(
"Product key creation failed with error code %ld\n",
res);
1867 skip(
"MsiSourceListSetInfo (insufficient privileges)\n");
1898 HKEY prodkey, userkey;
1907 skip(
"process is limited\n");
1914 skip(
"User SID not available -> skipping MsiSourceListAddMediaDiskA tests\n");
1954 1,
"label",
"prompt");
1961 1,
"label",
"prompt");
1968 1,
"label",
"prompt");
1973 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
2088 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
2090 lstrcatA(keypath,
"\\Installer\\Products\\");
2096 skip(
"Product key creation failed with error code %ld\n",
res);
2130 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
2136 skip(
"Product key creation failed with error code %ld\n",
res);
2154 skip(
"MsiSourceListAddMediaDisk (insufficient privileges)\n");
2198 skip(
"User SID not available -> skipping MsiSourceListEnumMediaDisksA tests\n");
2208 labelsz =
sizeof(
label);
2209 promptsz =
sizeof(prompt);
2215 labelsz =
sizeof(
label);
2216 promptsz =
sizeof(prompt);
2222 labelsz =
sizeof(
label);
2223 promptsz =
sizeof(prompt);
2229 labelsz =
sizeof(
label);
2230 promptsz =
sizeof(prompt);
2237 labelsz =
sizeof(
label);
2238 promptsz =
sizeof(prompt);
2245 labelsz =
sizeof(
label);
2246 promptsz =
sizeof(prompt);
2249 0, &
id,
label, &labelsz, prompt, &promptsz);
2253 labelsz =
sizeof(
label);
2254 promptsz =
sizeof(prompt);
2257 0, &
id,
label, &labelsz, prompt, &promptsz);
2261 labelsz =
sizeof(
label);
2262 promptsz =
sizeof(prompt);
2269 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
2276 labelsz =
sizeof(
label);
2277 promptsz =
sizeof(prompt);
2288 labelsz = 0xdeadbeef;
2290 promptsz = 0xdeadbeef;
2294 ok(
id == 0xbeef,
"Expected 0xbeef, got %lu\n",
id);
2296 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n", labelsz);
2297 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2298 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n", promptsz);
2306 labelsz = 0xdeadbeef;
2308 promptsz = 0xdeadbeef;
2312 ok(
id == 0xbeef,
"Expected 0xbeef, got %lu\n",
id);
2314 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n", labelsz);
2315 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2316 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %lu\n", promptsz);
2330 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2332 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2333 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2334 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2346 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2349 ok(
id == 2,
"Expected 2, got %lu\n",
id);
2350 ok(labelsz == 3,
"Expected 3, got %lu\n", labelsz);
2351 ok(promptsz == 3,
"Expected 3, got %lu\n", promptsz);
2363 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2366 ok(
id == 2,
"Expected 2, got %lu\n",
id);
2368 ok(labelsz == 3,
"Expected 3, got %lu\n", labelsz);
2369 ok(!
lstrcmpA(prompt,
"two"),
"Expected \"two\", got \"%s\"\n", prompt);
2370 ok(promptsz == 3,
"Expected 3, got %lu\n", promptsz);
2374 ok(
id == 0xbeef,
"Expected 0xbeef, got %lu\n",
id);
2376 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", labelsz);
2377 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2378 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", promptsz);
2393 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2395 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2396 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2397 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2408 ok(
id == 2,
"Expected 2, got %lu\n",
id);
2410 ok(labelsz == 3,
"Expected 3, got %lu\n", labelsz);
2411 ok(!
lstrcmpA(prompt,
"two"),
"Expected \"two\", got \"%s\"\n", prompt);
2412 ok(promptsz == 3,
"Expected 3, got %lu\n", promptsz);
2423 ok(
id == 4,
"Expected 4, got %lu\n",
id);
2425 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2426 ok(!
lstrcmpA(prompt,
"four"),
"Expected \"four\", got \"%s\"\n", prompt);
2427 ok(promptsz == 4,
"Expected 4, got %lu\n", promptsz);
2438 ok(
id == 0xbeef,
"Expected 0xbeef, got %lu\n",
id);
2440 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", labelsz);
2441 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2442 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", promptsz);
2453 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2455 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2456 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2457 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2468 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2470 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2471 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2472 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2483 ok(
id == 0xbeef,
"Expected 0xbeef, got %lu\n",
id);
2485 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", labelsz);
2486 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2487 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", promptsz);
2498 ok(
id == 2,
"Expected 2, got %lu\n",
id);
2500 ok(labelsz == 3,
"Expected 3, got %lu\n", labelsz);
2501 ok(!
lstrcmpA(prompt,
"two"),
"Expected \"two\", got \"%s\"\n", prompt);
2502 ok(promptsz == 3,
"Expected 3, got %lu\n", promptsz);
2513 ok(
id == 0xbeef,
"Expected 0xbeef, got %lu\n",
id);
2515 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", labelsz);
2516 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2517 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", promptsz);
2528 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2529 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2530 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2540 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2543 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2544 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2545 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2546 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2556 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2557 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2558 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2568 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2571 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2573 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2574 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2587 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2589 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2590 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2600 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2602 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2612 ok(
id == 0xbeef,
"Expected 0xbeef, got %lu\n",
id);
2614 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %lu\n", labelsz);
2615 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2624 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2631 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2642 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2643 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2644 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2655 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2656 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2657 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2671 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2673 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2674 ok(!
lstrcmpA(prompt,
"label"),
"Expected \"label\", got \"%s\"\n", prompt);
2675 ok(promptsz == 5,
"Expected 5, got %lu\n", promptsz);
2689 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2691 ok(labelsz == 5,
"Expected 5, got %lu\n", labelsz);
2692 ok(!
lstrcmpA(prompt,
""),
"Expected \"\", got \"%s\"\n", prompt);
2693 ok(promptsz == 0,
"Expected 0, got %lu\n", promptsz);
2707 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2709 ok(labelsz == 0,
"Expected 0, got %lu\n", labelsz);
2710 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2711 ok(promptsz == 6,
"Expected 6, got %lu\n", promptsz);
2725 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2727 ok(labelsz == 0,
"Expected 0, got %lu\n", labelsz);
2728 ok(!
lstrcmpA(prompt,
""),
"Expected \"\", got \"%s\"\n", prompt);
2729 ok(promptsz == 0,
"Expected 0, got %lu\n", promptsz);
2744 ok(
id == 1,
"Expected 1, got %lu\n",
id);
2746 ok(labelsz == 3,
"Expected 3, got %lu\n", labelsz);
2747 ok(!
lstrcmpA(prompt,
"#42"),
"Expected \"#42\", got \"%s\"\n", prompt);
2748 ok(promptsz == 3,
"Expected 3, got %lu\n", promptsz);
2762 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
2764 lstrcatA(keypath,
"\\Installer\\Products\\");
2770 skip(
"Product key creation failed with error code %ld\n",
res);