38#define SQUASHED_GUID_SIZE (33)
41static const char msifile[] =
"winetest.msi";
47#define MEDIA_SIZE 0x7FFFFFFF
48#define FOLDER_THRESHOLD 900000
67 IStorage_Release(stg);
82 IStorage_Release(stg);
90 "Directory\tDirectory_Parent\tDefaultDir\n"
92 "Directory\tDirectory\n"
93 "MSITESTDIR\tProgramFilesFolder\tmsitest\n"
94 "ProgramFilesFolder\tTARGETDIR\t.\n"
95 "TARGETDIR\t\tSourceDir";
98 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
99 "s72\tS38\ts72\ti2\tS255\tS72\n"
100 "Component\tComponent\n"
101 "One\t{8F5BAEEF-DD92-40AC-9397-BE3CF9F97C81}\tMSITESTDIR\t2\tNOT REINSTALL\tone.txt\n";
104 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
105 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
107 "One\t\tOne\tOne\t1\t3\tMSITESTDIR\t0\n"
108 "Two\t\t\t\t2\t1\tTARGETDIR\t0\n";
111 "Feature_\tComponent_\n"
113 "FeatureComponents\tFeature_\tComponent_\n"
117 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
118 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
120 "one.txt\tOne\tone.txt\t1000\t\t\t0\t1\n";
123 "Action\tCondition\tSequence\n"
125 "InstallExecuteSequence\tAction\n"
126 "ValidateProductID\t\t700\n"
127 "CostInitialize\t\t800\n"
129 "CostFinalize\t\t1000\n"
130 "InstallValidate\t\t1400\n"
131 "InstallInitialize\t\t1500\n"
132 "ProcessComponents\t\t1600\n"
133 "UnpublishFeatures\t\t1800\n"
134 "RemoveFiles\t\t3500\n"
135 "InstallFiles\t\t4000\n"
136 "RegisterProduct\t\t6100\n"
137 "PublishFeatures\t\t6300\n"
138 "PublishProduct\t\t6400\n"
139 "InstallFinalize\t\t6600";
142 "DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
143 "i2\ti4\tL64\tS255\tS32\tS72\n"
145 "1\t1\t\t\tDISK1\t\n";
150 "Property\tProperty\n"
152 "Manufacturer\tWine\n"
153 "ProductCode\t{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}\n"
154 "ProductName\tMSITEST\n"
155 "ProductVersion\t1.1.1\n"
156 "UpgradeCode\t{9574448F-9B86-4E07-B6F6-8D199DA12127}\n"
157 "MSIFASTINSTALL\t1\n";
162 "Property\tProperty\n"
164 "Manufacturer\tWine\n"
165 "ProductCode\t{FF4AFE9C-6AC2-44F9-A060-9EA6BD16C75E}\n"
166 "ProductName\tMSITEST2\n"
167 "ProductVersion\t1.1.1\n"
168 "UpgradeCode\t{6B60C3CA-B8CA-4FB7-A395-092D98FF5D2A}\n"
169 "MSIFASTINSTALL\t1\n";
172 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
173 "s72\tS38\ts72\ti2\tS255\tS72\n"
174 "Component\tComponent\n"
175 "hydrogen\t{C844BD1E-1907-4C00-8BC9-150BD70DF0A1}\tMSITESTDIR\t2\t\thydrogen\n"
176 "helium\t{5AD3C142-CEF8-490D-B569-784D80670685}\tMSITESTDIR\t2\t\thelium\n"
177 "lithium\t{4AF28FFC-71C7-4307-BDE4-B77C5338F56F}\tMSITESTDIR\t2\tPROPVAR=42\tlithium\n";
180 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
181 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
183 "hydroxyl\t\thydroxyl\thydroxyl\t2\t1\tTARGETDIR\t0\n"
184 "heliox\t\theliox\theliox\t2\t5\tTARGETDIR\t0\n"
185 "lithia\t\tlithia\tlithia\t2\t10\tTARGETDIR\t0";
188 "Feature_\tComponent_\n"
190 "FeatureComponents\tFeature_\tComponent_\n"
191 "hydroxyl\thydrogen\n"
196 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
197 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
199 "hydrogen\thydrogen\thydrogen\t0\t\t\t8192\t1\n"
200 "helium\thelium\thelium\t0\t\t\t8192\t1\n"
201 "lithium\tlithium\tlithium\t0\t\t\t8192\t1";
204 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
205 "s72\tS38\ts72\ti2\tS255\tS72\n"
206 "Component\tComponent\n"
207 "maximus\t{DF2CBABC-3BCC-47E5-A998-448D1C0C895B}\tMSITESTDIR\t0\tUILevel=5\tmaximus\n";
210 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
211 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
213 "feature\t\tFeature\tFeature\t2\t1\tTARGETDIR\t0\n"
214 "montecristo\t\tFeature\tFeature\t2\t1\tTARGETDIR\t0";
217 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
218 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
220 "maximus\tmaximus\tmaximus\t500\t\t\t8192\t1";
223 "Feature_\tComponent_\n"
225 "FeatureComponents\tFeature_\tComponent_\n"
227 "montecristo\tmaximus";
230 "Action\tCondition\tSequence\n"
232 "InstallExecuteSequence\tAction\n"
233 "ValidateProductID\t\t700\n"
234 "CostInitialize\t\t800\n"
236 "CostFinalize\t\t1000\n"
237 "InstallValidate\t\t1400\n"
238 "InstallInitialize\t\t1500\n"
239 "ProcessComponents\tPROCESS_COMPONENTS=1 Or FULL=1\t1600\n"
240 "UnpublishFeatures\tUNPUBLISH_FEATURES=1 Or FULL=1\t1800\n"
241 "RemoveFiles\t\t3500\n"
242 "InstallFiles\t\t4000\n"
243 "RegisterUser\tREGISTER_USER=1 Or FULL=1\t6000\n"
244 "RegisterProduct\tREGISTER_PRODUCT=1 Or FULL=1\t6100\n"
245 "PublishFeatures\tPUBLISH_FEATURES=1 Or FULL=1\t6300\n"
246 "PublishProduct\tPUBLISH_PRODUCT=1 Or FULL=1\t6400\n"
247 "InstallFinalize\t\t6600";
250 "DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
251 "i2\ti4\tL64\tS255\tS32\tS72\n"
253 "1\t1\t\t\tDISK1\t\n";
256 "DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
257 "i2\ti4\tL64\tS255\tS32\tS72\n"
259 "1\t1\t\ttest1.cab\tDISK1\t\n";
262 "DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
263 "i2\ti4\tL64\tS255\tS32\tS72\n"
265 "1\t1\t\t#test1.cab\tDISK1\t\n";
268 "Action\tType\tSource\tTarget\tISComments\n"
269 "s72\ti2\tS64\tS0\tS255\n"
270 "CustomAction\tAction\n"
271 "SetFolderProp\t51\tMSITESTDIR\t[ProgramFilesFolder]\\msitest\\added\t\n"
272 "SetFolderProp2\t51\tMSITESTDIR\t[ProgramFilesFolder]\\msitest\\added\\added2\t\n";
275 "Action\tCondition\tSequence\n"
277 "InstallExecuteSequence\tAction\n"
278 "CostInitialize\t\t800\n"
280 "SetFolderProp\t\t950\n"
281 "SetFolderProp2\t\t960\n"
282 "CostFinalize\t\t1000\n"
283 "InstallValidate\t\t1400\n"
284 "InstallInitialize\t\t1500\n"
285 "InstallFiles\t\t4000\n"
286 "InstallServices\t\t5000\n"
287 "InstallFinalize\t\t6600\n";
290 "Action\tCondition\tSequence\n"
292 "InstallUISequence\tAction\n"
293 "CostInitialize\t\t800\n"
295 "CostFinalize\t\t1000\n"
296 "ExecuteAction\t\t1100\n";
299 "Directory\tDirectory_Parent\tDefaultDir\n"
301 "Directory\tDirectory\n"
302 "PARENTDIR\tTARGETDIR\tparent\n"
303 "CHILDDIR\tPARENTDIR\tchild\n"
304 "MSITESTDIR\tProgramFilesFolder\tmsitest\n"
305 "ProgramFilesFolder\tTARGETDIR\t.\n"
306 "TARGETDIR\t\tSourceDir";
309 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
310 "s72\tS38\ts72\ti2\tS255\tS72\n"
311 "Component\tComponent\n"
312 "maximus\t{DF2CBABC-3BCC-47E5-A998-448D1C0C895B}\tMSITESTDIR\t0\tUILevel=5\tmaximus\n";
315 "Action\tCondition\tSequence\n"
317 "InstallExecuteSequence\tAction\n"
318 "CostInitialize\t\t800\n"
320 "FormatParentFolderCheck\t\t910\n"
321 "FormatChildFolderCheck\t\t920\n"
322 "CheckParentFolder\tNOT PARENTDIR=PARENTDIRCHECK\t930\n"
323 "CheckChildFolder\tNOT CHILDDIR=CHILDDIRCHECK\t940\n"
324 "FormatParentFolderCheck2\t\t945\n"
325 "SetParentFolder\t\t950\n"
326 "CheckParentFolder2\tNOT PARENTDIR=PARENTDIRCHECK\t960\n"
327 "CheckChildFolder2\tNOT CHILDDIR=CHILDDIRCHECK\t970\n"
328 "CostFinalize\t\t1000\n"
329 "FormatParentFolderCheck3\t\t1005\n"
330 "CheckParentFolder3\tNOT PARENTDIR=PARENTDIRCHECK\t1010\n"
331 "CheckChildFolder3\tNOT CHILDDIR=CHILDDIRCHECK\t1020\n"
332 "InstallValidate\t\t1400\n"
333 "InstallInitialize\t\t1500\n"
334 "InstallFiles\t\t4000\n"
335 "CreateShortcuts\t\t4100\n"
336 "InstallFinalize\t\t6600\n";
339 "Action\tType\tSource\tTarget\tISComments\n"
340 "s72\ti2\tS64\tS0\tS255\n"
341 "CustomAction\tAction\n"
342 "FormatParentFolderCheck\t51\tPARENTDIRCHECK\t[TARGETDIR]parent\\\t\n"
343 "FormatChildFolderCheck\t51\tCHILDDIRCHECK\t[TARGETDIR]parent\\child\\\t\n"
344 "CheckParentFolder\t19\tPARENTDIR\tparent prop wrong before set: [PARENTDIR]\t\n"
345 "CheckChildFolder\t19\tCHILDDIR\tchild prop wrong before set: [CHILDDIR]\t\n"
346 "FormatParentFolderCheck2\t51\tPARENTDIRCHECK\t[ProgramFilesFolder]msitest\\parent\t\n"
347 "SetParentFolder\t51\tPARENTDIR\t[PARENTDIRCHECK]\t\n"
348 "CheckParentFolder2\t19\tPARENTDIR\tparent prop wrong after set: [PARENTDIR]\t\n"
349 "CheckChildFolder2\t19\tCHILDDIR\tchild prop wrong after set: [CHILDDIR]\t\n"
350 "FormatParentFolderCheck3\t51\tPARENTDIRCHECK\t[ProgramFilesFolder]msitest\\parent\\\t\n"
351 "CheckParentFolder3\t19\tPARENTDIR\tparent prop wrong after CostFinalize: [PARENTDIR]\t\n"
352 "CheckChildFolder3\t19\tCHILDDIR\tchild prop wrong after CostFinalize: [CHILDDIR]\t\n";
355 "Shortcut\tDirectory_\tName\tComponent_\tTarget\tArguments\tDescription\tHotkey\tIcon_\tIconIndex\tShowCmd\tWkDir\n"
356 "s72\ts72\tl128\ts72\ts72\tS255\tL255\tI2\tS72\tI2\tI2\tS72\n"
357 "Shortcut\tShortcut\n"
358 "Shortcut\tCHILDDIR\tShortcut\tmaximus\t[#maximus]\t\tShortcut\t\t\t\t\tMSITESTDIR\n";
361 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
362 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
364 "sourcedir.txt\tsourcedir\tsourcedir.txt\t1000\t\t\t8192\t1\n";
367 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
368 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
370 "sourcedir\t\t\tsourcedir feature\t1\t2\tMSITESTDIR\t0\n";
373 "Feature_\tComponent_\n"
375 "FeatureComponents\tFeature_\tComponent_\n"
376 "sourcedir\tsourcedir\n";
379 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
380 "s72\tS38\ts72\ti2\tS255\tS72\n"
381 "Component\tComponent\n"
382 "sourcedir\t{DD422F92-3ED8-49B5-A0B7-F266F98357DF}\tMSITESTDIR\t0\t\tsourcedir.txt\n";
385 "Action\tCondition\tSequence\n"
387 "InstallUISequence\tAction\n"
388 "TestSourceDirProp1\tnot SourceDir and not SOURCEDIR and not Installed\t99\n"
390 "TestSourceDirProp2\tnot SourceDir and not SOURCEDIR and not Installed\t101\n"
391 "LaunchConditions\tnot Installed \t110\n"
392 "TestSourceDirProp3\tnot SourceDir and not SOURCEDIR and not Installed\t111\n"
393 "FindRelatedProducts\t\t120\n"
394 "TestSourceDirProp4\tnot SourceDir and not SOURCEDIR and not Installed\t121\n"
396 "TestSourceDirProp5\tnot SourceDir and not SOURCEDIR and not Installed\t131\n"
397 "RMCCPSearch\t\t140\n"
398 "TestSourceDirProp6\tnot SourceDir and not SOURCEDIR and not Installed\t141\n"
399 "ValidateProductID\t\t150\n"
400 "TestSourceDirProp7\tnot SourceDir and not SOURCEDIR and not Installed\t151\n"
401 "CostInitialize\t\t800\n"
402 "TestSourceDirProp8\tnot SourceDir and not SOURCEDIR and not Installed\t801\n"
404 "TestSourceDirProp9\tnot SourceDir and not SOURCEDIR and not Installed\t901\n"
405 "IsolateComponents\t\t1000\n"
406 "TestSourceDirProp10\tnot SourceDir and not SOURCEDIR and not Installed\t1001\n"
407 "CostFinalize\t\t1100\n"
408 "TestSourceDirProp11\tnot SourceDir and not SOURCEDIR and not Installed\t1101\n"
409 "MigrateFeatureStates\t\t1200\n"
410 "TestSourceDirProp12\tnot SourceDir and not SOURCEDIR and not Installed\t1201\n"
411 "ExecuteAction\t\t1300\n"
412 "TestSourceDirProp13\tnot SourceDir and not SOURCEDIR and not Installed\t1301\n";
415 "Action\tCondition\tSequence\n"
417 "InstallExecuteSequence\tAction\n"
418 "TestSourceDirProp14\tSourceDir and SOURCEDIR and not Installed\t99\n"
419 "LaunchConditions\t\t100\n"
420 "TestSourceDirProp15\tSourceDir and SOURCEDIR and not Installed\t101\n"
421 "ValidateProductID\t\t700\n"
422 "TestSourceDirProp16\tSourceDir and SOURCEDIR and not Installed\t701\n"
423 "CostInitialize\t\t800\n"
424 "TestSourceDirProp17\tSourceDir and SOURCEDIR and not Installed\t801\n"
425 "ResolveSource\tResolveSource and not Installed\t850\n"
426 "TestSourceDirProp18\tResolveSource and not SourceDir and not SOURCEDIR and not Installed\t851\n"
427 "TestSourceDirProp19\tnot ResolveSource and SourceDir and SOURCEDIR and not Installed\t852\n"
429 "TestSourceDirProp20\tSourceDir and SOURCEDIR and not Installed\t901\n"
430 "IsolateComponents\t\t1000\n"
431 "TestSourceDirProp21\tSourceDir and SOURCEDIR and not Installed\t1001\n"
432 "CostFinalize\t\t1100\n"
433 "TestSourceDirProp22\tSourceDir and SOURCEDIR and not Installed\t1101\n"
434 "MigrateFeatureStates\t\t1200\n"
435 "TestSourceDirProp23\tSourceDir and SOURCEDIR and not Installed\t1201\n"
436 "InstallValidate\t\t1400\n"
437 "TestSourceDirProp24\tSourceDir and SOURCEDIR and not Installed\t1401\n"
438 "InstallInitialize\t\t1500\n"
439 "TestSourceDirProp25\tSourceDir and SOURCEDIR and not Installed\t1501\n"
440 "ProcessComponents\t\t1600\n"
441 "TestSourceDirProp26\tnot SourceDir and not SOURCEDIR and not Installed\t1601\n"
442 "UnpublishFeatures\t\t1800\n"
443 "TestSourceDirProp27\tnot SourceDir and not SOURCEDIR and not Installed\t1801\n"
444 "RemoveFiles\t\t3500\n"
445 "TestSourceDirProp28\tnot SourceDir and not SOURCEDIR and not Installed\t3501\n"
446 "InstallFiles\t\t4000\n"
447 "TestSourceDirProp29\tnot SourceDir and not SOURCEDIR and not Installed\t4001\n"
448 "RegisterUser\t\t6000\n"
449 "TestSourceDirProp30\tnot SourceDir and not SOURCEDIR and not Installed\t6001\n"
450 "RegisterProduct\t\t6100\n"
451 "TestSourceDirProp31\tnot SourceDir and not SOURCEDIR and not Installed\t6101\n"
452 "PublishFeatures\t\t6300\n"
453 "TestSourceDirProp32\tnot SourceDir and not SOURCEDIR and not Installed\t6301\n"
454 "PublishProduct\t\t6400\n"
455 "TestSourceDirProp33\tnot SourceDir and not SOURCEDIR and not Installed\t6401\n"
456 "InstallExecute\t\t6500\n"
457 "TestSourceDirProp34\tnot SourceDir and not SOURCEDIR and not Installed\t6501\n"
458 "InstallFinalize\t\t6600\n"
459 "TestSourceDirProp35\tnot SourceDir and not SOURCEDIR and not Installed\t6601\n";
462 "Action\tType\tSource\tTarget\tISComments\n"
463 "s72\ti2\tS64\tS0\tS255\n"
464 "CustomAction\tAction\n"
465 "TestSourceDirProp1\t19\t\tTest 1 failed\t\n"
466 "TestSourceDirProp2\t19\t\tTest 2 failed\t\n"
467 "TestSourceDirProp3\t19\t\tTest 3 failed\t\n"
468 "TestSourceDirProp4\t19\t\tTest 4 failed\t\n"
469 "TestSourceDirProp5\t19\t\tTest 5 failed\t\n"
470 "TestSourceDirProp6\t19\t\tTest 6 failed\t\n"
471 "TestSourceDirProp7\t19\t\tTest 7 failed\t\n"
472 "TestSourceDirProp8\t19\t\tTest 8 failed\t\n"
473 "TestSourceDirProp9\t19\t\tTest 9 failed\t\n"
474 "TestSourceDirProp10\t19\t\tTest 10 failed\t\n"
475 "TestSourceDirProp11\t19\t\tTest 11 failed\t\n"
476 "TestSourceDirProp12\t19\t\tTest 12 failed\t\n"
477 "TestSourceDirProp13\t19\t\tTest 13 failed\t\n"
478 "TestSourceDirProp14\t19\t\tTest 14 failed\t\n"
479 "TestSourceDirProp15\t19\t\tTest 15 failed\t\n"
480 "TestSourceDirProp16\t19\t\tTest 16 failed\t\n"
481 "TestSourceDirProp17\t19\t\tTest 17 failed\t\n"
482 "TestSourceDirProp18\t19\t\tTest 18 failed\t\n"
483 "TestSourceDirProp19\t19\t\tTest 19 failed\t\n"
484 "TestSourceDirProp20\t19\t\tTest 20 failed\t\n"
485 "TestSourceDirProp21\t19\t\tTest 21 failed\t\n"
486 "TestSourceDirProp22\t19\t\tTest 22 failed\t\n"
487 "TestSourceDirProp23\t19\t\tTest 23 failed\t\n"
488 "TestSourceDirProp24\t19\t\tTest 24 failed\t\n"
489 "TestSourceDirProp25\t19\t\tTest 25 failed\t\n"
490 "TestSourceDirProp26\t19\t\tTest 26 failed\t\n"
491 "TestSourceDirProp27\t19\t\tTest 27 failed\t\n"
492 "TestSourceDirProp28\t19\t\tTest 28 failed\t\n"
493 "TestSourceDirProp29\t19\t\tTest 29 failed\t\n"
494 "TestSourceDirProp30\t19\t\tTest 30 failed\t\n"
495 "TestSourceDirProp31\t19\t\tTest 31 failed\t\n"
496 "TestSourceDirProp32\t19\t\tTest 32 failed\t\n"
497 "TestSourceDirProp33\t19\t\tTest 33 failed\t\n"
498 "TestSourceDirProp34\t19\t\tTest 34 failed\t\n"
499 "TestSourceDirProp35\t19\t\tTest 35 failed\t\n";
502 "Action\tCondition\tSequence\n"
504 "InstallExecuteSequence\tAction\n"
505 "CostInitialize\t\t800\n"
507 "CostFinalize\t\t1000\n"
508 "InstallValidate\t\t1400\n"
509 "InstallInitialize\t\t1500\n"
510 "RunInstall\tnot Installed\t1550\n"
511 "ProcessComponents\t\t1600\n"
512 "UnpublishFeatures\t\t1800\n"
513 "RemoveFiles\t\t3500\n"
514 "InstallFiles\t\t4000\n"
515 "RegisterProduct\t\t6100\n"
516 "PublishFeatures\t\t6300\n"
517 "PublishProduct\t\t6400\n"
518 "InstallFinalize\t\t6600\n";
521 "Action\tType\tSource\tTarget\tISComments\n"
522 "s72\ti2\tS64\tS0\tS255\n"
523 "CustomAction\tAction\n"
524 "RunInstall\t23\tmsitest\\concurrent.msi\tMYPROP=[UILevel]\t\n";
527 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
528 "s72\tS38\ts72\ti2\tS255\tS72\n"
529 "Component\tComponent\n"
530 "maximus\t{DF2CBABC-3BCC-47E5-A998-448D1C0C895B}\tMSITESTDIR\t0\tUILevel=5\tmaximus\n";
533 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
534 "s72\tS38\ts72\ti2\tS255\tS72\n"
535 "Component\tComponent\n"
536 "augustus\t\tMSITESTDIR\t0\tUILevel=3 AND MYPROP=5\taugustus\n";
539 "Feature_\tComponent_\n"
541 "FeatureComponents\tFeature_\tComponent_\n"
545 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
546 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
548 "augustus\taugustus\taugustus\t500\t\t\t8192\t1";
551 "Action\tType\tSource\tTarget\tISComments\n"
552 "s72\ti2\tS64\tS0\tS255\n"
553 "CustomAction\tAction\n"
554 "TestCommandlineProp\t19\t\tTest1\t\n";
557 "Action\tCondition\tSequence\n"
559 "InstallExecuteSequence\tAction\n"
560 "LaunchConditions\t\t100\n"
561 "ValidateProductID\t\t700\n"
562 "CostInitialize\t\t800\n"
564 "CostFinalize\t\t1000\n"
565 "TestCommandlineProp\tP=\"one\"\t1100\n"
566 "InstallInitialize\t\t1500\n"
567 "ProcessComponents\t\t1600\n"
568 "InstallValidate\t\t1400\n"
569 "InstallFinalize\t\t5000\n";
722 "Installation Database");
726 "Installation Database");
738 "{A2078D65-94D6-4205-8DEE-F68D6FD622AA}");
776 "CREATE TABLE `Directory` ( "
777 "`Directory` CHAR(255) NOT NULL, "
778 "`Directory_Parent` CHAR(255), "
779 "`DefaultDir` CHAR(255) NOT NULL "
780 "PRIMARY KEY `Directory`)");
784 "CREATE TABLE `Property` ( "
785 "`Property` CHAR(72) NOT NULL, "
787 "PRIMARY KEY `Property`)");
791 "(`Property`, `Value`) "
792 "VALUES( 'ProductCode', '%s' )", prodcode);
823 "WORDVIEWFiles", -2, 0 );
827 "WORDVIEWFiles", -2, 0 );
831 "WORDVIEWFiles", -2, 1 );
840 DWORD dwType, cbData;
876 skip(
"Not enough rights to perform tests\n");
885 if (!(lpData =
malloc(cbData)))
skip(
"Out of memory\n");
896 skip(
"Not enough rights to perform tests\n");
961 "{00000000-0000-0000-0000-000000000000}",
buffer, &sz );
965 "{00000000-0000-0000-0000-00000000}",
buffer, &sz );
969 "{029E403D-A86A-1D11-5B5B0006799C897E}",
buffer, &sz );
973 "{00000000-A68A-11d1-5B5B-0006799C897E}",
buffer, &sz );
1011#define HASHSIZE sizeof(MSIFILEHASHINFO)
1028 { 0x98500190, 0xb04fd23c, 0x7d3f96d6, 0x727fe128 },
1032 {
"C:\\Program Files\\msitest\\caesar\n", 0,
1034 { 0x2b566794, 0xfd42181b, 0x2514d6e4, 0x5768b4e2 },
1038 {
"C:\\Program Files\\msitest\\caesar\n", 500,
1040 { 0x58095058, 0x805efeff, 0x10f3483e, 0x0147d653 },
1047 const char name[] =
"msitest.bin";
1061 "Expected ERROR_PATH_NOT_FOUND or ERROR_BAD_PATHNAME, got %d\n",
r);
1072 hash.dwFileHashInfoSize = 0;
1093 ok(!
ret,
"Hash incorrect\n");
1141 ok(
hr ==
S_OK,
"Expected S_OK, got %#lx\n",
hr);
1159 char *usersid =
NULL;
1197 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1204 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1211 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1218 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1232 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1242 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
1255 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\");
1261 skip(
"Not enough rights to perform tests\n");
1290 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1298 skip(
"Not enough rights to perform tests\n");
1364 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
1366 lstrcatA(keypath,
"\\Installer\\Products\\");
1374 "Expected INSTALLSTATE_ADVERTISED, got %d\n",
state);
1376 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1386 "Expected INSTALLSTATE_ADVERTISED, got %d\n",
state);
1393 "Expected INSTALLSTATE_ADVERTISED, got %d\n",
state);
1413 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
1419 skip(
"insufficient rights\n" );
1428 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1429 lstrcatA(keypath,
"S-1-5-18\\Products\\");
1437 "Expected INSTALLSTATE_ADVERTISED, got %d\n",
state);
1444 "Expected INSTALLSTATE_ADVERTISED, got %d\n",
state);
1466"!$%&'()*+,-.0123456789=?@ABCDEFGHIJKLMNO"
1467"PQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwx"
1476 unsigned int x, *
p,
i;
1478 p = (
unsigned int*)
guid;
1479 for(
i=0;
i<4;
i++ )
1505 ok(
hr ==
S_OK,
"Expected S_OK, got %#lx\n",
hr);
1508 ok(
size == 39,
"Expected 39, got %d\n",
size);
1519 HKEY userkey, localkey, compkey, compkey2;
1545 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1552 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1559 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1566 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1580 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1587 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
1605 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Features\\");
1628 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1637 skip(
"Not enough rights to perform tests\n");
1688 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1690 lstrcatA(keypath,
"\\Components\\");
1696 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1698 lstrcatA(keypath,
"\\Components\\");
1792 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
1794 lstrcatA(keypath,
"\\Installer\\Features\\");
1811 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1848 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1850 lstrcatA(keypath,
"\\Components\\");
1856 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1858 lstrcatA(keypath,
"\\Components\\");
1899 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Features\\");
1905 skip(
"insufficient rights\n" );
1922 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1923 lstrcatA(keypath,
"S-1-5-18\\Products\\");
1958 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1959 lstrcatA(keypath,
"S-1-5-18\\Components\\");
1965 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
1966 lstrcatA(keypath,
"S-1-5-18\\Components\\");
2009 HKEY compkey, prodkey;
2033 state = MAGIC_ERROR;
2038 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2039 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2042 state = MAGIC_ERROR;
2047 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2048 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2051 state = MAGIC_ERROR;
2056 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2057 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2060 state = MAGIC_ERROR;
2065 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2066 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2069 state = MAGIC_ERROR;
2074 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2075 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2078 state = MAGIC_ERROR;
2083 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2084 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2086 state = MAGIC_ERROR;
2091 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2092 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2094 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
2100 skip(
"Not enough rights to perform tests\n");
2106 state = MAGIC_ERROR;
2112 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2118 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\");
2120 lstrcatA(keypath,
"\\InstallProperties");
2125 skip(
"Not enough rights to perform tests\n");
2132 state = MAGIC_ERROR;
2136 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2137 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2143 state = MAGIC_ERROR;
2149 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2151 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Components\\");
2158 state = MAGIC_ERROR;
2164 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2170 state = MAGIC_ERROR;
2176 "Expected INSTALLSTATE_NOTUSED or INSTALLSTATE_LOCAL, got %d\n",
state);
2177 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2180 state = MAGIC_ERROR;
2185 ok(
state == MAGIC_ERROR,
"Expected state not changed, got %d\n",
state);
2186 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2192 state = MAGIC_ERROR;
2198 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2204 state = MAGIC_ERROR;
2210 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2216 state = MAGIC_ERROR;
2222 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2228 state = MAGIC_ERROR;
2234 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2240 state = MAGIC_ERROR;
2246 ok(
error == 0xdeadbeef,
"expected 0xdeadbeef, got %lu\n",
error);
2257 state = MAGIC_ERROR;
2260 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2262 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
2268 state = MAGIC_ERROR;
2276 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
2280 lstrcatA(keypath,
"\\InstallProperties");
2290 state = MAGIC_ERROR;
2295 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
2297 lstrcatA(keypath,
"\\Components\\");
2304 state = MAGIC_ERROR;
2313 state = MAGIC_ERROR;
2317 "Expected INSTALLSTATE_NOTUSED or INSTALLSTATE_LOCAL, got %d\n",
state);
2322 state = MAGIC_ERROR;
2329 state = MAGIC_ERROR;
2332 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2334 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
2340 state = MAGIC_ERROR;
2343 ok(
state == MAGIC_ERROR,
"Expected 0xdeadbeef, got %d\n",
state);
2348 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
2350 lstrcatA(keypath,
"\\Installer\\Products\\");
2356 state = MAGIC_ERROR;
2364 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
2368 lstrcatA(keypath,
"\\InstallProperties");
2376 state = MAGIC_ERROR;
2393 HKEY compkey, prodkey, installprop;
2464 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2465 lstrcatA(keypath,
"Installer\\UserData\\S-1-5-18\\Components\\");
2471 skip(
"Not enough rights to perform tests\n");
2497 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2504 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2506 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2507 lstrcatA(keypath,
"Installer\\UserData\\S-1-5-18\\Products\\");
2509 lstrcatA(keypath,
"\\InstallProperties");
2524 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2531 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2541 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2548 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2555 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2562 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2572 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2573 lstrcatA(keypath,
"Installer\\UserData\\");
2575 lstrcatA(keypath,
"\\Components\\");
2601 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2608 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2610 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2611 lstrcatA(keypath,
"Installer\\UserData\\S-1-5-18\\Products\\");
2613 lstrcatA(keypath,
"\\InstallProperties");
2628 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2635 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2645 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2652 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2662 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2663 lstrcatA(keypath,
"Installer\\Managed\\");
2665 lstrcatA(keypath,
"\\Installer\\Products\\");
2682 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2683 lstrcatA(keypath,
"Installer\\UserData\\");
2685 lstrcatA(keypath,
"\\Components\\");
2711 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2718 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2720 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2721 lstrcatA(keypath,
"Installer\\UserData\\S-1-5-18\\Products\\");
2723 lstrcatA(keypath,
"\\InstallProperties");
2738 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2745 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2755 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2762 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2774 lstrcpyA(keypath,
"Software\\Microsoft\\Installer\\Products\\");
2791 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2792 lstrcatA(keypath,
"Installer\\UserData\\");
2794 lstrcatA(keypath,
"\\Components\\");
2820 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2827 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2837 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2844 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2853 lstrcpyA(keypath,
"Software\\Classes\\Installer\\Products\\");
2859 skip(
"insufficient rights\n" );
2876 lstrcpyA(keypath,
"Software\\Microsoft\\Windows\\CurrentVersion\\");
2877 lstrcatA(keypath,
"Installer\\UserData\\S-1-5-18\\Components\\");
2903 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2910 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2920 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2927 ok(
size == 10,
"Expected 10, got %lu\n",
size);
2940 HKEY key_comp, key_installprop, key_prod;
2991 lstrcpyA( path_key,
"Software\\Microsoft\\Windows\\CurrentVersion\\" );
2992 lstrcatA( path_key,
"Installer\\UserData\\S-1-5-18\\Components\\" );
2993 lstrcatA( path_key, comp_squashed );
2998 skip(
"insufficient rights\n" );
3020 lstrcpyA( path_key,
"Software\\Microsoft\\Windows\\CurrentVersion\\" );
3021 lstrcatA( path_key,
"Installer\\UserData\\S-1-5-18\\Products\\" );
3022 lstrcatA( path_key, prod_squashed );
3023 lstrcatA( path_key,
"\\InstallProperties" );
3065 lstrcpyA( path_key,
"Software\\Microsoft\\Installer\\Products\\" );
3066 lstrcatA( path_key, prod_squashed );
3077 lstrcpyA( path_key,
"Software\\Microsoft\\Windows\\CurrentVersion\\" );
3078 lstrcatA( path_key,
"Installer\\UserData\\" );
3080 lstrcatA( path_key,
"\\Components\\" );
3081 lstrcatA( path_key, comp_squashed );
3120 lstrcpyA( path_key,
"Software\\Microsoft\\Windows\\CurrentVersion\\" );
3121 lstrcatA( path_key,
"Installer\\Managed\\" );
3123 lstrcatA( path_key,
"\\Installer\\Products\\" );
3124 lstrcatA( path_key, prod_squashed );
3134 lstrcpyA( path_key,
"Software\\Microsoft\\Windows\\CurrentVersion\\" );
3135 lstrcatA( path_key,
"Installer\\UserData\\" );
3137 lstrcatA( path_key,
"\\Components\\" );
3138 lstrcatA( path_key, comp_squashed );