38static const char msifile[] =
"winetest-package.msi";
64 DWORD dwMaxSubkeyLen, dwMaxValueLen;
81 dwMaxLen =
max(dwMaxSubkeyLen, dwMaxValueLen);
117 if (lpszName != szNameBuf)
free(lpszName);
163 ok(
hr ==
S_OK,
"Expected S_OK, got %#lx\n",
hr);
166 ok(
size == 39,
"Expected 39, got %#lx\n",
hr);
195 prod =
"3D0DAE300FACA1300AD792060BCDAA92";
197 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
198 "Installer\\UserData\\S-1-5-18\\Components\\%s", squashed);
200 "SOFTWARE\\Classes\\Installer\\"
201 "Products\\3D0DAE300FACA1300AD792060BCDAA92");
205 prod =
"7D2F387510109040002000060BECB6AB";
207 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
208 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
210 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
211 "Installer\\%s\\Installer\\Products\\"
212 "7D2F387510109040002000060BECB6AB", usersid);
216 prod =
"7D2F387510109040002000060BECB6AB";
218 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
219 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
221 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
222 "Installer\\Managed\\%s\\Installer\\Products\\"
223 "7D2F387510109040002000060BECB6AB", usersid);
259 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
260 "Installer\\UserData\\S-1-5-18\\Components\\%s", squashed);
262 "SOFTWARE\\Classes\\Installer\\"
263 "Products\\3D0DAE300FACA1300AD792060BCDAA92");
268 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
269 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
271 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
272 "Installer\\%s\\Installer\\Products\\"
273 "7D2F387510109040002000060BECB6AB", usersid);
278 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
279 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
281 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\"
282 "Installer\\Managed\\%s\\Installer\\Products\\"
283 "7D2F387510109040002000060BECB6AB", usersid);
318 "CREATE TABLE `Component` ( "
319 "`Component` CHAR(72) NOT NULL, "
320 "`ComponentId` CHAR(38), "
321 "`Directory_` CHAR(72) NOT NULL, "
322 "`Attributes` SHORT NOT NULL, "
323 "`Condition` CHAR(255), "
324 "`KeyPath` CHAR(72) "
325 "PRIMARY KEY `Component`)" );
333 "CREATE TABLE `Feature` ( "
334 "`Feature` CHAR(38) NOT NULL, "
335 "`Feature_Parent` CHAR(38), "
337 "`Description` CHAR(255), "
338 "`Display` SHORT NOT NULL, "
339 "`Level` SHORT NOT NULL, "
340 "`Directory_` CHAR(72), "
341 "`Attributes` SHORT NOT NULL "
342 "PRIMARY KEY `Feature`)" );
350 "CREATE TABLE `FeatureComponents` ( "
351 "`Feature_` CHAR(38) NOT NULL, "
352 "`Component_` CHAR(72) NOT NULL "
353 "PRIMARY KEY `Feature_`, `Component_` )" );
361 "CREATE TABLE `File` ("
362 "`File` CHAR(72) NOT NULL, "
363 "`Component_` CHAR(72) NOT NULL, "
364 "`FileName` CHAR(255) NOT NULL, "
365 "`FileSize` LONG NOT NULL, "
366 "`Version` CHAR(72), "
367 "`Language` CHAR(20), "
368 "`Attributes` SHORT, "
369 "`Sequence` SHORT NOT NULL "
370 "PRIMARY KEY `File`)" );
378 "CREATE TABLE `RemoveFile` ("
379 "`FileKey` CHAR(72) NOT NULL, "
380 "`Component_` CHAR(72) NOT NULL, "
381 "`FileName` CHAR(255) LOCALIZABLE, "
382 "`DirProperty` CHAR(72) NOT NULL, "
383 "`InstallMode` SHORT NOT NULL "
384 "PRIMARY KEY `FileKey`)" );
392 "CREATE TABLE `AppSearch` ("
393 "`Property` CHAR(72) NOT NULL, "
394 "`Signature_` CHAR(72) NOT NULL "
395 "PRIMARY KEY `Property`, `Signature_`)" );
403 "CREATE TABLE `RegLocator` ("
404 "`Signature_` CHAR(72) NOT NULL, "
405 "`Root` SHORT NOT NULL, "
406 "`Key` CHAR(255) NOT NULL, "
409 "PRIMARY KEY `Signature_`)" );
417 "CREATE TABLE `Signature` ("
418 "`Signature` CHAR(72) NOT NULL, "
419 "`FileName` CHAR(255) NOT NULL, "
420 "`MinVersion` CHAR(20), "
421 "`MaxVersion` CHAR(20), "
426 "`Languages` CHAR(255) "
427 "PRIMARY KEY `Signature`)" );
435 "CREATE TABLE `LaunchCondition` ("
436 "`Condition` CHAR(255) NOT NULL, "
437 "`Description` CHAR(255) NOT NULL "
438 "PRIMARY KEY `Condition`)" );
446 "CREATE TABLE `Property` ("
447 "`Property` CHAR(72) NOT NULL, "
449 "PRIMARY KEY `Property`)" );
457 "CREATE TABLE `InstallExecuteSequence` ("
458 "`Action` CHAR(72) NOT NULL, "
459 "`Condition` CHAR(255), "
461 "PRIMARY KEY `Action`)" );
462 ok(
r ==
ERROR_SUCCESS,
"Failed to create InstallExecuteSequence table: %u\n",
r);
469 "CREATE TABLE `InstallUISequence` ("
470 "`Action` CHAR(72) NOT NULL, "
471 "`Condition` CHAR(255), "
473 "PRIMARY KEY `Action`)" );
481 "CREATE TABLE `Media` ("
482 "`DiskId` SHORT NOT NULL, "
483 "`LastSequence` SHORT NOT NULL, "
484 "`DiskPrompt` CHAR(64), "
485 "`Cabinet` CHAR(255), "
486 "`VolumeLabel` CHAR(32), "
488 "PRIMARY KEY `DiskId`)" );
496 "CREATE TABLE `CCPSearch` ("
497 "`Signature_` CHAR(72) NOT NULL "
498 "PRIMARY KEY `Signature_`)" );
506 "CREATE TABLE `DrLocator` ("
507 "`Signature_` CHAR(72) NOT NULL, "
508 "`Parent` CHAR(72), "
511 "PRIMARY KEY `Signature_`, `Parent`, `Path`)" );
519 "CREATE TABLE `CompLocator` ("
520 "`Signature_` CHAR(72) NOT NULL, "
521 "`ComponentId` CHAR(38) NOT NULL, "
523 "PRIMARY KEY `Signature_`)" );
531 "CREATE TABLE `IniLocator` ("
532 "`Signature_` CHAR(72) NOT NULL, "
533 "`FileName` CHAR(255) NOT NULL, "
534 "`Section` CHAR(96)NOT NULL, "
535 "`Key` CHAR(128)NOT NULL, "
538 "PRIMARY KEY `Signature_`)" );
546 "CREATE TABLE `CustomAction` ("
547 "`Action` CHAR(72) NOT NULL, "
548 "`Type` SHORT NOT NULL, "
549 "`Source` CHAR(75), "
550 "`Target` CHAR(255) "
551 "PRIMARY KEY `Action`)" );
559 "CREATE TABLE `Dialog` ("
560 "`Dialog` CHAR(72) NOT NULL, "
561 "`HCentering` SHORT NOT NULL, "
562 "`VCentering` SHORT NOT NULL, "
563 "`Width` SHORT NOT NULL, "
564 "`Height` SHORT NOT NULL, "
565 "`Attributes` LONG, "
566 "`Title` CHAR(128) LOCALIZABLE, "
567 "`Control_First` CHAR(50) NOT NULL, "
568 "`Control_Default` CHAR(50), "
569 "`Control_Cancel` CHAR(50) "
570 "PRIMARY KEY `Dialog`)");
578 "CREATE TABLE `Control` ("
579 "`Dialog_` CHAR(72) NOT NULL, "
580 "`Control` CHAR(50) NOT NULL, "
581 "`Type` CHAR(20) NOT NULL, "
582 "`X` SHORT NOT NULL, "
583 "`Y` SHORT NOT NULL, "
584 "`Width` SHORT NOT NULL, "
585 "`Height` SHORT NOT NULL, "
586 "`Attributes` LONG, "
587 "`Property` CHAR(50), "
588 "`Text` CHAR(0) LOCALIZABLE, "
589 "`Control_Next` CHAR(50), "
590 "`Help` CHAR(255) LOCALIZABLE "
591 "PRIMARY KEY `Dialog_`, `Control`)");
599 "CREATE TABLE `ControlEvent` ("
600 "`Dialog_` CHAR(72) NOT NULL, "
601 "`Control_` CHAR(50) NOT NULL, "
602 "`Event` CHAR(50) NOT NULL, "
603 "`Argument` CHAR(255) NOT NULL, "
604 "`Condition` CHAR(255), "
606 "PRIMARY KEY `Dialog_`, `Control_`, `Event`, `Argument`, `Condition`)");
614 "CREATE TABLE `ActionText` ("
615 "`Action` CHAR(72) NOT NULL, "
616 "`Description` CHAR(64) LOCALIZABLE, "
617 "`Template` CHAR(128) LOCALIZABLE "
618 "PRIMARY KEY `Action`)");
626 "CREATE TABLE `Upgrade` ("
627 "`UpgradeCode` CHAR(38) NOT NULL, "
628 "`VersionMin` CHAR(20), "
629 "`VersionMax` CHAR(20), "
630 "`Language` CHAR(255), "
631 "`Attributes` SHORT, "
632 "`Remove` CHAR(255), "
633 "`ActionProperty` CHAR(72) NOT NULL "
634 "PRIMARY KEY `UpgradeCode`, `VersionMin`, `VersionMax`, `Language`)" );
653#define add_component_entry(hdb, values) add_entry(__FILE__, __LINE__, "Component", hdb, values, \
654 "INSERT INTO `Component` " \
655 "(`Component`, `ComponentId`, `Directory_`, " \
656 "`Attributes`, `Condition`, `KeyPath`) VALUES( %s )")
658#define add_directory_entry(hdb, values) add_entry(__FILE__, __LINE__, "Directory", hdb, values, \
659 "INSERT INTO `Directory` " \
660 "(`Directory`,`Directory_Parent`,`DefaultDir`) VALUES( %s )")
662#define add_feature_entry(hdb, values) add_entry(__FILE__, __LINE__, "Feature", hdb, values, \
663 "INSERT INTO `Feature` " \
664 "(`Feature`, `Feature_Parent`, `Title`, `Description`, " \
665 "`Display`, `Level`, `Directory_`, `Attributes`) VALUES( %s )")
667#define add_feature_components_entry(hdb, values) add_entry(__FILE__, __LINE__, "FeatureComponents", hdb, values, \
668 "INSERT INTO `FeatureComponents` " \
669 "(`Feature_`, `Component_`) VALUES( %s )")
671#define add_file_entry(hdb, values) add_entry(__FILE__, __LINE__, "File", hdb, values, \
672 "INSERT INTO `File` " \
673 "(`File`, `Component_`, `FileName`, `FileSize`, " \
674 "`Version`, `Language`, `Attributes`, `Sequence`) VALUES( %s )")
676#define add_appsearch_entry(hdb, values) add_entry(__FILE__, __LINE__, "AppSearch", hdb, values, \
677 "INSERT INTO `AppSearch` " \
678 "(`Property`, `Signature_`) VALUES( %s )")
680#define add_signature_entry(hdb, values) add_entry(__FILE__, __LINE__, "Signature", hdb, values, \
681 "INSERT INTO `Signature` " \
682 "(`Signature`, `FileName`, `MinVersion`, `MaxVersion`," \
683 " `MinSize`, `MaxSize`, `MinDate`, `MaxDate`, `Languages`) " \
686#define add_launchcondition_entry(hdb, values) add_entry(__FILE__, __LINE__, "LaunchCondition", hdb, values, \
687 "INSERT INTO `LaunchCondition` " \
688 "(`Condition`, `Description`) VALUES( %s )")
690#define add_property_entry(hdb, values) add_entry(__FILE__, __LINE__, "Property", hdb, values, \
691 "INSERT INTO `Property` (`Property`, `Value`) VALUES( %s )")
693#define update_ProductVersion_property(hdb, value) add_entry(__FILE__, __LINE__, "Property", hdb, value, \
694 "UPDATE `Property` SET `Value` = '%s' WHERE `Property` = 'ProductVersion'")
696#define update_ProductCode_property(hdb, value) add_entry(__FILE__, __LINE__, "Property", hdb, value, \
697 "UPDATE `Property` SET `Value` = '%s' WHERE `Property` = 'ProductCode'")
699#define add_install_execute_sequence_entry(hdb, values) add_entry(__FILE__, __LINE__, "InstallExecuteSequence", hdb, values, \
700 "INSERT INTO `InstallExecuteSequence` " \
701 "(`Action`, `Condition`, `Sequence`) VALUES( %s )")
703#define add_install_ui_sequence_entry(hdb, values) add_entry(__FILE__, __LINE__, "InstallUISequence", hdb, values, \
704 "INSERT INTO `InstallUISequence` " \
705 "(`Action`, `Condition`, `Sequence`) VALUES( %s )")
707#define add_media_entry(hdb, values) add_entry(__FILE__, __LINE__, "Media", hdb, values, \
708 "INSERT INTO `Media` " \
709 "(`DiskId`, `LastSequence`, `DiskPrompt`, " \
710 "`Cabinet`, `VolumeLabel`, `Source`) VALUES( %s )")
712#define add_ccpsearch_entry(hdb, values) add_entry(__FILE__, __LINE__, "CCPSearch", hdb, values, \
713 "INSERT INTO `CCPSearch` (`Signature_`) VALUES( %s )")
715#define add_drlocator_entry(hdb, values) add_entry(__FILE__, __LINE__, "DrLocator", hdb, values, \
716 "INSERT INTO `DrLocator` " \
717 "(`Signature_`, `Parent`, `Path`, `Depth`) VALUES( %s )")
719#define add_complocator_entry(hdb, values) add_entry(__FILE__, __LINE__, "CompLocator", hdb, values, \
720 "INSERT INTO `CompLocator` " \
721 "(`Signature_`, `ComponentId`, `Type`) VALUES( %s )")
723#define add_inilocator_entry(hdb, values) add_entry(__FILE__, __LINE__, "IniLocator", hdb, values, \
724 "INSERT INTO `IniLocator` " \
725 "(`Signature_`, `FileName`, `Section`, `Key`, `Field`, `Type`) " \
728#define add_custom_action_entry(hdb, values) add_entry(__FILE__, __LINE__, "CustomAction", hdb, values, \
729 "INSERT INTO `CustomAction` " \
730 "(`Action`, `Type`, `Source`, `Target`) VALUES( %s )")
732#define add_dialog_entry(hdb, values) add_entry(__FILE__, __LINE__, "Dialog", hdb, values, \
733 "INSERT INTO `Dialog` " \
734 "(`Dialog`, `HCentering`, `VCentering`, `Width`, `Height`, `Attributes`, `Control_First`) VALUES ( %s )")
736#define add_control_entry(hdb, values) add_entry(__FILE__, __LINE__, "Control", hdb, values, \
737 "INSERT INTO `Control` " \
738 "(`Dialog_`, `Control`, `Type`, `X`, `Y`, `Width`, `Height`, `Attributes`, `Text`) VALUES( %s )");
740#define add_controlevent_entry(hdb, values) add_entry(__FILE__, __LINE__, "ControlEvent", hdb, values, \
741 "INSERT INTO `ControlEvent` " \
742 "(`Dialog_`, `Control_`, `Event`, `Argument`, `Condition`, `Ordering`) VALUES( %s )");
744#define add_actiontext_entry(hdb, values) add_entry(__FILE__, __LINE__, "ActionText", hdb, values, \
745 "INSERT INTO `ActionText` " \
746 "(`Action`, `Description`, `Template`) VALUES( %s )");
748#define add_upgrade_entry(hdb, values) add_entry(__FILE__, __LINE__, "Upgrade", hdb, values, \
749 "INSERT INTO `Upgrade` " \
750 "(`UpgradeCode`, `VersionMin`, `VersionMax`, `Language`, `Attributes`, `Remove`, `ActionProperty`) VALUES( %s )");
756 "INSERT INTO `RegLocator` (`Signature_`, `Root`, `Key`, `Name`, `Type`) "
757 "VALUES( '%s', %u, '%s', '%s', %u )";
780 "Installation Database");
784 "Installation Database");
796 "{913B8D18-FBB6-4CAC-A239-C74C11E3FA74}");
835 "CREATE TABLE `Directory` ( "
836 "`Directory` CHAR(255) NOT NULL, "
837 "`Directory_Parent` CHAR(255), "
838 "`DefaultDir` CHAR(255) NOT NULL "
839 "PRIMARY KEY `Directory`)" );
851 sprintf(szPackage,
"#%lu", hdb);
887#define roundoffs(a, b, r) (((BYTE *)(b) - (BYTE *)(a) + ((r) - 1)) & ~((r) - 1))
888#define roundpos(a, b, r) (((BYTE *)(a)) + roundoffs(a, b, r))
951 skip(
"Not enough rights to perform tests\n");
973 skip(
"Not enough rights to perform tests\n");
1003 skip(
"Not enough rights to perform tests\n");
1064 ok(rec,
"MsiCreate record failed\n");
1085 ok ( hdb,
"failed to create package database\n" );
1090 add_component_entry( hdb,
"'RootComp', '{83e2694d-0864-4124-9323-6d37630912a1}', 'TARGETDIR', 8, '', 'RootFile'" );
1091 add_component_entry( hdb,
"'TestComp', '{A3FB59C8-C293-4F7E-B8C5-F0E1D8EEE4E5}', 'TestDir', 0, '', 'TestFile'" );
1104 add_file_entry( hdb,
"'RootFile', 'RootComp', 'rootfile.txt', 0, '', '1033', 8192, 1" );
1105 add_file_entry( hdb,
"'TestFile', 'TestComp', 'testfile.txt', 0, '', '1033', 8192, 1" );
1110 skip(
"Not enough rights to perform tests\n");
1145 sz =
sizeof tempdir - 1;
1158 "MsiSetTargetPath on file returned %d\n",
r );
1162 "MsiSetTargetPath on 'subdir' of file returned %d\n",
r );
1190 lstrcatA( tempdir,
"TestParent\\" );
1201 "Expected \"C:\\one\\two\\TestDir\\\", got \"%s\"\n",
buffer );
1206 "Expected C:\\one\\two\\TestDir\\testfile.txt, got %s\n",
buffer );
1252 skip(
"Not enough rights to perform tests\n");
1998 ok(!
r,
"'%s': got %u\n", prop,
r);
2022 skip(
"Not enough rights to perform tests\n");
2036 ok(!
r,
"got %u\n",
r);
2044 ok(!
r,
"got %u\n",
r);
2045 ok(sz == 0,
"got size %lu\n", sz);
2052 ok(sz == 0,
"got size %lu\n", sz);
2057 ok(!
r,
"got %u\n",
r);
2059 ok(sz == 0,
"got size %lu\n", sz);
2069 ok(!
r,
"got %u\n",
r);
2075 ok(!
r,
"got %u\n",
r);
2079 ok(!
r,
"got %u\n",
r);
2083 ok(!
r,
"got %u\n",
r);
2088 ok(!
r,
"got %u\n",
r);
2092 ok(!
r,
"got %u\n",
r);
2097 ok(!
r,
"got %u\n",
r);
2101 ok(!
r,
"got %u\n",
r);
2108 ok(!
r,
"got %u\n",
r);
2109 ok(sz == 3,
"got size %lu\n", sz);
2116 ok(sz == 3,
"got size %lu\n", sz);
2123 ok(sz == 3,
"got size %lu\n", sz);
2130 ok(sz == 3,
"got size %lu\n", sz);
2135 ok(!
r,
"got %u\n",
r);
2137 ok(sz == 3,
"got size %lu\n", sz);
2141 ok(!
r,
"got %u\n",
r);
2142 ok(sz == 3,
"got size %lu\n", sz);
2149 ok(sz == 3,
"got size %lu\n", sz);
2156 ok(sz == 3,
"got size %lu\n", sz);
2163 ok(sz == 3,
"got size %lu\n", sz);
2168 ok(!
r,
"got %u\n",
r);
2170 ok(sz == 3,
"got size %lu\n", sz);
2176 check_prop(hpkg,
"MetadataCompName",
"Photoshop.dll", 1, 0);
2210 ok(sz ==
len,
"wrong size %lu\n", sz);
2232 ok( hdb,
"failed to create package\n");
2237 skip(
"Not enough rights to perform tests\n");
2247 query =
"CREATE TABLE `_Property` ( "
2248 "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
2257 ok( hdb,
"failed to create package\n");
2259 query =
"CREATE TABLE `_Property` ( "
2260 "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
2264 query =
"ALTER `_Property` ADD `foo` INTEGER";
2268 query =
"ALTER TABLE `_Property` ADD `foo` INTEGER";
2272 query =
"ALTER TABLE `_Property` ADD `extra` INTEGER";
2276 sprintf(package,
"#%lu", hdb);
2286 ok (hdb,
"failed to create package database\n");
2307 ok(found,
"prop should be in the _Property table\n");
2311 query =
"SELECT * FROM `_Property` WHERE `Property` = 'dantes'";
2316 ok(found ==
FALSE,
"dantes should not be in the _Property table\n");
2328 ok(found ==
TRUE,
"dantes should be in the _Property table\n");
2338 ok( sz ==
sizeof(
"\0np") - 1,
"got %lu\n", sz );
2341 ok(found ==
TRUE,
"prop2 should be in the _Property table\n");
2430 skip(
"Not enough rights to perform tests\n");
2461 "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n",
r);
2463 query =
"CREATE TABLE `Property` ( "
2464 "`Property` CHAR(72), `Value` CHAR(0) "
2465 "PRIMARY KEY `Property`)";
2469 query =
"CREATE TABLE `InstallExecuteSequence` ("
2470 "`Action` CHAR(72), `Condition` CHAR(0), `Sequence` INTEGER "
2471 "PRIMARY KEY `Action`)";
2479 "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n",
r);
2498 "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n",
r);
2503 "Expected ERROR_SUCCESS, got %d\n",
r);
2520 skip(
"Not enough rights to perform tests\n");
2530 ok(hrec,
"create record failed\n");
2546 ok( sz == 3,
"size wrong\n");
2554 ok( sz == 3,
"size wrong\n");
2564 ok( sz == 3,
"size wrong\n");
2572 ok( sz == 1,
"size wrong\n");
2581 ok( sz == 3,
"size wrong\n");
2591 ok( sz == 3,
"size wrong\n");
2613 ok ( hdb,
"failed to create package database\n");
2617 "'I am a really long directory'" );
2633 add_file_entry( hdb,
"'frontal_file', 'frontal', 'frontal.txt', 0, '', '1033', 8192, 1" );
2634 add_file_entry( hdb,
"'parietal_file', 'parietal', 'parietal.txt', 0, '', '1033', 8192, 1" );
2635 add_file_entry( hdb,
"'temporal_file', 'temporal', 'temporal.txt', 0, '', '1033', 8192, 1" );
2647 skip(
"Not enough rights to perform tests\n");
2674 ok( !
lstrcmpA(
buf,
"1: ringer " ),
"Expected '1: ringer ', got %s\n",
buf );
2680 ok( !
lstrcmpA(
buf,
"1: ringer " ),
"Expected '1: ringer ', got %s\n",
buf );
2695 ok( !
lstrcmpA(
buf,
"1: crazyval " ),
"Expected '1: crazyval ', got %s\n",
buf );
2786 ok( !
lstrcmpA(
buf,
"[Bracket Text]" ),
"Expected '[Bracket Text]', got %s\n",
buf);
2814 ok( !
memcmp(
buf,
"\0np",
sizeof(
"\0np") ),
"wrong value\n");
2815 ok(
size ==
sizeof(
"\0np") - 1,
"got %lu\n",
size );
2849 sprintf(
buf,
"%sI am a really long directory\\temporal.txt",
root );
2871 ok(
state == expected_state,
"%u: expected state %d got %d\n",
2874 ok(
action == expected_action,
"%u: expected action %d got %d\n",
2879 ok(
state == 0xdeadbee,
"%u: expected state 0xdeadbee got %d\n",
line,
state );
2897 ok(
state == expected_state,
"%u: expected state %d got %d\n",
2900 ok(
action == expected_action,
"%u: expected action %d got %d\n",
2905 ok(
state == 0xdeadbee,
"%u: expected state 0xdeadbee got %d\n",
2908 ok(
action == 0xdeadbee,
"%u: expected action 0xdeadbee got %d\n",
2915 static const char msifile2[] =
"winetest2-package.msi";
2916 static const char msifile3[] =
"winetest3-package.msi";
2917 static const char msifile4[] =
"winetest4-package.msi";
2919 static const WCHAR msifile3W[] =
L"winetest3-package.msi";
2920 static const WCHAR msifile4W[] =
L"winetest4-package.msi";
2922 DWORD cache_file_name_len;
2932 skip(
"process is limited\n");
2937 ok ( hdb,
"failed to create package database\n" );
2942 add_property_entry( hdb,
"'ProductCode', '{7262AC98-EEBD-4364-8CE3-D654F6A425B9}'" );
2947 add_property_entry( hdb,
"'UpgradeCode', '{3494EEEA-4221-4A66-802E-DED8916BC5C5}'" );
2973 add_component_entry( hdb,
"'alpha', '{467EC132-739D-4784-A37B-677AA43DBC94}', 'TARGETDIR', 0, '', 'alpha_file'" );
2976 add_component_entry( hdb,
"'beta', '{2C1F189C-24A6-4C34-B26B-994A6C026506}', 'TARGETDIR', 1, '', 'beta_file'" );
2979 add_component_entry( hdb,
"'gamma', '{C271E2A4-DE2E-4F70-86D1-6984AF7DE2CA}', 'TARGETDIR', 2, '', 'gamma_file'" );
2982 add_component_entry( hdb,
"'theta', '{4EB3129D-81A8-48D5-9801-75600FED3DD9}', 'TARGETDIR', 8, '', 'theta_file'" );
2988 add_component_entry( hdb,
"'delta', '{938FD4F2-C648-4259-A03C-7AA3B45643F3}', 'TARGETDIR', 0, '', 'delta_file'" );
2991 add_component_entry( hdb,
"'epsilon', '{D59713B6-C11D-47F2-A395-1E5321781190}', 'TARGETDIR', 1, '', 'epsilon_file'" );
2994 add_component_entry( hdb,
"'zeta', '{377D33AB-2FAA-42B9-A629-0C0DAE9B9C7A}', 'TARGETDIR', 2, '', 'zeta_file'" );
2997 add_component_entry( hdb,
"'iota', '{5D36F871-B5ED-4801-9E0F-C46B9E5C9669}', 'TARGETDIR', 8, '', 'iota_file'" );
3009 add_component_entry( hdb,
"'eta', '{DD89003F-0DD4-41B8-81C0-3411A7DA2695}', 'TARGETDIR', 1, '', 'eta_file'" );
3012 add_component_entry( hdb,
"'kappa', '{D6B93DC3-8DA5-4769-9888-42BFE156BB8B}', 'TARGETDIR', 1, '', 'kappa_file'" );
3018 add_component_entry( hdb,
"'lambda', '{6528C5E4-02A4-4636-A214-7A66A6C35B64}', 'TARGETDIR', 0, '', 'lambda_file'" );
3021 add_component_entry( hdb,
"'mu', '{97014BAB-6C56-4013-9A63-2BF913B42519}', 'TARGETDIR', 1, '', 'mu_file'" );
3024 add_component_entry( hdb,
"'nu', '{943DD0D8-5808-4954-8526-3B8493FEDDCD}', 'TARGETDIR', 2, '', 'nu_file'" );
3027 add_component_entry( hdb,
"'xi', '{D6CF9EF7-6FCF-4930-B34B-F938AEFF9BDB}', 'TARGETDIR', 8, '', 'xi_file'" );
3033 add_component_entry( hdb,
"'omicron', '{7B57521D-15DB-4141-9AA6-01D934A4433F}', 'TARGETDIR', 0, '', 'omicron_file'" );
3036 add_component_entry( hdb,
"'pi', '{FB85346B-378E-4492-8769-792305471C81}', 'TARGETDIR', 1, '', 'pi_file'" );
3039 add_component_entry( hdb,
"'rho', '{798F2047-7B0C-4783-8BB0-D703E554114B}', 'TARGETDIR', 2, '', 'rho_file'" );
3042 add_component_entry( hdb,
"'sigma', '{5CE9DDA8-B67B-4736-9D93-99D61C5B93E7}', 'TARGETDIR', 8, '', 'sigma_file'" );
3047 add_component_entry( hdb,
"'tau', '{07DEB510-677C-4A6F-A0A6-7CD8EFEA77ED}', 'TARGETDIR', 1, '', 'tau_file'" );
3052 add_component_entry( hdb,
"'phi', '{9F0594C5-35AD-43EA-94DD-8DF73FAA664D}', 'TARGETDIR', 1, '', 'phi_file'" );
3057 add_component_entry( hdb,
"'chi', '{E6B539AB-5DA9-4236-A2D2-E341A50B4C38}', 'TARGETDIR', 1, '', 'chi_file'" );
3062 add_component_entry( hdb,
"'psi', '{A06B23B5-746B-427A-8A6E-FD6AC8F46A95}', 'TARGETDIR', 1, '', 'psi_file'" );
3067 add_component_entry( hdb,
"'upsilon', '{557e0c04-ceba-4c58-86a9-4a73352e8cf6}', 'TARGETDIR', 1, '', 'upsilon_file'" );
3100 add_file_entry( hdb,
"'alpha_file', 'alpha', 'alpha.txt', 100, '', '1033', 8192, 1" );
3101 add_file_entry( hdb,
"'beta_file', 'beta', 'beta.txt', 0, '', '1033', 8192, 1" );
3102 add_file_entry( hdb,
"'gamma_file', 'gamma', 'gamma.txt', 0, '', '1033', 8192, 1" );
3103 add_file_entry( hdb,
"'theta_file', 'theta', 'theta.txt', 0, '', '1033', 8192, 1" );
3104 add_file_entry( hdb,
"'delta_file', 'delta', 'delta.txt', 0, '', '1033', 8192, 1" );
3105 add_file_entry( hdb,
"'epsilon_file', 'epsilon', 'epsilon.txt', 0, '', '1033', 8192, 1" );
3106 add_file_entry( hdb,
"'zeta_file', 'zeta', 'zeta.txt', 0, '', '1033', 8192, 1" );
3107 add_file_entry( hdb,
"'iota_file', 'iota', 'iota.txt', 0, '', '1033', 8192, 1" );
3110 add_file_entry( hdb,
"'eta_file', 'eta', 'eta.txt', 0, '', '1033', 16384, 1" );
3112 add_file_entry( hdb,
"'kappa_file', 'kappa', 'kappa.txt', 0, '', '1033', 8192, 1" );
3113 add_file_entry( hdb,
"'lambda_file', 'lambda', 'lambda.txt', 100, '', '1033', 8192, 1" );
3114 add_file_entry( hdb,
"'mu_file', 'mu', 'mu.txt', 100, '', '1033', 8192, 1" );
3115 add_file_entry( hdb,
"'nu_file', 'nu', 'nu.txt', 100, '', '1033', 8192, 1" );
3116 add_file_entry( hdb,
"'xi_file', 'xi', 'xi.txt', 100, '', '1033', 8192, 1" );
3117 add_file_entry( hdb,
"'omicron_file', 'omicron', 'omicron.txt', 100, '', '1033', 8192, 1" );
3118 add_file_entry( hdb,
"'pi_file', 'pi', 'pi.txt', 100, '', '1033', 8192, 1" );
3119 add_file_entry( hdb,
"'rho_file', 'rho', 'rho.txt', 100, '', '1033', 8192, 1" );
3120 add_file_entry( hdb,
"'sigma_file', 'sigma', 'sigma.txt', 100, '', '1033', 8192, 1" );
3121 add_file_entry( hdb,
"'tau_file', 'tau', 'tau.txt', 100, '', '1033', 8192, 1" );
3122 add_file_entry( hdb,
"'phi_file', 'phi', 'phi.txt', 100, '', '1033', 8192, 1" );
3123 add_file_entry( hdb,
"'chi_file', 'chi', 'chi.txt', 100, '', '1033', 8192, 1" );
3124 add_file_entry( hdb,
"'psi_file', 'psi', 'psi.txt', 100, '', '1033', 8192, 1" );
3125 add_file_entry( hdb,
"'upsilon_file', 'upsilon', 'upsilon.txt', 0, '', '1033', 16384, 1" );
3140 skip(
"Not enough rights to perform tests\n");