42static UINT (
WINAPI *pMsiSourceListEnumSourcesA)
49static BOOL (
WINAPI *pWow64DisableWow64FsRedirection)(
void **);
50static BOOL (
WINAPI *pWow64RevertWow64FsRedirection)(
void *);
58static const char *
msifile =
"msitest.msi";
60static const char *
mstfile =
"winetest.mst";
76static const CHAR component_dat[] =
"Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
77 "s72\tS38\ts72\ti2\tS255\tS72\n"
78 "Component\tComponent\n"
79 "Five\t{8CC92E9D-14B2-4CA4-B2AA-B11D02078087}\tNEWDIR\t2\t\tfive.txt\n"
80 "Four\t{FD37B4EA-7209-45C0-8917-535F35A2F080}\tCABOUTDIR\t2\t\tfour.txt\n"
81 "One\t{783B242E-E185-4A56-AF86-C09815EC053C}\tMSITESTDIR\t2\tNOT REINSTALL\tone.txt\n"
82 "Three\t{010B6ADD-B27D-4EDD-9B3D-34C4F7D61684}\tCHANGEDDIR\t2\t\tthree.txt\n"
83 "Two\t{BF03D1A6-20DA-4A65-82F3-6CAC995915CE}\tFIRSTDIR\t2\t\ttwo.txt\n"
84 "dangler\t{6091DF25-EF96-45F1-B8E9-A9B1420C7A3C}\tTARGETDIR\t4\t\tregdata\n"
85 "component\t\tMSITESTDIR\t0\t1\tfile\n";
89 "Directory\tDirectory\n"
90 "CABOUTDIR\tMSITESTDIR\tcabout\n"
91 "CHANGEDDIR\tMSITESTDIR\tchanged:second\n"
92 "FIRSTDIR\tMSITESTDIR\tfirst\n"
93 "MSITESTDIR\tProgramFilesFolder\tmsitest\n"
94 "NEWDIR\tCABOUTDIR\tnew\n"
95 "ProgramFilesFolder\tTARGETDIR\t.\n"
96 "TARGETDIR\t\tSourceDir";
98static const CHAR feature_dat[] =
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
99 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
101 "Five\t\tFive\tThe Five Feature\t5\t3\tNEWDIR\t0\n"
102 "Four\t\tFour\tThe Four Feature\t4\t3\tCABOUTDIR\t0\n"
103 "One\t\tOne\tThe One Feature\t1\t3\tMSITESTDIR\t0\n"
104 "Three\t\tThree\tThe Three Feature\t3\t3\tCHANGEDDIR\t0\n"
105 "Two\t\tTwo\tThe Two Feature\t2\t3\tFIRSTDIR\t0\n"
106 "feature\t\t\t\t2\t1\tTARGETDIR\t0\n";
110 "FeatureComponents\tFeature_\tComponent_\n"
116 "feature\tcomponent\n";
118static const CHAR file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
119 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
121 "five.txt\tFive\tfive.txt\t1000\t\t\t16384\t5\n"
122 "four.txt\tFour\tfour.txt\t1000\t\t\t16384\t4\n"
123 "one.txt\tOne\tone.txt\t1000\t\t\t0\t1\n"
124 "three.txt\tThree\tthree.txt\t1000\t\t\t0\t3\n"
125 "two.txt\tTwo\ttwo.txt\t1000\t\t\t0\t2\n"
126 "file\tcomponent\tfilename\t100\t\t\t8192\t1\n";
130 "InstallExecuteSequence\tAction\n"
131 "AllocateRegistrySpace\tNOT Installed\t1550\n"
132 "CostFinalize\t\t1000\n"
133 "CostInitialize\t\t800\n"
135 "ResolveSource\t\t950\n"
136 "MoveFiles\t\t1700\n"
137 "InstallFiles\t\t4000\n"
138 "BindImage\t\t4100\n"
139 "DuplicateFiles\t\t4500\n"
140 "WriteEnvironmentStrings\t\t4550\n"
141 "CreateShortcuts\t\t4600\n"
142 "InstallFinalize\t\t6600\n"
143 "InstallInitialize\t\t1500\n"
144 "InstallValidate\t\t1400\n"
145 "LaunchConditions\t\t100\n"
146 "WriteRegistryValues\tSourceDir And SOURCEDIR\t5000";
148static const CHAR media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
149 "i2\ti4\tL64\tS255\tS32\tS72\n"
151 "1\t3\t\t\tDISK1\t\n"
152 "2\t5\t\tmsitest.cab\tDISK2\t\n";
156 "Property\tProperty\n"
157 "DefaultUIFont\tDlgFont8\n"
160 "InstallMode\tTypical\n"
161 "Manufacturer\tWine\n"
162 "PIDTemplate\t12345<###-%%%%%%%>@@@@@\n"
163 "PRIMARYFOLDER\tTARGETDIR\n"
164 "ProductCode\t{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}\n"
166 "ProductLanguage\t1033\n"
167 "ProductName\tMSITEST\n"
168 "ProductVersion\t1.1.1\n"
169 "PROMPTROLLBACKCOST\tP\n"
171 "UpgradeCode\t{4C0EAA15-0264-4E5A-8758-609EF142B92D}\n"
172 "AdminProperties\tPOSTADMIN\n"
174 "MSIFASTINSTALL\t1\n";
178 "Property\tProperty\n"
179 "DefaultUIFont\tDlgFont8\n"
183 "InstallMode\tTypical\n"
184 "Manufacturer\tWine\n"
185 "PIDTemplate\t12345<###-%%%%%%%>@@@@@\n"
186 "ProductCode\t{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}\n"
188 "ProductLanguage\t1033\n"
189 "ProductName\tMSITEST\n"
190 "ProductVersion\t1.1.1\n"
191 "PROMPTROLLBACKCOST\tP\n"
193 "UpgradeCode\t{4C0EAA15-0264-4E5A-8758-609EF142B92D}\n"
194 "AdminProperties\tPOSTADMIN\n"
196 "MSIFASTINSTALL\t1\n";
200 "Property\tProperty\n"
201 "DefaultUIFont\tDlgFont8\n"
205 "InstallMode\tTypical\n"
206 "Manufacturer\tWine\n"
207 "PIDTemplate\t12345<###-%%%%%%%>@@@@@\n"
208 "ProductCode\t{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}\n"
210 "ProductLanguage\t1033\n"
211 "ProductName\tMSITEST\n"
212 "ProductVersion\t1.1.1\n"
213 "PROMPTROLLBACKCOST\tP\n"
215 "UpgradeCode\t{4C0EAA15-0264-4E5A-8758-609EF142B92D}\n"
216 "AdminProperties\tPOSTADMIN\n"
218 "MSIFASTINSTALL\t1\n";
222 "Property\tProperty\n"
223 "DefaultUIFont\tDlgFont8\n"
226 "InstallMode\tTypical\n"
227 "Manufacturer\tWine\n"
228 "PIDTemplate\t12345<###-%%%%%%%>@@@@@\n"
229 "ProductCode\t{7DF88A49-996F-4EC8-A022-BF956F9B2CBB}\n"
231 "ProductLanguage\t1033\n"
232 "ProductName\tMSITEST\n"
233 "ProductVersion\t1.1.1\n"
234 "PROMPTROLLBACKCOST\tP\n"
236 "UpgradeCode\t{4C0EAA15-0264-4E5A-8758-609EF142B92D}\n"
237 "AdminProperties\tPOSTADMIN\n"
239 "MSIFASTINSTALL\t1\n";
241static const CHAR shortcut_dat[] =
"Shortcut\tDirectory_\tName\tComponent_\tTarget\tArguments\tDescription\tHotkey\tIcon_\tIconIndex\tShowCmd\tWkDir\n"
242 "s72\ts72\tl128\ts72\ts72\tS255\tL255\tI2\tS72\tI2\tI2\tS72\n"
243 "Shortcut\tShortcut\n"
244 "Shortcut\tMSITESTDIR\tShortcut\tcomponent\tShortcut\t\tShortcut\t\t\t\t\t\n";
248 "Condition\tFeature_\tLevel\n"
253 "Property\tProperty\n"
254 "DefaultUIFont\tDlgFont8\n"
257 "InstallMode\tTypical\n"
258 "Manufacturer\tWine\n"
259 "PIDTemplate\t12345<###-%%%%%%%>@@@@@\n"
260 "ProductCode\t{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}\n"
262 "ProductLanguage\t1033\n"
263 "ProductName\tMSITEST\n"
264 "ProductVersion\t1.1.1\n"
265 "PROMPTROLLBACKCOST\tP\n"
267 "UpgradeCode\t{4C0EAA15-0264-4E5A-8758-609EF142B92D}\n"
268 "AdminProperties\tPOSTADMIN\n"
270 "RemovePreviousVersions\t1\n"
271 "MSIFASTINSTALL\t1\n";
275 "Property\tProperty\n"
276 "DefaultUIFont\tDlgFont8\n"
279 "InstallMode\tTypical\n"
280 "Manufacturer\tWine\n"
281 "PIDTemplate\t12345<###-%%%%%%%>@@@@@\n"
282 "ProductCode\t{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}\n"
284 "ProductLanguage\t1033\n"
285 "ProductName\tMSITEST\n"
286 "ProductVersion\t1.1.2\n"
287 "PROMPTROLLBACKCOST\tP\n"
289 "UpgradeCode\t{4C0EAA15-0264-4E5A-8758-609EF142B92D}\n"
290 "AdminProperties\tPOSTADMIN\n"
292 "MSIFASTINSTALL\t1\n";
296 "Property\tProperty\n"
297 "DefaultUIFont\tDlgFont8\n"
300 "InstallMode\tTypical\n"
301 "Manufacturer\tWine\n"
302 "PIDTemplate\t12345<###-%%%%%%%>@@@@@\n"
303 "ProductCode\t{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}\n"
305 "ProductLanguage\t1033\n"
306 "ProductName\tMSITEST\n"
307 "ProductVersion\t1.1.2\n"
308 "PROMPTROLLBACKCOST\tP\n"
310 "UpgradeCode\t{4C0EAA15-0264-4E5A-8758-609EF142B92D}\n"
311 "AdminProperties\tPOSTADMIN\n"
313 "RemovePreviousVersions\t1\n"
314 "MSIFASTINSTALL\t1\n";
317 "s72\ti2\tl255\tL255\tL0\ts72\n"
318 "Registry\tRegistry\n"
319 "Apples\t1\tSOFTWARE\\Wine\\msitest\tName\timaname\tOne\n"
320 "Oranges\t1\tSOFTWARE\\Wine\\msitest\tnumber\t#314\tTwo\n"
321 "regdata\t1\tSOFTWARE\\Wine\\msitest\tblah\tbad\tdangler\n"
322 "OrderTest\t1\tSOFTWARE\\Wine\\msitest\tOrderTestName\tOrderTestValue\tcomponent";
326 "s72\tS38\ts72\ti2\tS255\tS72\n"
327 "Component\tComponent\n"
328 "maximus\t\tMSITESTDIR\t0\t1\tmaximus\n"
329 "augustus\t\tMSITESTDIR\t0\t1\taugustus\n"
330 "caesar\t\tMSITESTDIR\t0\t1\tcaesar\n";
333 "s72\tS38\ts72\ti2\tS255\tS72\n"
334 "Component\tComponent\n"
335 "maximus\t\tMSITESTDIR\t0\t1\tmaximus\n"
336 "augustus\t\tMSITESTDIR\t0\t0\taugustus\n"
337 "caesar\t\tMSITESTDIR\t0\t1\tcaesar\n";
339static const CHAR cc_feature_dat[] =
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
340 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
342 "feature\t\t\t\t2\t1\tTARGETDIR\t0";
346 "FeatureComponents\tFeature_\tComponent_\n"
348 "feature\taugustus\n"
351static const CHAR cc_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
352 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
354 "maximus\tmaximus\tmaximus\t500\t\t\t16384\t1\n"
355 "augustus\taugustus\taugustus\t50000\t\t\t16384\t2\n"
356 "caesar\tcaesar\tcaesar\t500\t\t\t16384\t12";
358static const CHAR cc2_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
359 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
361 "maximus\tmaximus\tmaximus\t500\t\t\t16384\t1\n"
362 "augustus\taugustus\taugustus\t50000\t\t\t16384\t2\n"
363 "tiberius\tmaximus\ttiberius\t500\t\t\t16384\t3\n"
364 "caesar\tcaesar\tcaesar\t500\t\t\t16384\t12";
366static const CHAR cc_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
367 "i2\ti4\tL64\tS255\tS32\tS72\n"
369 "1\t10\t\ttest1.cab\tDISK1\t\n"
370 "2\t2\t\ttest2.cab\tDISK2\t\n"
371 "3\t12\t\ttest3.cab\tDISK3\t\n";
373static const CHAR cc3_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
374 "i2\ti4\tL64\tS255\tS32\tS72\n"
376 "1\t10\t\ttest1.cab\tDISK1\t\n"
377 "2\t2\t\ttest2_.cab\tDISK2\t\n"
378 "3\t12\t\ttest3.cab\tDISK3\t\n";
380static const CHAR co_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
381 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
383 "maximus\tmaximus\tmaximus\t500\t\t\t16384\t1\n"
384 "augustus\taugustus\taugustus\t50000\t\t\t16384\t2\n"
385 "caesar\tcaesar\tcaesar\t500\t\t\t16384\t3";
387static const CHAR co_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
388 "i2\ti4\tL64\tS255\tS32\tS72\n"
390 "1\t10\t\ttest1.cab\tDISK1\t\n"
391 "2\t2\t\ttest2.cab\tDISK2\t\n"
392 "3\t3\t\ttest3.cab\tDISK3\t\n";
394static const CHAR co2_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
395 "i2\ti4\tL64\tS255\tS32\tS72\n"
397 "1\t10\t\ttest1.cab\tDISK1\t\n"
398 "2\t12\t\ttest3.cab\tDISK3\t\n"
399 "3\t2\t\ttest2.cab\tDISK2\t\n";
401static const CHAR mm_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
402 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
404 "maximus\tmaximus\tmaximus\t500\t\t\t512\t1\n"
405 "augustus\taugustus\taugustus\t500\t\t\t512\t2\n"
406 "caesar\tcaesar\tcaesar\t500\t\t\t16384\t3";
408static const CHAR mm_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
409 "i2\ti4\tL64\tS255\tS32\tS72\n"
411 "1\t3\t\ttest1.cab\tDISK1\t\n";
413static const CHAR ss_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
414 "i2\ti4\tL64\tS255\tS32\tS72\n"
416 "1\t2\t\ttest1.cab\tDISK1\t\n"
417 "2\t2\t\ttest2.cab\tDISK2\t\n"
418 "3\t12\t\ttest3.cab\tDISK3\t\n";
422 "s72\tS38\ts72\ti2\tS255\tS72\n"
423 "Component\tComponent\n"
424 "maximus\t\tMSITESTDIR\t0\tHASUIRUN=1\tmaximus\n"
425 "augustus\t\tMSITESTDIR\t0\t1\taugustus\n"
426 "caesar\t\tMSITESTDIR\t0\t1\tcaesar\n";
430 "InstallUISequence\tAction\n"
431 "SetUIProperty\t\t5\n"
432 "ExecuteAction\t\t1100\n";
435 "s72\ti2\tS64\tS0\tS255\n"
436 "CustomAction\tAction\n"
437 "SetUIProperty\t51\tHASUIRUN\t1\t\n";
440 "s72\tS38\ts72\ti2\tS255\tS72\n"
441 "Component\tComponent\n"
442 "maximus\t\tMSITESTDIR\t0\t1\tmaximus\n";
444static const CHAR rof_feature_dat[] =
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
445 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
447 "feature\t\tFeature\tFeature\t2\t1\tTARGETDIR\t0\n"
448 "montecristo\t\tFeature\tFeature\t2\t1\tTARGETDIR\t0";
452 "FeatureComponents\tFeature_\tComponent_\n"
454 "montecristo\tmaximus";
456static const CHAR rof_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
457 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
459 "maximus\tmaximus\tmaximus\t500\t\t\t8192\t1";
461static const CHAR rof_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
462 "i2\ti4\tL64\tS255\tS32\tS72\n"
464 "1\t1\t\t\tDISK1\t\n";
466static const CHAR rofc_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
467 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
469 "maximus\tmaximus\tmaximus\t500\t\t\t16384\t1";
471static const CHAR rofc_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
472 "i2\ti4\tL64\tS255\tS32\tS72\n"
474 "1\t1\t\ttest1.cab\tDISK1\t\n";
478 "InstallExecuteSequence\tAction\n"
479 "AllocateRegistrySpace\tNOT Installed\t1550\n"
480 "CostFinalize\t\t1000\n"
481 "CostInitialize\t\t800\n"
483 "InstallFiles\t\t4000\n"
484 "InstallFinalize\t\t6600\n"
485 "InstallInitialize\t\t1500\n"
486 "InstallValidate\t\t1400\n"
487 "LaunchConditions\t\t100\n"
488 "SetDirProperty\t\t950";
491 "s72\ti2\tS64\tS0\tS255\n"
492 "CustomAction\tAction\n"
493 "SetDirProperty\t51\tMSITESTDIR\t[CommonFilesFolder]msitest\\\t\n";
497 "InstallExecuteSequence\tAction\n"
498 "LaunchConditions\t\t100\n"
499 "CostInitialize\t\t800\n"
501 "CostFinalize\t\t1000\n"
502 "InstallValidate\t\t1400\n"
503 "InstallInitialize\t\t1500\n"
504 "InstallFiles\t\t4000\n"
505 "InstallFinalize\t\t6600\n";
508 "s72\tS38\ts72\ti2\tS255\tS72\n"
509 "Component\tComponent\n"
510 "maximus\t\tMSITESTDIR\t0\t1\tmaximus\n"
511 "augustus\t\tMSITESTDIR\t0\t1\taugustus\n"
512 "caesar\t\tMSITESTDIR\t0\t1\tcaesar\n"
513 "gaius\t\tMSITESTDIR\t0\t1\tgaius\n";
517 "FeatureComponents\tFeature_\tComponent_\n"
519 "feature\taugustus\n"
523static const CHAR cie_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
524 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
526 "maximus\tmaximus\tmaximus\t500\t\t\t16384\t1\n"
527 "augustus\taugustus\taugustus\t50000\t\t\t16384\t2\n"
528 "caesar\tcaesar\tcaesar\t500\t\t\t16384\t12\n"
529 "gaius\tgaius\tgaius\t500\t\t\t8192\t11";
531static const CHAR cie_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
532 "i2\ti4\tL64\tS255\tS32\tS72\n"
534 "1\t1\t\ttest1.cab\tDISK1\t\n"
535 "2\t2\t\ttest2.cab\tDISK2\t\n"
536 "3\t12\t\ttest3.cab\tDISK3\t\n";
539 "s72\tS38\ts72\ti2\tS255\tS72\n"
540 "Component\tComponent\n"
541 "maximus\t{DF2CBABC-3BCC-47E5-A998-448D1C0C895B}\tMSITESTDIR\t0\tUILevel=5\tmaximus\n";
545 "FeatureComponents\tFeature_\tComponent_\n"
548static const CHAR ci2_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
549 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
551 "augustus\taugustus\taugustus\t500\t\t\t8192\t1";
555 "InstallExecuteSequence\tAction\n"
556 "ValidateProductID\t\t700\n"
557 "CostInitialize\t\t800\n"
559 "CostFinalize\t\t1000\n"
560 "InstallValidate\t\t1400\n"
561 "InstallInitialize\t\t1500\n"
562 "ProcessComponents\tPROCESS_COMPONENTS=1 Or FULL=1\t1600\n"
563 "UnpublishFeatures\tUNPUBLISH_FEATURES=1 Or FULL=1\t1800\n"
564 "RemoveFiles\t\t3500\n"
565 "InstallFiles\t\t4000\n"
566 "RegisterUser\tREGISTER_USER=1 Or FULL=1\t6000\n"
567 "RegisterProduct\tREGISTER_PRODUCT=1 Or FULL=1\t6100\n"
568 "PublishFeatures\tPUBLISH_FEATURES=1 Or FULL=1\t6300\n"
569 "PublishProduct\tPUBLISH_PRODUCT=1 Or FULL=1\t6400\n"
570 "InstallFinalize\t\t6600";
573 "s72\tS38\ts72\ti2\tS255\tS72\n"
574 "Component\tComponent\n"
575 "augustus\t\tMSITESTDIR\t0\tprop=\"val\"\taugustus\n";
578 "s72\tS38\ts72\ti2\tS255\tS72\n"
579 "Component\tComponent\n"
580 "augustus\t\tMSITESTDIR\t0\t\taugustus\n";
583 "s72\tS38\ts72\ti2\tS255\tS72\n"
584 "Component\tComponent\n"
585 "augustus\t\tMSITESTDIR\t0\tPOSTADMIN=1\taugustus";
588 "s72\ti2\tS64\tS0\tS255\n"
589 "CustomAction\tAction\n"
590 "SetPOSTADMIN\t51\tPOSTADMIN\t1\t\n";
594 "AdminExecuteSequence\tAction\n"
595 "CostFinalize\t\t1000\n"
596 "CostInitialize\t\t800\n"
598 "SetPOSTADMIN\t\t950\n"
599 "InstallFiles\t\t4000\n"
600 "InstallFinalize\t\t6600\n"
601 "InstallInitialize\t\t1500\n"
602 "InstallValidate\t\t1400\n"
603 "LaunchConditions\t\t100";
606 "s72\tS38\ts72\ti2\tS255\tS72\n"
607 "Component\tComponent\n"
608 "augustus\t\tMSITESTDIR\t0\tMYPROP=2718 and MyProp=42\taugustus\n";
612 "InstallExecuteSequence\tAction\n"
613 "ValidateProductID\t\t700\n"
614 "CostInitialize\t\t800\n"
616 "CostFinalize\t\t1000\n"
617 "InstallValidate\t\t1400\n"
618 "InstallInitialize\t\t1500\n"
619 "ProcessComponents\t\t1600\n"
620 "UnpublishFeatures\t\t1800\n"
621 "RemoveFiles\t\t3500\n"
622 "InstallFiles\t\t4000\n"
623 "RegisterProduct\t\t6100\n"
624 "PublishFeatures\t\t6300\n"
625 "PublishProduct\t\t6400\n"
626 "InstallFinalize\t\t6600";
629 "s72\tS38\ts72\ti2\tS255\tS72\n"
630 "Component\tComponent\n"
631 "maximus\t\tMSITESTDIR\t0\t1\tmaximus\n"
632 "augustus\t\tMSITESTDIR\t0\t1\taugustus\n"
633 "caesar\t\tMSITESTDIR\t0\t1\tcaesar\n"
634 "gaius\t\tMSITESTDIR\t0\tGAIUS=1\tgaius\n"
635 "tiberius\t\tMSITESTDIR\t0\t\ttiberius\n";
637static const CHAR mc_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
638 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
640 "maximus\tmaximus\tmaximus\t500\t\t\t16384\t1\n"
641 "augustus\taugustus\taugustus\t500\t\t\t0\t2\n"
642 "caesar\tcaesar\tcaesar\t500\t\t\t16384\t3\n"
643 "gaius\tgaius\tgaius\t500\t\t\t16384\t4\n"
644 "tiberius\ttiberius\ttiberius\t500\t\t\t0\t5\n";
646static const CHAR mc_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
647 "i2\ti4\tL64\tS255\tS32\tS72\n"
649 "1\t1\t\ttest1.cab\tDISK1\t\n"
650 "2\t2\t\ttest2.cab\tDISK2\t\n"
651 "3\t3\t\ttest3.cab\tDISK3\t\n"
652 "4\t4\t\ttest3.cab\tDISK3\t\n"
653 "5\t5\t\ttest4.cab\tDISK4\t\n";
656 "s72\ti2\ti4\ti4\ti4\ti4\n"
657 "MsiFileHash\tFile_\n"
658 "caesar\t0\t850433704\t-241429251\t675791761\t-1221108824";
661 "s72\tS38\ts72\ti2\tS255\tS72\n"
662 "Component\tComponent\n"
663 "augustus\t\tMSITESTDIR\t0\t\taugustus\n";
667 "InstallExecuteSequence\tAction\n"
668 "CostInitialize\t\t100\n"
670 "CostFinalize\t\t300\n"
671 "InstallValidate\t\t400\n"
672 "InstallInitialize\t\t500\n"
674 "maintest\tMAIN_TEST\t700\n"
675 "testretval\tTEST_RETVAL\t710\n"
676 "process1\tTEST_PROCESS\t720\n"
677 "process2\tTEST_PROCESS\t721\n"
678 "process_deferred\tTEST_PROCESS\t722\n"
679 "async1\tTEST_ASYNC\t730\n"
680 "async2\tTEST_ASYNC\t731\n"
681 "InstallFinalize\t\t800\n";
685 "CustomAction\tAction\n"
686 "embednull\t51\tembednullprop\ta[~]b\n"
687 "nested51\t51\tnested\t1\n"
688 "nested1\t1\tcustom.dll\tnested\n"
689 "maintest\t1\tcustom.dll\tmain_test\n"
690 "process1\t1\tcustom.dll\tprocess1\n"
691 "process2\t1\tcustom.dll\tprocess2\n"
692 "process_deferred\t1025\tcustom.dll\tprocess2\n"
693 "async1\t129\tcustom.dll\tasync1\n"
694 "async2\t1\tcustom.dll\tasync2\n"
695 "testretval\t1\tcustom.dll\ttest_retval\n";
699 "TestSequence\tAction\n"
710 "Table\tColumn\tNullable\tMinValue\tMaxValue\tKeyTable\tKeyColumn\tCategory\tSet\tDescription\n"
711 "s32\ts32\ts4\tI4\tI4\tS255\tI2\tS32\tS255\tS255\n"
712 "_Validation\tTable\tColumn\n"
713 "test2\tA\tN\t\t\t\t\t\t\t\n"
714 "test2\tB\tN\t\t\t\t\t\t\t\n";
717 "s72\tS38\ts72\ti2\tS255\tS72\n"
718 "Component\tComponent\n"
719 "augustus\t\tMSITESTDIR\t0\tMYPROP=42\taugustus\n";
723 "InstallExecuteSequence\tAction\n"
724 "ValidateProductID\t\t700\n"
725 "GoodSetProperty\t\t725\n"
726 "BadSetProperty\t\t750\n"
727 "CostInitialize\t\t800\n"
728 "ResolveSource\t\t810\n"
730 "SetSourceDir\tSRCDIR\t910\n"
731 "CostFinalize\t\t1000\n"
732 "InstallValidate\t\t1400\n"
733 "InstallInitialize\t\t1500\n"
734 "InstallFiles\t\t4000\n"
735 "InstallFinalize\t\t6600";
739 "CustomAction\tAction\n"
740 "GoodSetProperty\t51\tMYPROP\t42\n"
741 "BadSetProperty\t51\t\tMYPROP\n"
742 "SetSourceDir\t51\tSourceDir\t[SRCDIR]\n";
744static const CHAR is_feature_dat[] =
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
745 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
747 "one\t\t\t\t2\t1\t\t0\n"
748 "two\t\t\t\t2\t1\t\t1\n"
749 "three\t\t\t\t2\t1\t\t4\n"
750 "four\t\t\t\t2\t0\t\t0";
753 "s72\tS38\ts72\ti2\tS255\tS72\n"
754 "Component\tComponent\n"
755 "alpha\t\tMSITESTDIR\t0\t\talpha_file\n"
756 "beta\t\tMSITESTDIR\t1\t\tbeta_file\n"
757 "gamma\t\tMSITESTDIR\t2\t\tgamma_file\n"
758 "theta\t\tMSITESTDIR\t0\t\ttheta_file\n"
759 "delta\t\tMSITESTDIR\t1\t\tdelta_file\n"
760 "epsilon\t\tMSITESTDIR\t2\t\tepsilon_file\n"
761 "zeta\t\tMSITESTDIR\t0\t\tzeta_file\n"
762 "iota\t\tMSITESTDIR\t1\t\tiota_file\n"
763 "eta\t\tMSITESTDIR\t2\t\teta_file\n"
764 "kappa\t\tMSITESTDIR\t0\t\tkappa_file\n"
765 "lambda\t\tMSITESTDIR\t1\t\tlambda_file\n"
766 "mu\t\tMSITESTDIR\t2\t\tmu_file\n";
770 "FeatureComponents\tFeature_\tComponent_\n"
784static const CHAR is_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
785 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
787 "alpha_file\talpha\talpha\t500\t\t\t8192\t1\n"
788 "beta_file\tbeta\tbeta\t500\t\t\t8291\t2\n"
789 "gamma_file\tgamma\tgamma\t500\t\t\t8192\t3\n"
790 "theta_file\ttheta\ttheta\t500\t\t\t8192\t4\n"
791 "delta_file\tdelta\tdelta\t500\t\t\t8192\t5\n"
792 "epsilon_file\tepsilon\tepsilon\t500\t\t\t8192\t6\n"
793 "zeta_file\tzeta\tzeta\t500\t\t\t8192\t7\n"
794 "iota_file\tiota\tiota\t500\t\t\t8192\t8\n"
795 "eta_file\teta\teta\t500\t\t\t8192\t9\n"
796 "kappa_file\tkappa\tkappa\t500\t\t\t8192\t10\n"
797 "lambda_file\tlambda\tlambda\t500\t\t\t8192\t11\n"
798 "mu_file\tmu\tmu\t500\t\t\t8192\t12";
800static const CHAR is_media_dat[] =
"DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n"
801 "i2\ti4\tL64\tS255\tS32\tS72\n"
803 "1\t12\t\t\tDISK1\t\n";
806 "s72\tS38\ts72\ti2\tS255\tS72\n"
807 "Component\tComponent\n"
808 "augustus\t\tTWODIR\t0\t\taugustus\n";
812 "Directory\tDirectory\n"
813 "TARGETDIR\t\tSourceDir\n"
814 "ProgramFilesFolder\tTARGETDIR\t.\n"
815 "MSITESTDIR\tProgramFilesFolder\tmsitest:.\n"
816 "ONEDIR\tMSITESTDIR\t.:shortone|longone\n"
817 "TWODIR\tONEDIR\t.:shorttwo|longtwo";
820 "s72\tS38\ts72\ti2\tS255\tS72\n"
821 "Component\tComponent\n"
822 "hydrogen\t{C844BD1E-1907-4C00-8BC9-150BD70DF0A1}\tMSITESTDIR\t2\t\thydrogen\n"
823 "helium\t{5AD3C142-CEF8-490D-B569-784D80670685}\tMSITESTDIR\t2\t\thelium\n"
824 "lithium\t{4AF28FFC-71C7-4307-BDE4-B77C5338F56F}\tMSITESTDIR\t2\tPROPVAR=42\tlithium\n";
826static const CHAR mcp_feature_dat[] =
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
827 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
829 "hydroxyl\t\thydroxyl\thydroxyl\t2\t1\tTARGETDIR\t0\n"
830 "heliox\t\theliox\theliox\t2\t5\tTARGETDIR\t0\n"
831 "lithia\t\tlithia\tlithia\t2\t10\tTARGETDIR\t0";
835 "FeatureComponents\tFeature_\tComponent_\n"
836 "hydroxyl\thydrogen\n"
840static const CHAR mcp_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
841 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
843 "hydrogen\thydrogen\thydrogen\t0\t\t\t8192\t1\n"
844 "helium\thelium\thelium\t0\t\t\t8192\t1\n"
845 "lithium\tlithium\tlithium\t0\t\t\t8192\t1\n"
846 "beryllium\tmissingcomp\tberyllium\t0\t\t\t8192\t1";
848static const CHAR ai_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
849 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
851 "five.txt\tFive\tfive.txt\t1000\t\t\t16384\t5\n"
852 "four.txt\tFour\tfour.txt\t1000\t\t\t16384\t4\n"
853 "one.txt\tOne\tone.txt\t1000\t\t\t16384\t1\n"
854 "three.txt\tThree\tthree.txt\t1000\t\t\t16384\t3\n"
855 "two.txt\tTwo\ttwo.txt\t1000\t\t\t16384\t2\n"
856 "file\tcomponent\tfilename\t100\t\t\t8192\t1\n";
860 "InstallExecuteSequence\tAction\n"
861 "CostFinalize\t\t1000\n"
862 "ValidateProductID\t\t700\n"
863 "CostInitialize\t\t800\n"
865 "RemoveFiles\t\t3500\n"
866 "InstallFiles\t\t4000\n"
867 "RegisterUser\t\t6000\n"
868 "RegisterProduct\t\t6100\n"
869 "PublishFeatures\t\t6300\n"
870 "PublishProduct\t\t6400\n"
871 "InstallFinalize\t\t6600\n"
872 "InstallInitialize\t\t1500\n"
873 "ProcessComponents\t\t1600\n"
874 "UnpublishFeatures\t\t1800\n"
875 "InstallValidate\t\t1400\n"
876 "LaunchConditions\t\t100\n"
877 "TestInstalledProp\tInstalled AND NOT REMOVE\t950\n";
880 "s72\ti2\tS64\tS0\tS255\n"
881 "CustomAction\tAction\n"
882 "TestInstalledProp\t19\t\tTest failed\t\n";
886 "InstallExecuteSequence\tAction\n"
887 "CostFinalize\t\t1000\n"
888 "ValidateProductID\t\t700\n"
889 "CostInitialize\t\t800\n"
891 "RemoveFiles\t\t3500\n"
892 "InstallFiles\t\t4000\n"
893 "RegisterUser\t\t6000\n"
894 "RegisterProduct\t\t6100\n"
895 "PublishFeatures\t\t6300\n"
896 "PublishProduct\t\t6400\n"
897 "InstallFinalize\t\t6600\n"
898 "InstallInitialize\t\t1500\n"
899 "ProcessComponents\t\t1600\n"
900 "UnpublishFeatures\t\t1800\n"
901 "InstallValidate\t\t1400\n"
902 "LaunchConditions\t\t100\n"
903 "TestAllUsersProp\tALLUSERS AND NOT REMOVE\t50\n";
907 "InstallExecuteSequence\tAction\n"
908 "CostFinalize\t\t1000\n"
909 "ValidateProductID\t\t700\n"
910 "CostInitialize\t\t800\n"
912 "RemoveFiles\t\t3500\n"
913 "InstallFiles\t\t4000\n"
914 "RegisterUser\t\t6000\n"
915 "RegisterProduct\t\t6100\n"
916 "PublishFeatures\t\t6300\n"
917 "PublishProduct\t\t6400\n"
918 "InstallFinalize\t\t6600\n"
919 "InstallInitialize\t\t1500\n"
920 "ProcessComponents\t\t1600\n"
921 "UnpublishFeatures\t\t1800\n"
922 "InstallValidate\t\t1400\n"
923 "LaunchConditions\t\t100\n"
924 "TestAllUsersProp\tALLUSERS=2 AND NOT REMOVE\t50\n";
928 "InstallExecuteSequence\tAction\n"
929 "CostFinalize\t\t1000\n"
930 "ValidateProductID\t\t700\n"
931 "CostInitialize\t\t800\n"
933 "RemoveFiles\t\t3500\n"
934 "InstallFiles\t\t4000\n"
935 "RegisterUser\t\t6000\n"
936 "RegisterProduct\t\t6100\n"
937 "PublishFeatures\t\t6300\n"
938 "PublishProduct\t\t6400\n"
939 "InstallFinalize\t\t6600\n"
940 "InstallInitialize\t\t1500\n"
941 "ProcessComponents\t\t1600\n"
942 "UnpublishFeatures\t\t1800\n"
943 "InstallValidate\t\t1400\n"
944 "LaunchConditions\t\t100\n"
945 "TestAllUsersProp\tALLUSERS=1 AND NOT REMOVE\t50\n";
948 "s72\ti2\tS64\tS0\tS255\n"
949 "CustomAction\tAction\n"
950 "TestAllUsersProp\t19\t\tTest failed\t\n";
952static const CHAR fo_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
953 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
955 "override.txt\toverride\toverride.txt\t1000\t\t\t8192\t1\n"
956 "preselected.txt\tpreselected\tpreselected.txt\t1000\t\t\t8192\t2\n"
957 "notpreselected.txt\tnotpreselected\tnotpreselected.txt\t1000\t\t\t8192\t3\n";
959static const CHAR fo_feature_dat[] =
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
960 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
962 "override\t\t\toverride feature\t1\t1\tMSITESTDIR\t0\n"
963 "preselected\t\t\tpreselected feature\t1\t1\tMSITESTDIR\t0\n"
964 "notpreselected\t\t\tnotpreselected feature\t1\t1\tMSITESTDIR\t0\n";
968 "Condition\tFeature_\tLevel\n"
969 "preselected\t0\tPreselected AND NOT REMOVE\n"
970 "notpreselected\t0\tNOT Preselected AND NOT REMOVE\n";
974 "FeatureComponents\tFeature_\tComponent_\n"
975 "override\toverride\n"
976 "preselected\tpreselected\n"
977 "notpreselected\tnotpreselected\n";
980 "s72\tS38\ts72\ti2\tS255\tS72\n"
981 "Component\tComponent\n"
982 "override\t{0A00FB1D-97B0-4B42-ADF0-BB8913416623}\tMSITESTDIR\t0\t\toverride.txt\n"
983 "preselected\t{44E1DB75-605A-43DD-8CF5-CAB17F1BBD60}\tMSITESTDIR\t0\t\tpreselected.txt\n"
984 "notpreselected\t{E1647733-5E75-400A-A92E-5E60B4D4EF9F}\tMSITESTDIR\t0\t\tnotpreselected.txt\n";
987 "s72\ti2\tS64\tS0\tS255\n"
988 "CustomAction\tAction\n"
989 "SetPreselected\t51\tPreselected\t1\t\n";
993 "InstallExecuteSequence\tAction\n"
994 "LaunchConditions\t\t100\n"
995 "SetPreselected\tpreselect=1\t200\n"
996 "CostInitialize\t\t800\n"
998 "CostFinalize\t\t1000\n"
999 "InstallValidate\t\t1400\n"
1000 "InstallInitialize\t\t1500\n"
1001 "ProcessComponents\t\t1600\n"
1002 "RemoveFiles\t\t1700\n"
1003 "InstallFiles\t\t2000\n"
1004 "RegisterProduct\t\t5000\n"
1005 "PublishFeatures\t\t5100\n"
1006 "PublishProduct\t\t5200\n"
1007 "UnpublishFeatures\t\t5300\n"
1008 "InstallFinalize\t\t6000\n";
1010static const CHAR uc_file_dat[] =
"File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
1011 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
1013 "upgradecode.txt\tupgradecode\tupgradecode.txt\t1000\t\t\t8192\t1\n";
1015static const CHAR uc_feature_dat[] =
"Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
1016 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
1017 "Feature\tFeature\n"
1018 "upgradecode\t\t\tupgradecode feature\t1\t2\tMSITESTDIR\t0\n";
1022 "FeatureComponents\tFeature_\tComponent_\n"
1023 "upgradecode\tupgradecode\n";
1026 "s72\tS38\ts72\ti2\tS255\tS72\n"
1027 "Component\tComponent\n"
1028 "upgradecode\t{6952B732-2FCB-4E47-976F-989FCBD7EDFB}\tMSITESTDIR\t0\t\tupgradecode.txt\n";
1032 "Property\tProperty\n"
1034 "ProductCode\t{E5FB1241-F547-4BA7-A60E-8E75797268D4}\n"
1035 "ProductName\tMSITEST\n"
1036 "ProductVersion\t1.1.1\n"
1037 "UpgradeCode\t#UPGEADECODE#\n"
1038 "MSIFASTINSTALL\t1\n";
1042 "InstallExecuteSequence\tAction\n"
1043 "LaunchConditions\t\t100\n"
1044 "CostInitialize\t\t200\n"
1046 "CostFinalize\t\t400\n"
1047 "InstallInitialize\t\t500\n"
1048 "ProcessComponents\t\t600\n"
1049 "InstallValidate\t\t700\n"
1050 "RemoveFiles\t\t800\n"
1051 "InstallFiles\t\t900\n"
1052 "RegisterProduct\t\t1000\n"
1053 "PublishFeatures\t\t1100\n"
1054 "PublishProduct\t\t1200\n"
1055 "UnpublishFeatures\t\t1250\n"
1056 "InstallFinalize\t\t1300\n";
1059 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
1060 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
1061 "Feature\tFeature\n"
1062 "feature1\t\t\t\t1\t2\tMSITESTDIR\t0\n"
1063 "feature2\t\t\t\t1\t2\tMSITESTDIR\t0\n";
1066 "Feature_\tComponent_\n"
1068 "FeatureComponents\tFeature_\tComponent_\n"
1070 "feature2\tcomp2\n";
1073 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
1074 "s72\tS38\ts72\ti2\tS255\tS72\n"
1075 "Component\tComponent\n"
1076 "comp1\t{DE9F0EF4-0ED3-495A-8105-060C0EA457B8}\tTARGETDIR\t4\t\tregdata1\n"
1077 "comp2\t{4912DBE7-FC3A-4F91-BB5C-88F5C15C19A5}\tTARGETDIR\t260\t\tregdata2\n";
1080 "Registry\tRoot\tKey\tName\tValue\tComponent_\n"
1081 "s72\ti2\tl255\tL255\tL0\ts72\n"
1082 "Registry\tRegistry\n"
1083 "regdata1\t2\tSOFTWARE\\Wine\\msitest\ttest1\t\tcomp1\n"
1084 "regdata2\t2\tSOFTWARE\\Wine\\msitest\ttest2\t\tcomp2\n"
1085 "regdata3\t0\tCLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\t\tCLSID_Winetest32\tcomp1\n"
1086 "regdata4\t0\tCLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\\InProcServer32\t\twinetest32.dll\tcomp1\n"
1087 "regdata5\t0\tCLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\t\tCLSID_Winetest64\tcomp2\n"
1088 "regdata6\t0\tCLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\\InProcServer32\t\twinetest64.dll\tcomp2\n";
1091 "Action\tCondition\tSequence\n"
1093 "InstallExecuteSequence\tAction\n"
1094 "LaunchConditions\t\t100\n"
1095 "CostInitialize\t\t200\n"
1097 "CostFinalize\t\t400\n"
1098 "InstallValidate\t\t500\n"
1099 "InstallInitialize\t\t600\n"
1100 "ProcessComponents\t\t700\n"
1101 "UnpublishFeatures\t\t800\n"
1102 "RemoveRegistryValues\t\t900\n"
1103 "WriteRegistryValues\t\t1000\n"
1104 "RegisterProduct\t\t1100\n"
1105 "PublishFeatures\t\t1200\n"
1106 "PublishProduct\t\t1300\n"
1107 "InstallFinalize\t\t1400\n";
1110 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
1111 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
1113 "volumeprop\tcomp\tvolumeprop.txt\t1000\t\t\t8192\t1\n";
1116 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
1117 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
1118 "Feature\tFeature\n"
1119 "feature\t\t\t\t1\t2\tMSITESTDIR\t0\n";
1122 "Feature_\tComponent_\n"
1124 "FeatureComponents\tFeature_\tComponent_\n"
1128 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
1129 "s72\tS38\ts72\ti2\tS255\tS72\n"
1130 "Component\tComponent\n"
1131 "comp\t{24364AE7-5B7F-496C-AF5A-54893639C567}\tMSITESTDIR\t0\t\tvolumeprop\n";
1134 "Action\tType\tSource\tTarget\tISComments\n"
1135 "s72\ti2\tS64\tS0\tS255\n"
1136 "CustomAction\tAction\n"
1137 "TestPrimaryVolumePath0\t19\t\tPrimaryVolumePath set before CostFinalize\t\n"
1138 "TestPrimaryVolumeSpaceAvailable0\t19\t\tPrimaryVolumeSpaceAvailable set before CostFinalize\t\n"
1139 "TestPrimaryVolumeSpaceRequired0\t19\t\tPrimaryVolumeSpaceRequired set before CostFinalize\t\n"
1140 "TestPrimaryVolumeSpaceRemaining0\t19\t\tPrimaryVolumeSpaceRemaining set before CostFinalize\t\n"
1141 "TestPrimaryVolumePath1\t19\t\tPrimaryVolumePath set before InstallValidate\t\n"
1142 "TestPrimaryVolumeSpaceAvailable1\t19\t\tPrimaryVolumeSpaceAvailable not set before InstallValidate\t\n"
1143 "TestPrimaryVolumeSpaceRequired1\t19\t\tPrimaryVolumeSpaceRequired not set before InstallValidate\t\n"
1144 "TestPrimaryVolumeSpaceRemaining1\t19\t\tPrimaryVolumeSpaceRemaining not set before InstallValidate\t\n"
1145 "TestPrimaryVolumePath2\t19\t\tPrimaryVolumePath not set after InstallValidate\t\n"
1146 "TestPrimaryVolumeSpaceAvailable2\t19\t\tPrimaryVolumeSpaceAvailable not set after InstallValidate\t\n"
1147 "TestPrimaryVolumeSpaceRequired2\t19\t\tPrimaryVolumeSpaceRequired not set after InstallValidate\t\n"
1148 "TestPrimaryVolumeSpaceRemaining2\t19\t\tPrimaryVolumeSpaceRemaining not set after InstallValidate\t\n";
1151 "Action\tCondition\tSequence\n"
1153 "InstallExecuteSequence\tAction\n"
1154 "LaunchConditions\t\t100\n"
1155 "CostInitialize\t\t200\n"
1157 "TestPrimaryVolumePath0\tPrimaryVolumePath AND NOT REMOVE\t400\n"
1158 "TestPrimaryVolumeSpaceAvailable0\tPrimaryVolumeSpaceAvailable AND NOT REMOVE\t500\n"
1159 "TestPrimaryVolumeSpaceRequired0\tPrimaryVolumeSpaceRequired AND NOT REMOVE\t510\n"
1160 "TestPrimaryVolumeSpaceRemaining0\tPrimaryVolumeSpaceRemaining AND NOT REMOVE\t520\n"
1161 "CostFinalize\t\t600\n"
1162 "TestPrimaryVolumePath1\tPrimaryVolumePath AND NOT REMOVE\t600\n"
1163 "TestPrimaryVolumeSpaceAvailable1\tNOT PrimaryVolumeSpaceAvailable AND NOT REMOVE\t800\n"
1164 "TestPrimaryVolumeSpaceRequired1\tNOT PrimaryVolumeSpaceRequired AND NOT REMOVE\t810\n"
1165 "TestPrimaryVolumeSpaceRemaining1\tNOT PrimaryVolumeSpaceRemaining AND NOT REMOVE\t820\n"
1166 "InstallValidate\t\t900\n"
1167 "TestPrimaryVolumePath2\tNOT PrimaryVolumePath AND NOT REMOVE\t1000\n"
1168 "TestPrimaryVolumeSpaceAvailable2\tNOT PrimaryVolumeSpaceAvailable AND NOT REMOVE\t1100\n"
1169 "TestPrimaryVolumeSpaceRequired2\tNOT PrimaryVolumeSpaceRequired AND NOT REMOVE\t1110\n"
1170 "TestPrimaryVolumeSpaceRemaining2\tNOT PrimaryVolumeSpaceRemaining AND NOT REMOVE\t1120\n"
1171 "InstallInitialize\t\t1200\n"
1172 "ProcessComponents\t\t1300\n"
1173 "RemoveFiles\t\t1400\n"
1174 "InstallFiles\t\t1500\n"
1175 "RegisterProduct\t\t1600\n"
1176 "PublishFeatures\t\t1700\n"
1177 "PublishProduct\t\t1800\n"
1178 "UnpublishFeatures\t\t1850\n"
1179 "InstallFinalize\t\t1900\n";
1184 "Property\tProperty\n"
1186 "ProductCode\t{5CD99CD0-69C7-409B-9905-82DD743CC840}\n"
1187 "ProductName\tMSITEST\n"
1188 "ProductVersion\t1.1.1\n"
1189 "MSIFASTINSTALL\t1\n";
1194 "Property\tProperty\n"
1196 "ProductCode\t{4CEFADE5-DAFB-4C21-8EF2-4ED4F139F340}\n"
1197 "ProductName\tMSITEST2\n"
1198 "ProductVersion\t1.1.1\n"
1199 "MSIFASTINSTALL\t1\n";
1202 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
1203 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
1205 "sharedcomponent\tsharedcomponent\tsharedcomponent.txt\t1000\t\t\t8192\t1\n";
1208 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
1209 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
1210 "Feature\tFeature\n"
1211 "feature\t\t\t\t1\t2\tMSITESTDIR\t0\n";
1214 "Feature_\tComponent_\n"
1216 "FeatureComponents\tFeature_\tComponent_\n"
1217 "feature\tsharedcomponent\n";
1220 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
1221 "s72\tS38\ts72\ti2\tS255\tS72\n"
1222 "Component\tComponent\n"
1223 "sharedcomponent\t{900A4ACB-DC6F-4795-A04B-81B530183D41}\tMSITESTDIR\t0\t\tsharedcomponent\n";
1226 "Action\tType\tSource\tTarget\tISComments\n"
1227 "s72\ti2\tS64\tS0\tS255\n"
1228 "CustomAction\tAction\n"
1229 "TestComponentAction\t19\t\twrong component action on install\t\n"
1230 "TestDisallowedAction\t19\t\twrong component action on disallowed remove\t\n"
1231 "TestRemoveAction\t19\t\twrong component action on remove\t\n";
1234 "Action\tCondition\tSequence\n"
1236 "InstallExecuteSequence\tAction\n"
1237 "LaunchConditions\t\t100\n"
1238 "CostInitialize\t\t200\n"
1240 "CostFinalize\t\t600\n"
1241 "TestDisallowedAction\tREMOVE AND ($sharedcomponent <> -1)\t700\n"
1242 "InstallValidate\t\t900\n"
1243 "InstallInitialize\t\t1200\n"
1244 "ProcessComponents\t\t1300\n"
1245 "RemoveFiles\t\t1400\n"
1246 "InstallFiles\t\t1500\n"
1247 "TestComponentAction\tNOT REMOVE AND ($sharedcomponent <> 3)\t1600\n"
1248 "RegisterProduct\t\t1700\n"
1249 "PublishFeatures\t\t1800\n"
1250 "PublishProduct\t\t1900\n"
1251 "UnpublishFeatures\t\t1950\n"
1252 "InstallFinalize\t\t2000\n";
1255 "Action\tCondition\tSequence\n"
1257 "InstallExecuteSequence\tAction\n"
1258 "LaunchConditions\t\t100\n"
1259 "CostInitialize\t\t200\n"
1261 "CostFinalize\t\t600\n"
1262 "TestRemoveAction\tREMOVE AND ($sharedcomponent <> 2)\t700\n"
1263 "InstallValidate\t\t900\n"
1264 "InstallInitialize\t\t1200\n"
1265 "ProcessComponents\t\t1300\n"
1266 "RemoveFiles\t\t1400\n"
1267 "InstallFiles\t\t1500\n"
1268 "TestComponentAction\tNOT REMOVE AND ($sharedcomponent <> 3)\t1600\n"
1269 "RegisterProduct\t\t1700\n"
1270 "PublishFeatures\t\t1800\n"
1271 "PublishProduct\t\t1900\n"
1272 "UnpublishFeatures\t\t1950\n"
1273 "InstallFinalize\t\t2000\n";
1276 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
1277 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
1279 "featuretree\tcomp\tfeaturetree.txt\t1000\t\t\t8192\t1\n";
1282 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
1283 "s72\tS38\ts72\ti2\tS255\tS72\n"
1284 "Component\tComponent\n"
1285 "comp\t{12345678-1234-1234-1234-222222222222}\tTARGETDIR\t0\t\t\n"
1286 "comp2\t{12345678-1234-1234-1234-333333333333}\tTARGETDIR\t0\t\tfeaturetree\n";
1289 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
1290 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
1291 "Feature\tFeature\n"
1292 "A\t\t\t\t2\t1\t\t0\n"
1293 "C\tB\t\t\t2\t1\t\t0\n"
1294 "B\tA\t\t\t4\t1\t\t0\n"
1295 "D\t\t\t\t2\t1\t\t0\n";
1298 "Feature_\tComponent_\n"
1300 "FeatureComponents\tFeature_\tComponent_\n"
1305 "Feature_\tLevel\tCondition\n"
1307 "Condition\tFeature_\tLevel\n"
1308 "A\t0\t\"0\"<>INSTALLTYPE\n";
1311 "Action\tType\tSource\tTarget\tISComments\n"
1312 "s72\ti2\tS64\tS0\tS255\n"
1313 "CustomAction\tAction\n"
1314 "Run A\t19\t\tA\t\n"
1315 "Run B\t19\t\tB\t\n"
1316 "Run C\t19\t\tC\t\n";
1319 "Action\tCondition\tSequence\n"
1321 "InstallExecuteSequence\tAction\n"
1322 "CostInitialize\t\t100\n"
1324 "CostFinalize\t\t300\n"
1325 "InstallValidate\t\t400\n"
1326 "InstallInitialize\t\t500\n"
1327 "Run C\t3 = &C AND NOT Installed\t600\n"
1328 "Run B\t3 = &B AND NOT Installed\t700\n"
1329 "Run A\t3 = &A AND NOT Installed\t800\n"
1330 "ProcessComponents\t\t900\n"
1331 "RemoveFiles\t\t1000\n"
1332 "InstallFiles\t\t1100\n"
1333 "RegisterProduct\t\t1200\n"
1334 "PublishFeatures\t\t1300\n"
1335 "PublishProduct\t\t1400\n"
1336 "UnpublishFeatures\t\t1450\n"
1337 "InstallFinalize\t\t1500\n";
1340 "Action\tType\tSource\tTarget\n"
1341 "s72\ti2\tS64\tS0\n"
1342 "CustomAction\tAction\n"
1343 "setprop\t51\tdeferred\t[TESTPATH]\n"
1344 "immediate\t1\tcustom.dll\tda_immediate\n"
1345 "deferred\t1025\tcustom.dll\tda_deferred\n";
1348 "Action\tCondition\tSequence\n"
1350 "InstallExecuteSequence\tAction\n"
1351 "CostInitialize\t\t200\n"
1353 "CostFinalize\t\t400\n"
1354 "InstallInitialize\t\t500\n"
1357 "immediate\t\t800\n"
1358 "InstallFinalize\t\t1100\n";
1361 "Directory\tDirectory_Parent\tDefaultDir\n"
1363 "Directory\tDirectory\n"
1364 "CABOUTDIR\tMSITESTDIR\tcabout\n"
1365 "CHANGEDDIR\tMSITESTDIR\tchanged:second\n"
1366 "FIRSTDIR\tMSITESTDIR\tfirst\n"
1367 "MSITESTDIR\tProgramFiles64Folder\tmsitest\n"
1368 "NEWDIR\tCABOUTDIR\tnew\n"
1369 "ProgramFiles64Folder\tTARGETDIR\t.\n"
1370 "TARGETDIR\t\tSourceDir";
1373 "Action\tCondition\tSequence\n"
1375 "InstallExecuteSequence\tAction\n"
1376 "CostInitialize\t\t200\n"
1378 "CostFinalize\t\t400\n"
1379 "InstallValidate\t\t500\n"
1380 "InstallInitialize\t\t600\n"
1381 "sourcedir_unset\tSourceDir\t700\n"
1382 "ResolveSource\tRESOLVE_SOURCE\t800\n"
1383 "ProcessComponents\tPROCESS_COMPONENTS\t800\n"
1384 "InstallFiles\tINSTALL_FILES\t800\n"
1385 "sourcedir_set\tNOT SourceDir\t900\n"
1386 "InstallFinalize\t\t1000\n";
1389 "Action\tType\tSource\tTarget\n"
1390 "s72\ti2\tS64\tS0\n"
1391 "CustomAction\tAction\n"
1392 "sourcedir_unset\t19\t\tSourceDir should not be set\n"
1393 "sourcedir_set\t19\t\tSourceDir should be set\n";
1396 "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
1397 "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
1399 "five.txt\tFive\tfive.txt\t1000\t\t\t0\t5\n"
1400 "four.txt\tFour\tfour.txt\t1000\t\t\t0\t4\n";
1403 "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
1404 "s72\tS38\ts72\ti2\tS255\tS72\n"
1405 "Component\tComponent\n"
1406 "Five\t{8CC92E9D-14B2-4CA4-B2AA-B11D02078087}\tNEWDIR\t2\t\tfive.txt\n"
1407 "Four\t{FD37B4EA-7209-45C0-8917-535F35A2F080}\tCABOUTDIR\t2\t\tfour.txt\n";
1410 "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
1411 "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
1412 "Feature\tFeature\n"
1413 "Five\t\tFive\tThe Five Feature\t5\t3\tNEWDIR\t0\n"
1414 "Four\t\tFour\tThe Four Feature\t4\t3\tCABOUTDIR\t0\n";
1417 "Feature_\tComponent_\n"
1419 "FeatureComponents\tFeature_\tComponent_\n"
2121#define MEDIA_SIZE 0x7FFFFFFF
2122#define FOLDER_THRESHOLD 900000
2148 BOOL fContinuation,
void *pv)
2157 DWORD dwShareMode = 0;
2169 dwCreateDisposition, 0,
NULL);
2183 ok(
res,
"Failed to ReadFile\n");
2195 ok(
res,
"Failed to WriteFile\n");
2222 ok(
ret,
"Failed to DeleteFile %s\n", pszFile);
2234#define GET_PROC(mod, func) \
2235 p ## func = (void*)GetProcAddress(mod, #func); \
2237 trace("GetProcAddress(%s) failed\n", #func);
2265 trace(
"Could not check if the current user is an administrator\n");
2308 if (tempname && (
strlen(tempname) < (
unsigned)cbTempName))
2334 ok(
res,
"Expected GetFileInformationByHandle to succeed\n");
2366 pCabParams->
setID = 0xbeef;
2367 pCabParams->
iCab = 1;
2387 ok(hfci !=
NULL,
"Failed to create an FCI context\n");
2393 ok(
res,
"Failed to add file: %s\n",
ptr);
2398 ok(
res,
"Failed to flush the cabinet\n");
2401 ok(
res,
"Failed to destroy the cabinet\n");
2410 "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", &hkey))
2578 ok(
delete_pf(
"msitest\\cabout\\new\\five.txt",
TRUE),
"File not installed\n");
2580 ok(
delete_pf(
"msitest\\cabout\\four.txt",
TRUE),
"File not installed\n");
2582 ok(
delete_pf(
"msitest\\changed\\three.txt",
TRUE),
"File not installed\n");
2584 ok(
delete_pf(
"msitest\\first\\two.txt",
TRUE),
"File not installed\n");
2602 const char *
template,
const char *packagecode)
2646 ok(
res != 0,
"couldn't find resource\n" );
2686 res =
run_query(hdb, 0,
"CREATE TABLE `Binary` (`Name` CHAR(72) NOT NULL, `Data` OBJECT NOT NULL PRIMARY KEY `Name`)");
2693 res =
run_query(hdb,
record,
"INSERT INTO `Binary` (`Name`, `Data`) VALUES ('custom.dll', ?)");
2700 INT version,
INT wordcount,
const char *
template,
const char *packagecode)
2715 for (
j = 0;
j < num_tables;
j++)
2746 return pSRSetRestorePointA(&spec,
status);
2753 res = pSRRemoveRestorePoint(seq_number);
2755 trace(
"Failed to remove the restore point: %#lx\n",
res);
2760 if (pRegDeleteKeyExA)
2761 return pRegDeleteKeyExA(
key, subkey,
access, 0 );
2776 skip(
"process is limited\n");
2797 "Expected ERROR_PATH_NOT_FOUND, got %d\n",
r);
2806 skip(
"Not enough rights to perform tests\n");
2831 ok(
num == 314,
"Expected 314, got %lu\n",
num);
2970 skip(
"Not enough rights to perform tests\n");
3019 query =
"SELECT * FROM `Media`";
3028 ok(
check_record(rec, 2,
"LastSequence"),
"wrong column label\n");
3059 static CHAR cab_context[] =
"test%d.cab";
3072 ok(hfci !=
NULL,
"Failed to create an FCI context\n");
3075 ok(
res,
"Failed to add file maximus\n");
3078 ok(
res,
"Failed to add file augustus\n");
3081 ok(
res,
"Failed to add file tiberius\n");
3084 ok(
res,
"Failed to flush the cabinet\n");
3087 ok(
res,
"Failed to destroy the cabinet\n");
3121 skip(
"process is limited\n");
3133 skip(
"Not enough rights to perform tests\n");
3156 skip(
"Not enough rights to perform tests\n");
3182 skip(
"Not enough rights to perform tests\n");
3198 ok(
MoveFileA(
"test2.cab",
"test2_.cab"),
"Cannot rename test2.cab to test2_.cab\n");
3206 skip(
"Not enough rights to perform tests\n");
3242 skip(
"Not enough rights to perform tests\n");
3314 skip(
"process is limited\n");
3332 skip(
"Not enough rights to perform tests\n");
3399 ok(!
delete_pf(
"msitest\\maximus",
TRUE),
"UI install occurred, but execute-only was requested.\n");
3434 skip(
"process is limited\n");
3458 skip(
"Not enough rights to perform tests\n");
3483 skip(
"process is limited\n");
3510 skip(
"Not enough rights to perform tests\n");
3522 ok(!
memcmp(
buf,
"maximus",
sizeof(
"maximus")-1 ),
"Expected file to be overwritten, got '%s'\n",
buf);
3540 skip(
"process is limited\n");
3553 skip(
"Not enough rights to perform tests\n");
3573 skip(
"process is limited\n");
3594 skip(
"Not enough rights to perform tests\n");
3682 "{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}1.1.1;"
3683 "{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}1.1.1;"
3684 "{4C0EAA15-0264-4E5A-8758-609EF142B92D}");
3715 query =
"INSERT INTO `Property` ( `Property`, `Value` ) VALUES ( 'prop', 'val' )";
3735static const WCHAR name1[] = { 0x4840, 0x3f3f, 0x4577, 0x446c, 0x3b6a, 0x45e4, 0x4824, 0 };
3736static const WCHAR name2[] = { 0x4840, 0x3f3f, 0x4577, 0x446c, 0x3e6a, 0x44b2, 0x482f, 0 };
3737static const WCHAR name3[] = { 0x4840, 0x4559, 0x44f2, 0x4568, 0x4737, 0 };
3751 0x0201, 0x0001, 0x0002,
3754static const struct {