36 static const char msifile[] =
"winetest-package.msi";
38 {
'w',
'i',
'n',
'e',
't',
'e',
's',
't',
'-',
'p',
'a',
'c',
'k',
'a',
'g',
'e',
'.',
'm',
's',
'i',0};
65 #define GET_PROC(mod, func) \ 66 p ## func = (void*)GetProcAddress(mod, #func); 94 if (!pCheckTokenMembership || !pOpenProcessToken)
return FALSE;
98 !pCheckTokenMembership(
NULL,
Group, &IsInGroup))
100 trace(
"Could not check if the current user is an administrator\n");
111 0, 0, 0, 0, 0, 0, &
Group) ||
112 !pCheckTokenMembership(
NULL,
Group, &IsInGroup))
114 trace(
"Could not check if the current user is a power user\n");
139 if (pRegDeleteKeyExA)
140 return pRegDeleteKeyExA(
key, subkey,
access, 0 );
149 char *usersid =
NULL;
151 if (!pConvertSidToStringSidA)
153 win_skip(
"ConvertSidToStringSidA is not available\n");
161 pConvertSidToStringSidA(
user->User.Sid, &usersid);
172 DWORD dwMaxSubkeyLen, dwMaxValueLen;
189 dwMaxLen =
max(dwMaxSubkeyLen, dwMaxValueLen);
190 if (dwMaxLen >
sizeof(szNameBuf)/
sizeof(
WCHAR))
213 if (pRegDeleteKeyExW)
230 if (lpszName != szNameBuf)
278 ok(
hr ==
S_OK,
"Expected S_OK, got %d\n",
hr);
281 ok(
size == 39,
"Expected 39, got %d\n",
hr);
310 prod =
"3D0DAE300FACA1300AD792060BCDAA92";
312 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 313 "Installer\\UserData\\S-1-5-18\\Components\\%s", squashed);
315 "SOFTWARE\\Classes\\Installer\\" 316 "Products\\3D0DAE300FACA1300AD792060BCDAA92");
320 prod =
"7D2F387510109040002000060BECB6AB";
322 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 323 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
325 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 326 "Installer\\%s\\Installer\\Products\\" 327 "7D2F387510109040002000060BECB6AB", usersid);
331 prod =
"7D2F387510109040002000060BECB6AB";
333 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 334 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
336 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 337 "Installer\\Managed\\%s\\Installer\\Products\\" 338 "7D2F387510109040002000060BECB6AB", usersid);
374 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 375 "Installer\\UserData\\S-1-5-18\\Components\\%s", squashed);
377 "SOFTWARE\\Classes\\Installer\\" 378 "Products\\3D0DAE300FACA1300AD792060BCDAA92");
383 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 384 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
386 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 387 "Installer\\%s\\Installer\\Products\\" 388 "7D2F387510109040002000060BECB6AB", usersid);
393 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 394 "Installer\\UserData\\%s\\Components\\%s", usersid, squashed);
396 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" 397 "Installer\\Managed\\%s\\Installer\\Products\\" 398 "7D2F387510109040002000060BECB6AB", usersid);
449 "CREATE TABLE `Component` ( " 450 "`Component` CHAR(72) NOT NULL, " 451 "`ComponentId` CHAR(38), " 452 "`Directory_` CHAR(72) NOT NULL, " 453 "`Attributes` SHORT NOT NULL, " 454 "`Condition` CHAR(255), " 455 "`KeyPath` CHAR(72) " 456 "PRIMARY KEY `Component`)" );
464 "CREATE TABLE `Feature` ( " 465 "`Feature` CHAR(38) NOT NULL, " 466 "`Feature_Parent` CHAR(38), " 468 "`Description` CHAR(255), " 469 "`Display` SHORT NOT NULL, " 470 "`Level` SHORT NOT NULL, " 471 "`Directory_` CHAR(72), " 472 "`Attributes` SHORT NOT NULL " 473 "PRIMARY KEY `Feature`)" );
481 "CREATE TABLE `FeatureComponents` ( " 482 "`Feature_` CHAR(38) NOT NULL, " 483 "`Component_` CHAR(72) NOT NULL " 484 "PRIMARY KEY `Feature_`, `Component_` )" );
492 "CREATE TABLE `File` (" 493 "`File` CHAR(72) NOT NULL, " 494 "`Component_` CHAR(72) NOT NULL, " 495 "`FileName` CHAR(255) NOT NULL, " 496 "`FileSize` LONG NOT NULL, " 497 "`Version` CHAR(72), " 498 "`Language` CHAR(20), " 499 "`Attributes` SHORT, " 500 "`Sequence` SHORT NOT NULL " 501 "PRIMARY KEY `File`)" );
509 "CREATE TABLE `RemoveFile` (" 510 "`FileKey` CHAR(72) NOT NULL, " 511 "`Component_` CHAR(72) NOT NULL, " 512 "`FileName` CHAR(255) LOCALIZABLE, " 513 "`DirProperty` CHAR(72) NOT NULL, " 514 "`InstallMode` SHORT NOT NULL " 515 "PRIMARY KEY `FileKey`)" );
523 "CREATE TABLE `AppSearch` (" 524 "`Property` CHAR(72) NOT NULL, " 525 "`Signature_` CHAR(72) NOT NULL " 526 "PRIMARY KEY `Property`, `Signature_`)" );
534 "CREATE TABLE `RegLocator` (" 535 "`Signature_` CHAR(72) NOT NULL, " 536 "`Root` SHORT NOT NULL, " 537 "`Key` CHAR(255) NOT NULL, " 540 "PRIMARY KEY `Signature_`)" );
548 "CREATE TABLE `Signature` (" 549 "`Signature` CHAR(72) NOT NULL, " 550 "`FileName` CHAR(255) NOT NULL, " 551 "`MinVersion` CHAR(20), " 552 "`MaxVersion` CHAR(20), " 557 "`Languages` CHAR(255) " 558 "PRIMARY KEY `Signature`)" );
566 "CREATE TABLE `LaunchCondition` (" 567 "`Condition` CHAR(255) NOT NULL, " 568 "`Description` CHAR(255) NOT NULL " 569 "PRIMARY KEY `Condition`)" );
577 "CREATE TABLE `Property` (" 578 "`Property` CHAR(72) NOT NULL, " 580 "PRIMARY KEY `Property`)" );
588 "CREATE TABLE `InstallExecuteSequence` (" 589 "`Action` CHAR(72) NOT NULL, " 590 "`Condition` CHAR(255), " 592 "PRIMARY KEY `Action`)" );
593 ok(
r ==
ERROR_SUCCESS,
"Failed to create InstallExecuteSequence table: %u\n",
r);
600 "CREATE TABLE `InstallUISequence` (" 601 "`Action` CHAR(72) NOT NULL, " 602 "`Condition` CHAR(255), " 604 "PRIMARY KEY `Action`)" );
612 "CREATE TABLE `Media` (" 613 "`DiskId` SHORT NOT NULL, " 614 "`LastSequence` SHORT NOT NULL, " 615 "`DiskPrompt` CHAR(64), " 616 "`Cabinet` CHAR(255), " 617 "`VolumeLabel` CHAR(32), " 619 "PRIMARY KEY `DiskId`)" );
627 "CREATE TABLE `CCPSearch` (" 628 "`Signature_` CHAR(72) NOT NULL " 629 "PRIMARY KEY `Signature_`)" );
637 "CREATE TABLE `DrLocator` (" 638 "`Signature_` CHAR(72) NOT NULL, " 639 "`Parent` CHAR(72), " 642 "PRIMARY KEY `Signature_`, `Parent`, `Path`)" );
650 "CREATE TABLE `CompLocator` (" 651 "`Signature_` CHAR(72) NOT NULL, " 652 "`ComponentId` CHAR(38) NOT NULL, " 654 "PRIMARY KEY `Signature_`)" );
662 "CREATE TABLE `IniLocator` (" 663 "`Signature_` CHAR(72) NOT NULL, " 664 "`FileName` CHAR(255) NOT NULL, " 665 "`Section` CHAR(96)NOT NULL, " 666 "`Key` CHAR(128)NOT NULL, " 669 "PRIMARY KEY `Signature_`)" );
677 "CREATE TABLE `CustomAction` (" 678 "`Action` CHAR(72) NOT NULL, " 679 "`Type` SHORT NOT NULL, " 680 "`Source` CHAR(75), " 681 "`Target` CHAR(255) " 682 "PRIMARY KEY `Action`)" );
690 "CREATE TABLE `Dialog` (" 691 "`Dialog` CHAR(72) NOT NULL, " 692 "`HCentering` SHORT NOT NULL, " 693 "`VCentering` SHORT NOT NULL, " 694 "`Width` SHORT NOT NULL, " 695 "`Height` SHORT NOT NULL, " 696 "`Attributes` LONG, " 697 "`Title` CHAR(128) LOCALIZABLE, " 698 "`Control_First` CHAR(50) NOT NULL, " 699 "`Control_Default` CHAR(50), " 700 "`Control_Cancel` CHAR(50) " 701 "PRIMARY KEY `Dialog`)");
709 "CREATE TABLE `Control` (" 710 "`Dialog_` CHAR(72) NOT NULL, " 711 "`Control` CHAR(50) NOT NULL, " 712 "`Type` CHAR(20) NOT NULL, " 713 "`X` SHORT NOT NULL, " 714 "`Y` SHORT NOT NULL, " 715 "`Width` SHORT NOT NULL, " 716 "`Height` SHORT NOT NULL, " 717 "`Attributes` LONG, " 718 "`Property` CHAR(50), " 719 "`Text` CHAR(0) LOCALIZABLE, " 720 "`Control_Next` CHAR(50), " 721 "`Help` CHAR(255) LOCALIZABLE " 722 "PRIMARY KEY `Dialog_`, `Control`)");
730 "CREATE TABLE `ControlEvent` (" 731 "`Dialog_` CHAR(72) NOT NULL, " 732 "`Control_` CHAR(50) NOT NULL, " 733 "`Event` CHAR(50) NOT NULL, " 734 "`Argument` CHAR(255) NOT NULL, " 735 "`Condition` CHAR(255), " 737 "PRIMARY KEY `Dialog_`, `Control_`, `Event`, `Argument`, `Condition`)");
745 "CREATE TABLE `ActionText` (" 746 "`Action` CHAR(72) NOT NULL, " 747 "`Description` CHAR(64) LOCALIZABLE, " 748 "`Template` CHAR(128) LOCALIZABLE " 749 "PRIMARY KEY `Action`)");
768 #define add_component_entry(hdb, values) add_entry(__FILE__, __LINE__, "Component", hdb, values, \ 769 "INSERT INTO `Component` " \ 770 "(`Component`, `ComponentId`, `Directory_`, " \ 771 "`Attributes`, `Condition`, `KeyPath`) VALUES( %s )") 773 #define add_directory_entry(hdb, values) add_entry(__FILE__, __LINE__, "Directory", hdb, values, \ 774 "INSERT INTO `Directory` " \ 775 "(`Directory`,`Directory_Parent`,`DefaultDir`) VALUES( %s )") 777 #define add_feature_entry(hdb, values) add_entry(__FILE__, __LINE__, "Feature", hdb, values, \ 778 "INSERT INTO `Feature` " \ 779 "(`Feature`, `Feature_Parent`, `Title`, `Description`, " \ 780 "`Display`, `Level`, `Directory_`, `Attributes`) VALUES( %s )") 782 #define add_feature_components_entry(hdb, values) add_entry(__FILE__, __LINE__, "FeatureComponents", hdb, values, \ 783 "INSERT INTO `FeatureComponents` " \ 784 "(`Feature_`, `Component_`) VALUES( %s )") 786 #define add_file_entry(hdb, values) add_entry(__FILE__, __LINE__, "File", hdb, values, \ 787 "INSERT INTO `File` " \ 788 "(`File`, `Component_`, `FileName`, `FileSize`, " \ 789 "`Version`, `Language`, `Attributes`, `Sequence`) VALUES( %s )") 791 #define add_appsearch_entry(hdb, values) add_entry(__FILE__, __LINE__, "AppSearch", hdb, values, \ 792 "INSERT INTO `AppSearch` " \ 793 "(`Property`, `Signature_`) VALUES( %s )") 795 #define add_signature_entry(hdb, values) add_entry(__FILE__, __LINE__, "Signature", hdb, values, \ 796 "INSERT INTO `Signature` " \ 797 "(`Signature`, `FileName`, `MinVersion`, `MaxVersion`," \ 798 " `MinSize`, `MaxSize`, `MinDate`, `MaxDate`, `Languages`) " \ 801 #define add_launchcondition_entry(hdb, values) add_entry(__FILE__, __LINE__, "LaunchCondition", hdb, values, \ 802 "INSERT INTO `LaunchCondition` " \ 803 "(`Condition`, `Description`) VALUES( %s )") 805 #define add_property_entry(hdb, values) add_entry(__FILE__, __LINE__, "Property", hdb, values, \ 806 "INSERT INTO `Property` (`Property`, `Value`) VALUES( %s )") 808 #define add_install_execute_sequence_entry(hdb, values) add_entry(__FILE__, __LINE__, "InstallExecuteSequence", hdb, values, \ 809 "INSERT INTO `InstallExecuteSequence` " \ 810 "(`Action`, `Condition`, `Sequence`) VALUES( %s )") 812 #define add_install_ui_sequence_entry(hdb, values) add_entry(__FILE__, __LINE__, "InstallUISequence", hdb, values, \ 813 "INSERT INTO `InstallUISequence` " \ 814 "(`Action`, `Condition`, `Sequence`) VALUES( %s )") 816 #define add_media_entry(hdb, values) add_entry(__FILE__, __LINE__, "Media", hdb, values, \ 817 "INSERT INTO `Media` " \ 818 "(`DiskId`, `LastSequence`, `DiskPrompt`, " \ 819 "`Cabinet`, `VolumeLabel`, `Source`) VALUES( %s )") 821 #define add_ccpsearch_entry(hdb, values) add_entry(__FILE__, __LINE__, "CCPSearch", hdb, values, \ 822 "INSERT INTO `CCPSearch` (`Signature_`) VALUES( %s )") 824 #define add_drlocator_entry(hdb, values) add_entry(__FILE__, __LINE__, "DrLocator", hdb, values, \ 825 "INSERT INTO `DrLocator` " \ 826 "(`Signature_`, `Parent`, `Path`, `Depth`) VALUES( %s )") 828 #define add_complocator_entry(hdb, values) add_entry(__FILE__, __LINE__, "CompLocator", hdb, values, \ 829 "INSERT INTO `CompLocator` " \ 830 "(`Signature_`, `ComponentId`, `Type`) VALUES( %s )") 832 #define add_inilocator_entry(hdb, values) add_entry(__FILE__, __LINE__, "IniLocator", hdb, values, \ 833 "INSERT INTO `IniLocator` " \ 834 "(`Signature_`, `FileName`, `Section`, `Key`, `Field`, `Type`) " \ 837 #define add_custom_action_entry(hdb, values) add_entry(__FILE__, __LINE__, "CustomAction", hdb, values, \ 838 "INSERT INTO `CustomAction` " \ 839 "(`Action`, `Type`, `Source`, `Target`) VALUES( %s )") 841 #define add_dialog_entry(hdb, values) add_entry(__FILE__, __LINE__, "Dialog", hdb, values, \ 842 "INSERT INTO `Dialog` " \ 843 "(`Dialog`, `HCentering`, `VCentering`, `Width`, `Height`, `Attributes`, `Control_First`) VALUES ( %s )") 845 #define add_control_entry(hdb, values) add_entry(__FILE__, __LINE__, "Control", hdb, values, \ 846 "INSERT INTO `Control` " \ 847 "(`Dialog_`, `Control`, `Type`, `X`, `Y`, `Width`, `Height`, `Attributes`, `Text`) VALUES( %s )"); 849 #define add_controlevent_entry(hdb, values) add_entry(__FILE__, __LINE__, "ControlEvent", hdb, values, \ 850 "INSERT INTO `ControlEvent` " \ 851 "(`Dialog_`, `Control_`, `Event`, `Argument`, `Condition`, `Ordering`) VALUES( %s )"); 853 #define add_actiontext_entry(hdb, values) add_entry(__FILE__, __LINE__, "ActionText", hdb, values, \ 854 "INSERT INTO `ActionText` " \ 855 "(`Action`, `Description`, `Template`) VALUES( %s )"); 861 "INSERT INTO `RegLocator` (`Signature_`, `Root`, `Key`, `Name`, `Type`) " 862 "VALUES( '%s', %u, '%s', '%s', %u )";
885 "Installation Database");
889 "Installation Database");
901 "{913B8D18-FBB6-4CAC-A239-C74C11E3FA74}");
940 "CREATE TABLE `Directory` ( " 941 "`Directory` CHAR(255) NOT NULL, " 942 "`Directory_Parent` CHAR(255), " 943 "`DefaultDir` CHAR(255) NOT NULL " 944 "PRIMARY KEY `Directory`)" );
956 sprintf(szPackage,
"#%u", hdb);
1008 #define roundoffs(a, b, r) (((BYTE *)(b) - (BYTE *)(a) + ((r) - 1)) & ~((r) - 1)) 1009 #define roundpos(a, b, r) (((BYTE *)(a)) + roundoffs(a, b, r)) 1068 return pSRSetRestorePointA(&spec,
status);
1075 res = pSRRemoveRestorePoint(seq_number);
1077 trace(
"Failed to remove the restore point : %08x\n",
res);
1093 skip(
"Not enough rights to perform tests\n");
1115 skip(
"Not enough rights to perform tests\n");
1136 static const WCHAR boo[] = {
'b',
'o',
'o',0};
1139 WCHAR bufferW[0x80];
1147 skip(
"Not enough rights to perform tests\n");
1208 ok(rec,
"MsiCreate record failed\n");
1229 ok ( hdb,
"failed to create package database\n" );
1234 add_component_entry( hdb,
"'RootComp', '{83e2694d-0864-4124-9323-6d37630912a1}', 'TARGETDIR', 8, '', 'RootFile'" );
1235 add_component_entry( hdb,
"'TestComp', '{A3FB59C8-C293-4F7E-B8C5-F0E1D8EEE4E5}', 'TestDir', 0, '', 'TestFile'" );
1248 add_file_entry( hdb,
"'RootFile', 'RootComp', 'rootfile.txt', 0, '', '1033', 8192, 1" );
1249 add_file_entry( hdb,
"'TestFile', 'TestComp', 'testfile.txt', 0, '', '1033', 8192, 1" );
1254 skip(
"Not enough rights to perform tests\n");
1289 sz =
sizeof tempdir - 1;
1302 "MsiSetTargetPath on file returned %d\n",
r );
1306 "MsiSetTargetPath on 'subdir' of file returned %d\n",
r );
1334 lstrcatA( tempdir,
"TestParent\\" );
1345 "Expected \"C:\\one\\two\\TestDir\\\", got \"%s\"\n",
buffer );
1350 "Expected C:\\one\\two\\TestDir\\testfile.txt, got %s\n",
buffer );
1390 static const WCHAR cond1[] = {
'\"',
'a',0x30a,
'\"',
'<',
'\"',0xe5,
'\"',0};
1391 static const WCHAR cond2[] = {
'\"',
'a',0x30a,
'\"',
'>',
'\"',0xe5,
'\"',0};
1392 static const WCHAR cond3[] = {
'\"',
'a',0x30a,
'\"',
'<',
'>',
'\"',0xe5,
'\"',0};
1393 static const WCHAR cond4[] = {
'\"',
'a',0x30a,
'\"',
'=',
'\"',0xe5,
'\"',0};
1400 skip(
"Not enough rights to perform tests\n");
2123 "wrong return val (%d)\n",
r);
2127 "wrong return val (%d)\n",
r);
2131 "wrong return val (%d)\n",
r);
2135 "wrong return val (%d)\n",
r);
2168 skip(
"Not enough rights to perform tests\n");
2191 ok( sz == 0,
"wrong size returned\n");
2199 ok( sz == 0,
"wrong size returned\n");
2205 ok(
buffer[0] == 0,
"buffer was not changed\n");
2206 ok( sz == 0,
"wrong size returned\n");
2254 ok(
buffer[0] == 0,
"buffer was not changed\n");
2255 ok( sz == 3,
"wrong size returned\n");
2262 ok( sz == 3,
"wrong size returned\n");
2269 ok( sz == 3,
"wrong size returned\n");
2278 ok( sz == 0,
"wrong size returned\n");
2284 ok( sz == 0,
"wrong size returned\n");
2290 ok( sz == 3,
"wrong size returned\n");
2298 ok( sz == 13,
"size wrong (%d)\n", sz);
2353 ok(sz ==
len,
"wrong size %u\n", sz);
2375 ok( hdb,
"failed to create package\n");
2380 skip(
"Not enough rights to perform tests\n");
2390 query =
"CREATE TABLE `_Property` ( " 2391 "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
2400 ok( hdb,
"failed to create package\n");
2402 query =
"CREATE TABLE `_Property` ( " 2403 "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
2407 query =
"ALTER `_Property` ADD `foo` INTEGER";
2411 query =
"ALTER TABLE `_Property` ADD `foo` INTEGER";
2415 query =
"ALTER TABLE `_Property` ADD `extra` INTEGER";
2429 ok (hdb,
"failed to create package database\n");
2450 ok(found,
"prop should be in the _Property table\n");
2454 query =
"SELECT * FROM `_Property` WHERE `Property` = 'dantes'";
2459 ok(found ==
FALSE,
"dantes should not be in the _Property table\n");
2471 ok(found ==
TRUE,
"dantes should be in the _Property table\n");
2481 ok( sz ==
sizeof(
"\0np") - 1,
"got %u\n", sz );
2484 ok(found ==
TRUE,
"prop2 should be in the _Property table\n");
2573 skip(
"Not enough rights to perform tests\n");
2604 "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n",
r);
2606 query =
"CREATE TABLE `Property` ( " 2607 "`Property` CHAR(72), `Value` CHAR(0) " 2608 "PRIMARY KEY `Property`)";
2612 query =
"CREATE TABLE `InstallExecuteSequence` (" 2613 "`Action` CHAR(72), `Condition` CHAR(0), `Sequence` INTEGER " 2614 "PRIMARY KEY `Action`)";
2622 "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n",
r);
2641 "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n",
r);
2646 "Expected ERROR_SUCCESS, got %d\n",
r);
2663 skip(
"Not enough rights to perform tests\n");
2673 ok(hrec,
"create record failed\n");
2689 ok( sz == 3,
"size wrong\n");
2697 ok( sz == 3,
"size wrong\n");
2707 ok( sz == 3,
"size wrong\n");
2715 ok( sz == 1,
"size wrong\n");
2724 ok( sz == 3,
"size wrong\n");
2734 ok( sz == 3,
"size wrong\n");
2756 ok ( hdb,
"failed to create package database\n");
2760 "'I am a really long directory'" );
2776 add_file_entry( hdb,
"'frontal_file', 'frontal', 'frontal.txt', 0, '', '1033', 8192, 1" );
2777 add_file_entry( hdb,
"'parietal_file', 'parietal', 'parietal.txt', 0, '', '1033', 8192, 1" );
2778 add_file_entry( hdb,
"'temporal_file', 'temporal', 'temporal.txt', 0, '', '1033', 8192, 1" );
2790 skip(
"Not enough rights to perform tests\n");
2817 ok( !
lstrcmpA(
buf,
"1: ringer " ),
"Expected '1: ringer ', got %s\n",
buf );
2823 ok( !
lstrcmpA(
buf,
"1: ringer " ),
"Expected '1: ringer ', got %s\n",
buf );
2838 ok( !
lstrcmpA(
buf,
"1: crazyval " ),
"Expected '1: crazyval ', got %s\n",
buf );
2929 ok( !
lstrcmpA(
buf,
"[Bracket Text]" ),
"Expected '[Bracket Text]', got %s\n",
buf);
2957 ok( !
memcmp(
buf,
"\0np",
sizeof(
"\0np") ),
"wrong value\n");
2958 ok(
size ==
sizeof(
"\0np") - 1,
"got %u\n",
size );
2992 sprintf(
buf,
"%sI am a really long directory\\temporal.txt",
root );
3014 ok(
state == expected_state,
"%u: expected state %d got %d\n",
3017 ok(
action == expected_action,
"%u: expected action %d got %d\n",
3022 ok(
state == 0xdeadbee,
"%u: expected state 0xdeadbee got %d\n",
line,
state );
3040 ok(
state == expected_state,
"%u: expected state %d got %d\n",
3043 ok(
action == expected_action,
"%u: expected action %d got %d\n",
3048 ok(
state == 0xdeadbee,
"%u: expected state 0xdeadbee got %d\n",
3051 ok(
action == 0xdeadbee,
"%u: expected action 0xdeadbee got %d\n",
3058 static const char msifile2[] =
"winetest2-package.msi";
3059 static const char msifile3[] =
"winetest3-package.msi";
3060 static const char msifile4[] =
"winetest4-package.msi";
3062 {
'w',
'i',
'n',
'e',
't',
'e',
's',
't',
'2',
'-',
'p',
'a',
'c',
'k',
'a',
'g',
'e',
'.',
'm',
's',
'i',0};
3063 static const WCHAR msifile3W[] =
3064 {
'w',
'i',
'n',
'e',
't',
'e',
's',
't',
'3',
'-',
'p',
'a',
'c',
'k',
'a',
'g',
'e',
'.',
'm',
's',
'i',0};
3065 static const WCHAR msifile4W[] =
3066 {
'w',
'i',
'n',
'e',
't',
'e',
's',
't',
'4',
'-',
'p',
'a',
'c',
'k',
'a',
'g',
'e',
'.',
'm',
's',
'i',0};
3068 DWORD cache_file_name_len;
3077 skip(
"process is limited\n");
3082 ok ( hdb,
"failed to create package database\n" );
3087 add_property_entry( hdb,
"'ProductCode', '{7262AC98-EEBD-4364-8CE3-D654F6A425B9}'" );
3117 add_component_entry( hdb,
"'alpha', '{467EC132-739D-4784-A37B-677AA43DBC94}', 'TARGETDIR', 0, '', 'alpha_file'" );
3120 add_component_entry( hdb,
"'beta', '{2C1F189C-24A6-4C34-B26B-994A6C026506}', 'TARGETDIR', 1, '', 'beta_file'" );
3123 add_component_entry( hdb,
"'gamma', '{C271E2A4-DE2E-4F70-86D1-6984AF7DE2CA}', 'TARGETDIR', 2, '', 'gamma_file'" );
3126 add_component_entry( hdb,
"'theta', '{4EB3129D-81A8-48D5-9801-75600FED3DD9}', 'TARGETDIR', 8, '', 'theta_file'" );
3132 add_component_entry( hdb,
"'delta', '{938FD4F2-C648-4259-A03C-7AA3B45643F3}', 'TARGETDIR', 0, '', 'delta_file'" );
3135 add_component_entry( hdb,
"'epsilon', '{D59713B6-C11D-47F2-A395-1E5321781190}', 'TARGETDIR', 1, '', 'epsilon_file'" );
3138 add_component_entry( hdb,
"'zeta', '{377D33AB-2FAA-42B9-A629-0C0DAE9B9C7A}', 'TARGETDIR', 2, '', 'zeta_file'" );
3141 add_component_entry( hdb,
"'iota', '{5D36F871-B5ED-4801-9E0F-C46B9E5C9669}', 'TARGETDIR', 8, '', 'iota_file'" );
3153 add_component_entry( hdb,
"'eta', '{DD89003F-0DD4-41B8-81C0-3411A7DA2695}', 'TARGETDIR', 1, '', 'eta_file'" );
3156 add_component_entry( hdb,
"'kappa', '{D6B93DC3-8DA5-4769-9888-42BFE156BB8B}', 'TARGETDIR', 1, '', 'kappa_file'" );
3162 add_component_entry( hdb,
"'lambda', '{6528C5E4-02A4-4636-A214-7A66A6C35B64}', 'TARGETDIR', 0, '', 'lambda_file'" );
3165 add_component_entry( hdb,
"'mu', '{97014BAB-6C56-4013-9A63-2BF913B42519}', 'TARGETDIR', 1, '', 'mu_file'" );
3168 add_component_entry( hdb,
"'nu', '{943DD0D8-5808-4954-8526-3B8493FEDDCD}', 'TARGETDIR', 2, '', 'nu_file'" );
3171 add_component_entry( hdb,
"'xi', '{D6CF9EF7-6FCF-4930-B34B-F938AEFF9BDB}', 'TARGETDIR', 8, '', 'xi_file'" );
3177 add_component_entry( hdb,
"'omicron', '{7B57521D-15DB-4141-9AA6-01D934A4433F}', 'TARGETDIR', 0, '', 'omicron_file'" );
3180 add_component_entry( hdb,
"'pi', '{FB85346B-378E-4492-8769-792305471C81}', 'TARGETDIR', 1, '', 'pi_file'" );
3183 add_component_entry( hdb,
"'rho', '{798F2047-7B0C-4783-8BB0-D703E554114B}', 'TARGETDIR', 2, '', 'rho_file'" );
3186 add_component_entry( hdb,
"'sigma', '{5CE9DDA8-B67B-4736-9D93-99D61C5B93E7}', 'TARGETDIR', 8, '', 'sigma_file'" );
3191 add_component_entry( hdb,
"'tau', '{07DEB510-677C-4A6F-A0A6-7CD8EFEA77ED}', 'TARGETDIR', 1, '', 'tau_file'" );
3196 add_component_entry( hdb,
"'phi', '{9F0594C5-35AD-43EA-94DD-8DF73FAA664D}', 'TARGETDIR', 1, '', 'phi_file'" );
3201 add_component_entry( hdb,
"'chi', '{E6B539AB-5DA9-4236-A2D2-E341A50B4C38}', 'TARGETDIR', 1, '', 'chi_file'" );
3206 add_component_entry( hdb,
"'psi', '{A06B23B5-746B-427A-8A6E-FD6AC8F46A95}', 'TARGETDIR', 1, '', 'psi_file'" );
3211 add_component_entry( hdb,
"'upsilon', '{557e0c04-ceba-4c58-86a9-4a73352e8cf6}', 'TARGETDIR', 1, '', 'upsilon_file'" );
3244 add_file_entry( hdb,
"'alpha_file', 'alpha', 'alpha.txt', 100, '', '1033', 8192, 1" );
3245 add_file_entry( hdb,
"'beta_file', 'beta', 'beta.txt', 0, '', '1033', 8192, 1" );
3246 add_file_entry( hdb,
"'gamma_file', 'gamma', 'gamma.txt', 0, '', '1033', 8192, 1" );
3247 add_file_entry( hdb,
"'theta_file', 'theta', 'theta.txt', 0, '', '1033', 8192, 1" );
3248 add_file_entry( hdb,
"'delta_file', 'delta', 'delta.txt', 0, '', '1033', 8192, 1" );
3249 add_file_entry( hdb,
"'epsilon_file', 'epsilon', 'epsilon.txt', 0, '', '1033', 8192, 1" );
3250 add_file_entry( hdb,
"'zeta_file', 'zeta', 'zeta.txt', 0, '', '1033', 8192, 1" );
3251 add_file_entry( hdb,
"'iota_file', 'iota', 'iota.txt', 0, '', '1033', 8192, 1" );
3254 add_file_entry( hdb,
"'eta_file', 'eta', 'eta.txt', 0, '', '1033', 16384, 1" );
3256 add_file_entry( hdb,
"'kappa_file', 'kappa', 'kappa.txt', 0, '', '1033', 8192, 1" );
3257 add_file_entry( hdb,
"'lambda_file', 'lambda', 'lambda.txt', 100, '', '1033', 8192, 1" );
3258 add_file_entry( hdb,
"'mu_file', 'mu', 'mu.txt', 100, '', '1033', 8192, 1" );
3259 add_file_entry( hdb,
"'nu_file', 'nu', 'nu.txt', 100, '', '1033', 8192, 1" );
3260 add_file_entry( hdb,
"'xi_file', 'xi', 'xi.txt', 100, '', '1033', 8192, 1" );
3261 add_file_entry( hdb,
"'omicron_file', 'omicron', 'omicron.txt', 100, '', '1033', 8192, 1" );
3262 add_file_entry( hdb,
"'pi_file', 'pi', 'pi.txt', 100, '', '1033', 8192, 1" );
3263 add_file_entry( hdb,
"'rho_file', 'rho', 'rho.txt', 100, '', '1033', 8192, 1" );
3264 add_file_entry( hdb,
"'sigma_file', 'sigma', 'sigma.txt', 100, '', '1033', 8192, 1" );
3265 add_file_entry( hdb,
"'tau_file', 'tau', 'tau.txt', 100, '', '1033', 8192, 1" );
3266 add_file_entry( hdb,
"'phi_file', 'phi', 'phi.txt', 100, '', '1033', 8192, 1" );
3267 add_file_entry( hdb,
"'chi_file', 'chi', 'chi.txt', 100, '', '1033', 8192, 1" );
3268 add_file_entry( hdb,
"'psi_file', 'psi', 'psi.txt', 100, '', '1033', 8192, 1" );
3269 add_file_entry( hdb,
"'upsilon_file', 'upsilon', 'upsilon.txt', 0, '', '1033', 16384, 1" );
3284 skip(
"Not enough rights to perform tests\n");