30static const char msifile[] =
"winetest-format.msi";
38 sprintf(szPackage,
"#%lu", hdb);
82 "Installation Database");
86 "Installation Database");
98 "{913B8D18-FBB6-4CAC-A239-C74C11E3FA74}");
132 skip(
"Not enough rights to perform tests\n");
154 ok( hrec,
"failed to create record\n");
160 ok( sz == 0,
"size wrong\n");
165 ok( hrec,
"failed to create record\n");
175 ok( sz == 16,
"size wrong\n");
179 ok( sz == 16,
"size wrong\n");
186 ok( hrec,
"failed to create record\n");
193 ok( sz == 24,
"size wrong\n");
208 ok( sz == 2,
"size wrong (%lu)\n",sz);
214 ok( sz == 2,
"size wrong\n");
223 ok( sz == 2,
"size wrong\n");
232 ok( sz == 2,
"size wrong\n");
241 ok( sz == 2,
"size wrong\n");
250 ok( sz == 2,
"size wrong\n");
259 ok( sz == 0,
"size wrong\n");
268 ok( sz == 7,
"size wrong\n");
281 ok( sz == 7,
"size wrong\n");
290 ok( sz == 21,
"size wrong\n");
291 ok( 0 ==
strcmp(
buffer,
"boo test [1] test [0]"),
"wrong output\n");
299 ok( sz == 30,
"size wrong %lu\n",sz);
301 "wrong output(%s)\n",
buffer);
311 ok( sz == 31,
"size wrong %lu\n",sz);
313 "wrong output(%s)\n",
buffer);
325 ok( sz == 7,
"size wrong,(%lu)\n",sz);
337 ok( sz == 9,
"size wrong,(%lu)\n",sz);
351 ok( sz == 7,
"size wrong,(%lu)\n",sz);
357 ok( hrec,
"failed to create record\n");
372 ok( sz == 7,
"size wrong,(%lu)\n",sz);
390 ok( sz == 7,
"size wrong,(%lu)\n",sz);
408 ok( sz == 10,
"size wrong,(%lu)\n",sz);
427 ok( sz == 18,
"size wrong,(%lu)\n",sz);
445 ok( sz == 11,
"size wrong,(%lu)\n",sz);
466 ok( sz == 6,
"size wrong,(%lu)\n",sz);
484 ok( sz == 8,
"size wrong,(%lu)\n",sz);
502 ok( sz == 10,
"size wrong,(%lu)\n",sz);
520 ok( sz == 12,
"size wrong,(%lu)\n",sz);
538 ok( sz == 4,
"size wrong,(%lu)\n",sz);
556 ok( sz == 18,
"size wrong,(%lu)\n",sz);
574 ok( sz == 18,
"size wrong,(%lu)\n",sz);
592 ok( sz == 16,
"size wrong,(%lu)\n",sz);
610 ok( sz == 0,
"size wrong,(%lu)\n",sz);
628 ok( sz == 12,
"size wrong,(%lu)\n",sz);
646 ok( sz == 15,
"size wrong,(%lu)\n",sz);
664 ok( sz == 15,
"size wrong,(%lu)\n",sz);
682 ok( sz == 22,
"size wrong,(%lu)\n",sz);
700 ok( sz == 13,
"size wrong,(%lu)\n",sz);
718 ok( sz == 3,
"size wrong,(%lu)\n",sz);
737 ok( sz == 3,
"size wrong,(%lu)\n",sz);
751 ok( sz == 16,
"size wrong\n");
764 ok( sz == 12,
"size wrong\n");
772 ok( sz == 4,
"size wrong: %lu\n", sz);
780 ok( sz == 4,
"size wrong: %lu\n", sz);
788 ok( sz == 7,
"size wrong: %lu\n", sz);
796 ok( sz == 20,
"size wrong: %lu\n", sz);
809 ok( sz == 18,
"size wrong\n");
821 ok( sz == 11,
"size wrong\n");
831 ok( sz == 6,
"size wrong\n");
838 ok( sz == 3,
"size wrong\n");
846 ok( sz == 2,
"size wrong\n");
855 ok( sz == 4,
"size wrong\n");
863 ok( sz == 4,
"size wrong\n");
871 ok( sz == 3,
"size wrong\n");
879 ok( sz == 0,
"size wrong\n");
891 ok( sz == 7,
"size wrong\n");
899 ok( sz == 0,
"size wrong\n");
907 ok( sz == 5,
"size wrong\n");
917 ok( sz == 7,
"size wrong\n");
927 ok( sz == 0,
"size wrong\n");
940 ok( sz == 6,
"size wrong\n");
950 ok( sz == 8,
"size wrong\n");
960 ok( sz == 0,
"size wrong\n");
970 ok( sz == 0,
"size wrong\n");
978 ok( sz == 0,
"size wrong\n");
986 ok( sz == 6,
"size wrong\n");
994 ok( sz == 0,
"size wrong\n");
1010 ok( sz == 0,
"size wrong\n");
1018 ok( sz == 3,
"size wrong\n");
1026 ok( sz == 2,
"size wrong\n");
1052 ok( sz == 4,
"size wrong\n");
1062 ok( sz == 3,
"size wrong\n");
1082 ok( sz == 4,
"size wrong\n");
1093 ok(sz == 4,
"Expected 4, got %lu\n", sz);
1102 ok( sz == 5,
"size wrong\n");
1112 ok( sz == 5,
"size wrong\n");
1121 ok( sz == 6,
"size wrong\n");
1131 ok( sz == 6,
"size wrong\n");
1141 ok( sz == 8,
"size wrong\n");
1151 ok( sz == 8,
"size wrong\n");
1161 ok( sz == 9,
"size wrong\n");
1171 ok( sz == 4,
"size wrong\n");
1179 ok( sz == 7,
"size wrong\n");
1187 ok( sz == 7,
"size wrong\n");
1199 ok( sz == 19,
"size wrong\n");
1200 ok( 0 ==
strcmp(
buffer,
"01{2{3{4hoo56}7}8}9"),
"wrong output\n");
1212 ok( sz == 9,
"size wrong\n");
1225 ok( sz == 9,
"size wrong\n");
1236 ok( sz == 9,
"size wrong\n");
1253 ok( sz == 9,
"size wrong\n");
1268 ok( sz == 2,
"size wrong\n");
1281 ok( sz == 3,
"size wrong\n");
1292 ok( sz == 3,
"size wrong\n");
1306 ok( sz == 3,
"size wrong\n");
1318 ok( sz == 11,
"size wrong\n");
1331 ok( sz == 12,
"size wrong: got %lu, expected 12\n", sz);
1342 ok( sz == 6,
"size wrong: got %lu, expected 3\n", sz);
1352 ok( sz == 13,
"size wrong\n");
1362 ok( sz == 14,
"size wrong\n");
1375 ok( sz == 5,
"size wrong\n");
1389 ok( sz == 5,
"size wrong\n");
1402 ok( sz == 6,
"size wrong\n");
1415 ok( sz == 14,
"size wrong\n");
1426 ok( sz == 6,
"size wrong\n");
1436 ok( sz == 4,
"size wrong\n");
1446 ok( sz == 4,
"size wrong\n");
1456 ok( sz == 4,
"size wrong\n");
1466 ok( sz == 2,
"size wrong\n");
1476 ok( sz == 2,
"size wrong\n");
1486 ok( sz == 2,
"size wrong\n");
1496 ok( sz == 9,
"size wrong\n");
1504 ok( sz == 5,
"size wrong\n");
1516 ok( sz == 12,
"size wrong\n");
1527 ok( sz == 6,
"size wrong(%lu)\n",sz);
1535 ok( sz == 23,
"size wrong(%lu)\n",sz);
1543 ok( sz == 23,
"size wrong(%lu)\n",sz);
1551 ok( sz == 7,
"size wrong(%lu)\n",sz);
1559 ok( sz == 14,
"size wrong(%lu)\n",sz);
1567 ok( sz == 15,
"size wrong(%lu)\n",sz);
1575 ok( sz == 5,
"size wrong(%lu)\n",sz);
1583 ok( sz == 0,
"size wrong(%lu)\n",sz);
1591 ok( sz == 0,
"size wrong(%lu)\n",sz);
1601 ok( sz == 7,
"size wrong(%lu)\n",sz);
1612 ok( sz == 1,
"size wrong(%lu)\n",sz);
1621 ok( sz == 0,
"size wrong(%lu)\n",sz);
1629 ok( sz == 0,
"size wrong(%lu)\n",sz);
1637 ok( sz == 7,
"size wrong(%lu)\n",sz);
1645 ok( sz == 6,
"size wrong(%lu)\n",sz);
1653 ok( sz == 6,
"size wrong(%lu)\n",sz);
1663 ok( sz == 2,
"size wrong(%lu)\n",sz);
1674 ok( sz == 8,
"size wrong(%lu)\n",sz);
1684 ok(sz == 33,
"Expected 33, got %lu\n",sz);
1686 "Expected \"one {[noprop] [twoprop]} {abcdef}\", got \"%s\"\n",
buffer);
1695 ok(sz == 29,
"Expected 29, got %lu\n",sz);
1697 "Expected \"one {[noprop] [one]} {abcdef}\", got \"%s\"\n",
buffer);
1706 ok(sz == 20,
"Expected 20, got %lu\n",sz);
1708 "Expected \"one {[one]} {abcdef}\", got \"%s\"\n",
buffer);
1724 skip(
"Not enough rights to perform tests\n");
1730 ok( hrec,
"failed to create record\n");
1768 ok( sz == 51,
"size wrong (%lu)\n",sz);
1769 ok( 0 ==
strcmp(
buffer,
"1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: "),
"wrong output(%s)\n",
buffer);
1791 ok( sz == 66,
"size wrong (%lu)\n",sz);
1793 "1: [2] 2: stuff 3: prop 4: val 5: 6: 7: 8: 9: 10: 11: 12: "),
1794 "wrong output(%s)\n",
buffer);
1807 ok( sz == 9,
"size wrong(%lu)\n",sz);
1819 ok( sz == 9,
"size wrong(%lu)\n",sz);
1826 ok( sz == 1,
"size wrong: %lu\n", sz);
1833 ok( sz == 4,
"size wrong: %lu\n", sz);
1840 ok( sz == 0,
"size wrong: %lu\n", sz);
1847 ok( sz == 0,
"size wrong: %lu\n", sz);
1854 ok(sz == 2,
"Expected 2, got %lu\n", sz);
1861 ok(sz == 3,
"Expected 3, got %lu\n", sz);
1868 ok(sz == 1,
"Expected 1, got %lu\n", sz);
1875 ok(sz == 3,
"Expected 3, got %lu\n", sz);
1882 ok(sz == 2,
"Expected 2, got %lu\n", sz);
1889 ok(sz == 1,
"Expected 1, got %lu\n", sz);
1898 ok(sz == 1,
"Expected 1, got %lu\n", sz);
1906 ok(sz == 3,
"Expected 3, got %lu\n", sz);
1913 ok(sz == 8,
"Expected 8, got %lu\n", sz);
1921 ok(sz == 1,
"Expected 1, got %lu\n", sz);
1928 ok(sz == 1,
"Expected 1, got %lu\n", sz);
1935 ok(sz == 6,
"Expected 6, got %lu\n", sz);
1942 ok(sz == 6,
"Expected 6, got %lu\n", sz);
1949 ok( sz == 14,
"size wrong: %lu\n", sz);
1962 ok( sz == 9,
"size wrong: %lu\n", sz);
1965 "Expected \" hoo\", got \"%s\"\n", &
buffer[5]);
1976 ok(sz == 8,
"Expected 8, got %lu\n", sz);
1991 ok( sz == 12,
"size wrong\n");
2003 ok( sz == 8,
"size wrong\n");
2024 ok( sz == 12,
"size wrong(%lu)\n",sz);
2044 ok( sz == 9,
"size wrong(%lu)\n",sz);
2067 ok( sz == 10,
"size wrong(%lu)\n",sz);
2083 ok( sz == 11,
"size wrong(%lu)\n",sz);
2098 ok( sz == 9,
"size wrong(%lu)\n",sz);
2109 ok( sz == 7,
"size wrong(%lu)\n",sz);
2119 ok( sz == 5,
"size wrong(%lu)\n",sz);
2129 ok( sz == 0,
"size wrong(%lu)\n",sz);
2139 ok( sz == 7,
"size wrong(%lu)\n",sz);
2149 ok( sz == 5,
"size wrong(%lu)\n",sz);
2159 ok( sz == 8,
"size wrong(%lu)\n",sz);
2167 ok( sz == 6,
"size wrong(%lu)\n",sz);
2176 ok( sz == 25,
"size wrong(%lu)\n",sz);
2186 ok( sz == 0,
"size wrong(%lu)\n",sz);
2194 ok( sz == 0,
"size wrong(%lu)\n",sz);
2204 ok( sz == 14,
"size wrong(%lu)\n",sz);
2215 ok( sz == 15,
"size wrong(%lu)\n",sz);
2224 ok( sz == 5,
"size wrong(%lu)\n",sz);
2233 ok( sz == 0,
"size wrong(%lu)\n",sz);
2241 ok(sz == 13,
"Expected 13, got %lu\n",sz);
2243 "Expected \"one {abcdef}\", got \"%s\"\n",
buffer);
2250 ok(sz == 13,
"Expected 13, got %lu\n",sz);
2252 "Expected \"one {abcdef}\", got \"%s\"\n",
buffer);
2259 ok(sz == 20,
"Expected 20, got %lu\n",sz);
2261 "Expected \"one mercury {abcdef}\", got \"%s\"\n",
buffer);
2281 skip(
"Not enough rights to perform tests\n");
2287 ok( hrec,
"failed to create record\n");
2293 ok(
r ==
IDOK,
"expected IDOK, got %i\n",
r);
2296 ok(
r ==
IDOK,
"expected IDOK, got %i\n",
r);
2299 ok(
r == 0,
"expected 0, got %i\n",
r);
2302 ok(
r == -1,
"expected -1, got %i\n",
r);
2310 ok(
r ==
IDOK,
"expected IDOK, got %i\n",
r);
2316 ok(
r ==
IDOK,
"expected IDOK, got %i\n",
r);
2321 ok(
r == -1,
"expected -1, got %i\n",
r);
2329 ok(
r == 0,
"expected 0, got %i\n",
r);
int strcmp(const char *String1, const char *String2)
static const WCHAR nameW[]
static const CHAR suminfo[]
#define ERROR_INVALID_PARAMETER
#define ERROR_INVALID_HANDLE
#define MultiByteToWideChar
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableA(IN LPCSTR lpName, IN LPCSTR lpValue)
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
UINT WINAPI MsiOpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIHANDLE *phDB)
UINT WINAPI MsiCloseHandle(MSIHANDLE handle)
INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL dwUILevel, HWND *phWnd)
UINT WINAPI MsiOpenPackageA(LPCSTR szPackage, MSIHANDLE *phPackage)
UINT WINAPI MsiSetPropertyA(MSIHANDLE hInstall, LPCSTR szName, LPCSTR szValue)
INT WINAPI MsiProcessMessage(MSIHANDLE hInstall, INSTALLMESSAGE eMessageType, MSIHANDLE hRecord)
MSIHANDLE WINAPI MsiCreateRecord(UINT cParams)
UINT WINAPI MsiRecordSetInteger(MSIHANDLE handle, UINT iField, int iVal)
UINT WINAPI MsiRecordSetStringA(MSIHANDLE handle, UINT iField, const char *szValue)
UINT WINAPI MsiSummaryInfoSetPropertyA(MSIHANDLE handle, UINT uiProperty, UINT uiDataType, INT iValue, FILETIME *pftValue, const char *szValue)
UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE hDatabase, const char *szDatabase, UINT uiUpdateCount, MSIHANDLE *pHandle)
UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE handle)
GLdouble GLdouble GLdouble r
#define sprintf(buf, format,...)
@ INSTALLMESSAGE_ACTIONSTART
@ INSTALLMESSAGE_PROGRESS
@ INSTALLMESSAGE_COMMONDATA
@ INSTALLMESSAGE_INITIALIZE
@ INSTALLUILEVEL_PROGRESSONLY
UINT WINAPI MsiDatabaseCommit(MSIHANDLE hdb)
#define MSIDBOPEN_CREATEDIRECT
static const WCHAR szName[]
#define ERROR_INSTALL_PACKAGE_REJECTED