21 #define _WIN32_MSI 300 42 static UINT (
WINAPI *pMsiSourceListAddMediaDiskA)
44 static UINT (
WINAPI *pMsiSourceListAddSourceExA)
46 static UINT (
WINAPI *pMsiSourceListEnumMediaDisksA)
49 static UINT (
WINAPI *pMsiSourceListEnumSourcesA)
65 #define GET_PROC(dll, func) \ 66 p ## func = (void *)GetProcAddress(dll, #func); \ 68 trace("GetProcAddress(%s) failed\n", #func); 128 ok(
hr ==
S_OK,
"Expected S_OK, got %d\n",
hr);
131 ok(
size == 39,
"Expected 39, got %d\n",
hr);
143 char *usersid =
NULL;
145 if (!pConvertSidToStringSidA)
147 win_skip(
"ConvertSidToStringSidA is not available\n");
155 pConvertSidToStringSidA(
user->User.Sid, &usersid);
174 ok_(__FILE__,
line)(
FALSE,
"Key doesn't exist or wrong type\n");
179 ok_(__FILE__,
line)(!
val[0],
"Expected empty string, got %s\n",
val);
189 #define CHECK_REG_STR(prodkey, name, expected) \ 190 check_reg_str(prodkey, name, expected, TRUE, __LINE__); 205 if (!pMsiSourceListGetInfoA)
207 win_skip(
"Skipping MsiSourceListGetInfoA tests\n");
214 skip(
"User SID not available -> skipping MsiSourceListGetInfoA tests\n");
293 "Expected ERROR_UNKNOWN_PRODUCT or ERROR_INVALID_PARAMETER, got %d\n",
r);
295 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
321 data =
"msitest.msi";
330 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
340 ok(
size == 11,
"Expected 11, got %d\n",
size);
348 ok(
size == 11,
"Expected 11, got %d\n",
size);
386 ok(
size == 11,
"Expected 11, got %d\n",
size);
604 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Patches\\");
642 if (pRegDeleteKeyExA)
643 return pRegDeleteKeyExA(
key, subkey,
access, 0 );
660 if (!pMsiSourceListAddSourceExA)
662 win_skip(
"Skipping MsiSourceListAddSourceExA tests\n");
669 skip(
"User SID not available -> skipping MsiSourceListAddSourceExA tests\n");
694 r = pMsiSourceListAddSourceExA(
"51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA", usersid,
700 r = pMsiSourceListAddSourceExA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}", usersid,
707 r = pMsiSourceListAddSourceExA(prodcode, usersid,
712 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
719 r = pMsiSourceListAddSourceExA(prodcode, usersid,
729 r = pMsiSourceListAddSourceExA(prodcode, usersid,
741 ok(
size == 11,
"Expected 11, got %d\n",
size);
744 r = pMsiSourceListAddSourceExA(prodcode, usersid,
753 ok(
size == 11,
"Expected 11, got %d\n",
size);
762 r = pMsiSourceListAddSourceExA(prodcode, usersid,
777 ok(
size == 11,
"Expected 11, got %d\n",
size);
786 r = pMsiSourceListAddSourceExA(prodcode, usersid,
801 ok(
size == 11,
"Expected 11, got %d\n",
size);
816 r = pMsiSourceListAddSourceExA(prodcode, usersid,
831 r = pMsiSourceListAddSourceExA(prodcode, usersid,
846 ok(
size == 11,
"Expected 11, got %d\n",
size);
867 r = pMsiSourceListAddSourceExA(prodcode,
NULL,
882 ok(
size == 11,
"Expected 11, got %d\n",
size);
885 r = pMsiSourceListAddSourceExA(prodcode, usersid,
890 r = pMsiSourceListAddSourceExA(prodcode, usersid,
896 r = pMsiSourceListAddSourceExA(prodcode, usersid,
902 r = pMsiSourceListAddSourceExA(prodcode, usersid,
909 r = pMsiSourceListAddSourceExA(prodcode, usersid,
914 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
916 lstrcatA(keypath,
"\\Installer\\Products\\");
922 skip(
"Product key creation failed with error code %u\n",
res);
927 r = pMsiSourceListAddSourceExA(prodcode, usersid,
937 r = pMsiSourceListAddSourceExA(prodcode, usersid,
949 ok(
size == 11,
"Expected 11, got %d\n",
size);
955 r = pMsiSourceListAddSourceExA(prodcode,
NULL,
967 ok(
size == 11,
"Expected 11, got %d\n",
size);
982 r = pMsiSourceListAddSourceExA(prodcode, usersid,
987 r = pMsiSourceListAddSourceExA(prodcode,
NULL,
992 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
998 skip(
"Product key creation failed with error code %u\n",
res);
1004 r = pMsiSourceListAddSourceExA(prodcode,
NULL,
1014 r = pMsiSourceListAddSourceExA(prodcode,
NULL,
1018 skip(
"MsiSourceListAddSourceEx (insufficient privileges)\n");
1030 ok(
size == 11,
"Expected 11, got %d\n",
size);
1047 HKEY prodkey, userkey;
1052 if (!pMsiSourceListEnumSourcesA)
1054 win_skip(
"MsiSourceListEnumSourcesA is not available\n");
1061 skip(
"User SID not available -> skipping MsiSourceListEnumSourcesA tests\n");
1075 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n",
size);
1082 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n",
size);
1089 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n",
size);
1093 r = pMsiSourceListEnumSourcesA(
"51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA",
1097 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n",
size);
1101 r = pMsiSourceListEnumSourcesA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}",
1105 ok(
size == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n",
size);
1111 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1118 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
1127 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1140 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1153 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1172 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1182 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1190 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1196 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1204 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1213 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1222 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1226 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1233 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1243 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1253 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1257 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1264 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1274 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1278 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1285 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1295 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1305 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1315 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1326 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1343 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1356 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1369 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1388 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1395 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
1397 lstrcatA(keypath,
"\\Installer\\Products\\");
1403 skip(
"Product key creation failed with error code %u\n",
res);
1410 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1423 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1436 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1449 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1459 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1473 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1486 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1499 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1520 r = pMsiSourceListEnumSourcesA(prodcode, usersid,
1530 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1537 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
1543 skip(
"Product key creation failed with error code %u\n",
res);
1551 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1564 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1577 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1590 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1600 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1614 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1627 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1640 r = pMsiSourceListEnumSourcesA(prodcode,
NULL,
1662 HKEY prodkey, userkey;
1669 if (!pMsiSourceListSetInfoA)
1671 win_skip(
"MsiSourceListSetInfoA is not available\n");
1678 skip(
"User SID not available -> skipping MsiSourceListSetInfoA tests\n");
1692 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1699 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1702 r = pMsiSourceListSetInfoA(
"garbage", usersid,
1707 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1710 r = pMsiSourceListSetInfoA(
"51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA",
1715 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1718 r = pMsiSourceListSetInfoA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}",
1723 "Expected ERROR_UNKNOWN_PRODUCT, got %d\n",
r);
1726 r = pMsiSourceListSetInfoA(prodcode, usersid,
1730 "Expected ERROR_UNKNOWN_PRODUCT, got %d\n",
r);
1733 r = pMsiSourceListSetInfoA(prodcode, usersid,
1739 r = pMsiSourceListSetInfoA(prodcode, usersid,
1746 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1751 "Expected ERROR_UNKNOWN_PRODUCT, got %d\n",
r);
1756 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1761 "Expected ERROR_UNKNOWN_PRODUCT, got %d\n",
r);
1764 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1768 "Expected ERROR_UNKNOWN_PRODUCT, got %d\n",
r);
1772 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
1779 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1783 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
1789 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1800 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1807 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1811 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1814 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1818 "Expected ERROR_UNKNOWN_PROPERTY, got %d\n",
r);
1821 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1825 "Expected ERROR_UNKNOWN_PROPERTY, got %d\n",
r);
1828 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1835 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1840 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1843 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1848 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1851 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1858 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1863 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1866 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1871 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1874 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1878 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1881 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1894 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1904 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1917 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1927 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1932 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1935 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1942 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1947 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1950 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1955 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
1958 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1962 "Expected ERROR_UNKNOWN_PROPERTY, got %d\n",
r);
1965 r = pMsiSourceListSetInfoA(prodcode,
NULL,
1969 "Expected ERROR_UNKNOWN_PROPERTY, got %d\n",
r);
1989 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
1991 lstrcatA(keypath,
"\\Installer\\Products\\");
1997 skip(
"Product key creation failed with error code %u\n",
res);
2002 r = pMsiSourceListSetInfoA(prodcode,
NULL,
2006 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
2012 r = pMsiSourceListSetInfoA(prodcode,
NULL,
2033 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
2039 skip(
"Product key creation failed with error code %u\n",
res);
2045 r = pMsiSourceListSetInfoA(prodcode,
NULL,
2049 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
2055 r = pMsiSourceListSetInfoA(prodcode,
NULL,
2060 skip(
"MsiSourceListSetInfo (insufficient privileges)\n");
2071 r = pMsiSourceListSetInfoA(prodcode, usersid,
2075 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2093 HKEY prodkey, userkey;
2100 if (!pMsiSourceListAddMediaDiskA)
2102 win_skip(
"MsiSourceListAddMediaDiskA is not available\n");
2109 skip(
"User SID not available -> skipping MsiSourceListAddMediaDiskA tests\n");
2122 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2128 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2134 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2137 r = pMsiSourceListAddMediaDiskA(
"51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA",
2141 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2144 r = pMsiSourceListAddMediaDiskA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}",
2148 "Expected ERROR_UNKNOWN_PRODUCT, got %d\n",
r);
2151 r = pMsiSourceListAddMediaDiskA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}",
2154 1,
"label",
"prompt");
2156 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2159 r = pMsiSourceListAddMediaDiskA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}",
2162 1,
"label",
"prompt");
2164 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2167 r = pMsiSourceListAddMediaDiskA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}",
2170 1,
"label",
"prompt");
2172 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2176 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
2183 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2187 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
2193 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2205 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2214 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2224 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2235 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2246 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2257 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2261 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2264 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2275 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2279 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2282 r = pMsiSourceListAddMediaDiskA(prodcode,
NULL,
2305 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
2307 lstrcatA(keypath,
"\\Installer\\Products\\");
2313 skip(
"Product key creation failed with error code %u\n",
res);
2318 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2322 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
2328 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2350 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
2356 skip(
"Product key creation failed with error code %u\n",
res);
2362 r = pMsiSourceListAddMediaDiskA(prodcode,
NULL,
2366 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
2372 r = pMsiSourceListAddMediaDiskA(prodcode,
NULL,
2377 skip(
"MsiSourceListAddMediaDisk (insufficient privileges)\n");
2389 r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
2393 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2420 if (!pMsiSourceListEnumMediaDisksA)
2422 win_skip(
"MsiSourceListEnumMediaDisksA is not available\n");
2429 skip(
"User SID not available -> skipping MsiSourceListEnumMediaDisksA tests\n");
2439 labelsz =
sizeof(
label);
2440 promptsz =
sizeof(prompt);
2445 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2448 labelsz =
sizeof(
label);
2449 promptsz =
sizeof(prompt);
2454 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2457 labelsz =
sizeof(
label);
2458 promptsz =
sizeof(prompt);
2463 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2466 labelsz =
sizeof(
label);
2467 promptsz =
sizeof(prompt);
2468 r = pMsiSourceListEnumMediaDisksA(
"51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA",
2473 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2476 labelsz =
sizeof(
label);
2477 promptsz =
sizeof(prompt);
2478 r = pMsiSourceListEnumMediaDisksA(
"{51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA}",
2483 "Expected ERROR_UNKNOWN_PRODUCT, got %d\n",
r);
2486 labelsz =
sizeof(
label);
2487 promptsz =
sizeof(prompt);
2490 0, &
id,
label, &labelsz,
2493 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2496 labelsz =
sizeof(
label);
2497 promptsz =
sizeof(prompt);
2500 0, &
id,
label, &labelsz,
2503 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2506 labelsz =
sizeof(
label);
2507 promptsz =
sizeof(prompt);
2512 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2516 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
2523 labelsz =
sizeof(
label);
2524 promptsz =
sizeof(prompt);
2529 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
2537 labelsz = 0xdeadbeef;
2539 promptsz = 0xdeadbeef;
2544 "Expected ERROR_NO_MORE_ITEMS, got %d\n",
r);
2545 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
2547 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", labelsz);
2548 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2549 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", promptsz);
2557 labelsz = 0xdeadbeef;
2559 promptsz = 0xdeadbeef;
2564 "Expected ERROR_NO_MORE_ITEMS, got %d\n",
r);
2565 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
2567 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", labelsz);
2568 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2569 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", promptsz);
2584 ok(
id == 1,
"Expected 1, got %d\n",
id);
2586 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2587 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2588 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2601 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2604 ok(
id == 2,
"Expected 2, got %d\n",
id);
2605 ok(labelsz == 3,
"Expected 3, got %d\n", labelsz);
2606 ok(promptsz == 3,
"Expected 3, got %d\n", promptsz);
2619 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2622 ok(
id == 2,
"Expected 2, got %d\n",
id);
2624 ok(labelsz == 3,
"Expected 3, got %d\n", labelsz);
2625 ok(!
lstrcmpA(prompt,
"two"),
"Expected \"two\", got \"%s\"\n", prompt);
2626 ok(promptsz == 3,
"Expected 3, got %d\n", promptsz);
2630 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
2632 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", labelsz);
2633 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2634 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", promptsz);
2650 ok(
id == 1,
"Expected 1, got %d\n",
id);
2652 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2653 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2654 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2666 ok(
id == 2,
"Expected 2, got %d\n",
id);
2668 ok(labelsz == 3,
"Expected 3, got %d\n", labelsz);
2669 ok(!
lstrcmpA(prompt,
"two"),
"Expected \"two\", got \"%s\"\n", prompt);
2670 ok(promptsz == 3,
"Expected 3, got %d\n", promptsz);
2682 ok(
id == 4,
"Expected 4, got %d\n",
id);
2684 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2685 ok(!
lstrcmpA(prompt,
"four"),
"Expected \"four\", got \"%s\"\n", prompt);
2686 ok(promptsz == 4,
"Expected 4, got %d\n", promptsz);
2698 "Expected ERROR_NO_MORE_ITEMS, got %d\n",
r);
2699 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
2701 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", labelsz);
2702 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2703 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", promptsz);
2715 ok(
id == 1,
"Expected 1, got %d\n",
id);
2717 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2718 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2719 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2731 ok(
id == 1,
"Expected 1, got %d\n",
id);
2733 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2734 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2735 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2747 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
2749 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", labelsz);
2750 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2751 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", promptsz);
2763 ok(
id == 2,
"Expected 2, got %d\n",
id);
2765 ok(labelsz == 3,
"Expected 3, got %d\n", labelsz);
2766 ok(!
lstrcmpA(prompt,
"two"),
"Expected \"two\", got \"%s\"\n", prompt);
2767 ok(promptsz == 3,
"Expected 3, got %d\n", promptsz);
2779 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
2781 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", labelsz);
2782 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2783 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", promptsz);
2795 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2796 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2797 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2808 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2811 ok(
id == 1,
"Expected 1, got %d\n",
id);
2812 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2813 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2814 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2825 ok(
id == 1,
"Expected 1, got %d\n",
id);
2826 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2827 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2838 "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n",
r);
2841 ok(
id == 1,
"Expected 1, got %d\n",
id);
2843 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2844 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2858 ok(
id == 1,
"Expected 1, got %d\n",
id);
2860 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2861 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2872 ok(
id == 1,
"Expected 1, got %d\n",
id);
2874 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2885 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
2886 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
2888 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", labelsz);
2889 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2899 ok(
id == 1,
"Expected 1, got %d\n",
id);
2907 ok(
id == 1,
"Expected 1, got %d\n",
id);
2919 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2920 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2921 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2933 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2934 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
2935 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
2950 ok(
id == 1,
"Expected 1, got %d\n",
id);
2952 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2953 ok(!
lstrcmpA(prompt,
"label"),
"Expected \"label\", got \"%s\"\n", prompt);
2954 ok(promptsz == 5,
"Expected 5, got %d\n", promptsz);
2969 ok(
id == 1,
"Expected 1, got %d\n",
id);
2971 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
2972 ok(!
lstrcmpA(prompt,
""),
"Expected \"\", got \"%s\"\n", prompt);
2973 ok(promptsz == 0,
"Expected 0, got %d\n", promptsz);
2988 ok(
id == 1,
"Expected 1, got %d\n",
id);
2990 ok(labelsz == 0,
"Expected 0, got %d\n", labelsz);
2991 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
2992 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
3007 ok(
id == 1,
"Expected 1, got %d\n",
id);
3009 ok(labelsz == 0,
"Expected 0, got %d\n", labelsz);
3010 ok(!
lstrcmpA(prompt,
""),
"Expected \"\", got \"%s\"\n", prompt);
3011 ok(promptsz == 0,
"Expected 0, got %d\n", promptsz);
3027 ok(
id == 1,
"Expected 1, got %d\n",
id);
3029 ok(labelsz == 3,
"Expected 3, got %d\n", labelsz);
3030 ok(!
lstrcmpA(prompt,
"#42"),
"Expected \"#42\", got \"%s\"\n", prompt);
3031 ok(promptsz == 3,
"Expected 3, got %d\n", promptsz);
3045 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
3047 lstrcatA(keypath,
"\\Installer\\Products\\");
3053 skip(
"Product key creation failed with error code %u\n",
res);
3062 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
3070 labelsz = 0xdeadbeef;
3072 promptsz = 0xdeadbeef;
3077 "Expected ERROR_NO_MORE_ITEMS, got %d\n",
r);
3078 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
3080 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", labelsz);
3081 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
3082 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", promptsz);
3090 labelsz = 0xdeadbeef;
3092 promptsz = 0xdeadbeef;
3097 "Expected ERROR_NO_MORE_ITEMS, got %d\n",
r);
3098 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
3100 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", labelsz);
3101 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
3102 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", promptsz);
3117 ok(
id == 2,
"Expected 2, got %d\n",
id);
3119 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
3120 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
3121 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
3134 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
3140 skip(
"Product key creation failed with error code %u\n",
res);
3150 "Expected ERROR_BAD_CONFIGURATION, got %d\n",
r);
3158 labelsz = 0xdeadbeef;
3160 promptsz = 0xdeadbeef;
3165 "Expected ERROR_NO_MORE_ITEMS, got %d\n",
r);
3166 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
3168 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", labelsz);
3169 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
3170 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", promptsz);
3178 labelsz = 0xdeadbeef;
3180 promptsz = 0xdeadbeef;
3185 "Expected ERROR_NO_MORE_ITEMS, got %d\n",
r);
3186 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
3188 ok(labelsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", labelsz);
3189 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
3190 ok(promptsz == 0xdeadbeef,
"Expected 0xdeadbeef, got %d\n", promptsz);
3205 ok(
id == 2,
"Expected 2, got %d\n",
id);
3207 ok(labelsz == 5,
"Expected 5, got %d\n", labelsz);
3208 ok(!
lstrcmpA(prompt,
"prompt"),
"Expected \"prompt\", got \"%s\"\n", prompt);
3209 ok(promptsz == 6,
"Expected 6, got %d\n", promptsz);
3221 "Expected ERROR_INVALID_PARAMETER, got %d\n",
r);
3222 ok(
id == 0xbeef,
"Expected 0xbeef, got %d\n",
id);
3224 ok(labelsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", labelsz);
3225 ok(!
lstrcmpA(prompt,
"bbb"),
"Expected \"bbb\", got \"%s\"\n", prompt);
3226 ok(promptsz ==
MAX_PATH,
"Expected MAX_PATH, got %d\n", promptsz);
3251 if (!pMsiSourceListAddSourceA)
3253 win_skip(
"Skipping MsiSourceListAddSourceA tests\n");
3260 skip(
"User SID not available -> skipping MsiSourceListAddSourceA tests\n");
3266 if (pGetUserNameExA !=
NULL)
3288 r = pMsiSourceListAddSourceA(
"",
username, 0,
"source");
3292 r = pMsiSourceListAddSourceA(
"garbage",
username, 0,
"source");
3296 r = pMsiSourceListAddSourceA(
"51CD2AD5-0482-4C46-8DDD-0ED1022AA1AA",
username, 0,
"source");