diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-01-17 20:15:48 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-01-17 20:26:04 -0600 |
commit | 32fce16069d47fbf7e08414e9fd31e2a09968395 (patch) | |
tree | bdcb69a9b0f1d5d54ca2daf40b80f0a208ddb4cc | |
parent | 5bab3f6ae97b62bb6e79378010c08a13e48fde5a (diff) | |
download | wix-32fce16069d47fbf7e08414e9fd31e2a09968395.tar.gz wix-32fce16069d47fbf7e08414e9fd31e2a09968395.tar.bz2 wix-32fce16069d47fbf7e08414e9fd31e2a09968395.zip |
Update PlanTest to use manifests created by latest v4.
-rw-r--r-- | src/engine/manifest.cpp | 6 | ||||
-rw-r--r-- | src/engine/manifest.h | 4 | ||||
-rw-r--r-- | src/test/BurnUnitTest/BurnUnitTest.vcxproj | 4 | ||||
-rw-r--r-- | src/test/BurnUnitTest/PlanTest.cpp | 300 | ||||
-rw-r--r-- | src/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml | 1 | ||||
-rw-r--r-- | src/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml | 1 |
6 files changed, 129 insertions, 187 deletions
diff --git a/src/engine/manifest.cpp b/src/engine/manifest.cpp index 270b6b74..fe8c6cad 100644 --- a/src/engine/manifest.cpp +++ b/src/engine/manifest.cpp | |||
@@ -10,8 +10,8 @@ static HRESULT ParseFromXml( | |||
10 | 10 | ||
11 | // function definitions | 11 | // function definitions |
12 | 12 | ||
13 | extern "C" HRESULT ManifestLoadXml( | 13 | extern "C" HRESULT ManifestLoadXmlFromFile( |
14 | __in LPCWSTR wzDocument, | 14 | __in LPCWSTR wzPath, |
15 | __in BURN_ENGINE_STATE* pEngineState | 15 | __in BURN_ENGINE_STATE* pEngineState |
16 | ) | 16 | ) |
17 | { | 17 | { |
@@ -19,7 +19,7 @@ extern "C" HRESULT ManifestLoadXml( | |||
19 | IXMLDOMDocument* pixdDocument = NULL; | 19 | IXMLDOMDocument* pixdDocument = NULL; |
20 | 20 | ||
21 | // load xml document | 21 | // load xml document |
22 | hr = XmlLoadDocument(wzDocument, &pixdDocument); | 22 | hr = XmlLoadDocumentFromFile(wzPath, &pixdDocument); |
23 | ExitOnFailure(hr, "Failed to load manifest as XML document."); | 23 | ExitOnFailure(hr, "Failed to load manifest as XML document."); |
24 | 24 | ||
25 | hr = ParseFromXml(pixdDocument, pEngineState); | 25 | hr = ParseFromXml(pixdDocument, pEngineState); |
diff --git a/src/engine/manifest.h b/src/engine/manifest.h index 223181d9..8c527279 100644 --- a/src/engine/manifest.h +++ b/src/engine/manifest.h | |||
@@ -11,8 +11,8 @@ extern "C" { | |||
11 | 11 | ||
12 | // function declarations | 12 | // function declarations |
13 | 13 | ||
14 | HRESULT ManifestLoadXml( | 14 | HRESULT ManifestLoadXmlFromFile( |
15 | __in LPCWSTR wzDocument, | 15 | __in LPCWSTR wzPath, |
16 | __in BURN_ENGINE_STATE* pEngineState | 16 | __in BURN_ENGINE_STATE* pEngineState |
17 | ); | 17 | ); |
18 | 18 | ||
diff --git a/src/test/BurnUnitTest/BurnUnitTest.vcxproj b/src/test/BurnUnitTest/BurnUnitTest.vcxproj index 18527de5..b668f68a 100644 --- a/src/test/BurnUnitTest/BurnUnitTest.vcxproj +++ b/src/test/BurnUnitTest/BurnUnitTest.vcxproj | |||
@@ -61,6 +61,10 @@ | |||
61 | <ResourceCompile Include="BurnUnitTest.rc" /> | 61 | <ResourceCompile Include="BurnUnitTest.rc" /> |
62 | </ItemGroup> | 62 | </ItemGroup> |
63 | <ItemGroup> | 63 | <ItemGroup> |
64 | <None Include="TestData\PlanTest\BasicFunctionality_BundleA_manifest.xml" CopyToOutputDirectory="PreserveNewest" /> | ||
65 | <None Include="TestData\PlanTest\MsiTransaction_BundleAv1_manifest.xml" CopyToOutputDirectory="PreserveNewest" /> | ||
66 | </ItemGroup> | ||
67 | <ItemGroup> | ||
64 | <Reference Include="System" /> | 68 | <Reference Include="System" /> |
65 | <Reference Include="System.Core" /> | 69 | <Reference Include="System.Core" /> |
66 | <Reference Include="WixBuildTools.TestSupport"> | 70 | <Reference Include="WixBuildTools.TestSupport"> |
diff --git a/src/test/BurnUnitTest/PlanTest.cpp b/src/test/BurnUnitTest/PlanTest.cpp index 5b3dca8d..71e455c3 100644 --- a/src/test/BurnUnitTest/PlanTest.cpp +++ b/src/test/BurnUnitTest/PlanTest.cpp | |||
@@ -9,118 +9,8 @@ static HRESULT WINAPI PlanTestBAProc( | |||
9 | __in_opt LPVOID pvContext | 9 | __in_opt LPVOID pvContext |
10 | ); | 10 | ); |
11 | 11 | ||
12 | static LPCWSTR wzMsiTransactionManifest = | 12 | static LPCWSTR wzMsiTransactionManifestFileName = L"MsiTransaction_BundleAv1_manifest.xml"; |
13 | L"<Bundle>" | 13 | static LPCWSTR wzSingleMsiManifestFileName = L"BasicFunctionality_BundleA_manifest.xml"; |
14 | L" <Log PathVariable='WixBundleLog' Prefix='~manual_BundleA' Extension='log' />" | ||
15 | L" <RelatedBundle Id='{90ED10D5-B187-4470-B498-05D80DAB729A}' Action='Upgrade' />" | ||
16 | L" <Variable Id='TestName' Value='MsiTransaction' Type='string' Hidden='no' Persisted='no' />" | ||
17 | L" <Variable Id='WixBundleName' Hidden='no' Persisted='yes' />" | ||
18 | L" <Variable Id='WixBundleOriginalSource' Hidden='no' Persisted='yes' />" | ||
19 | L" <Variable Id='WixBundleOriginalSourceFolder' Hidden='no' Persisted='yes' />" | ||
20 | L" <Variable Id='WixBundleLastUsedSource' Hidden='no' Persisted='yes' />" | ||
21 | L" <UX>" | ||
22 | L" <Payload Id='WixStandardBootstrapperApplication.RtfLicense' FilePath='wixstdba.dll' FileSize='1312768' Hash='B331BC5C819F019981D2524C48CC370DE2BFE9F8' Packaging='embedded' SourcePath='u0' />" | ||
23 | L" <Payload Id='payF3wjO.aj6M8ftq9wrfYB1N4aw4g' FilePath='thm.xml' FileSize='8048' Hash='A712A9E1427A4EE1D0B68343A54019A3FC9967CB' Packaging='embedded' SourcePath='u1' />" | ||
24 | L" <Payload Id='payViPRdlZD7MPIBgwmX2Hv5C6oKt4' FilePath='thm.wxl' FileSize='3926' Hash='B88FAB9B6C2B52FBE017F91B0915781C6B76058E' Packaging='embedded' SourcePath='u2' />" | ||
25 | L" <Payload Id='payjqSD44latbvJnf4vAQuVMUST73A' FilePath='logo.png' FileSize='852' Hash='239F10674BF6022854C1F1BF7C91955BDE34D3E4' Packaging='embedded' SourcePath='u3' />" | ||
26 | L" <Payload Id='pay60yHh1x6HODo4M_38Pud7jhl2Ig' FilePath='license.rtf' FileSize='4908' Hash='383034848F8CC4F3C8E795CC0F4D716A285E9465' Packaging='embedded' SourcePath='u4' />" | ||
27 | L" <Payload Id='uxTxMXPVMXwQrPTMIGa5WGt93w0Ns' FilePath='BootstrapperApplicationData.xml' FileSize='6870' Hash='5302818DB5BD565463715D3C7099FE5123474476' Packaging='embedded' SourcePath='u5' />" | ||
28 | L" </UX>" | ||
29 | L" <Container Id='WixAttachedContainer' FileSize='9198' Hash='D932DEBC15B7EC41B3EB64DD075A1C7148C2BD6D' FilePath='BundleA.exe' AttachedIndex='1' Attached='yes' Primary='yes' />" | ||
30 | L" <Payload Id='PackageA' FilePath='~manual_PackageA.msi' FileSize='32768' Hash='4011C700186B4C162B2A50D981C895108AD67EBB' Packaging='embedded' SourcePath='a0' Container='WixAttachedContainer' />" | ||
31 | L" <Payload Id='PackageB' FilePath='~manual_PackageB.msi' FileSize='32768' Hash='0DA2766C6B5D2253A37675D89E6F15A70EDD18EB' Packaging='embedded' SourcePath='a1' Container='WixAttachedContainer' />" | ||
32 | L" <Payload Id='PackageC' FilePath='~manual_PackageC.msi' FileSize='32768' Hash='B5E1B37DCF08B7D88F2EB45D063513BDE052E5E4' Packaging='embedded' SourcePath='a2' Container='WixAttachedContainer' />" | ||
33 | L" <Payload Id='cab1QmlL013Hqv_44W64R0cvnHn_2c' FilePath='cab1.cab' FileSize='973' Hash='7A51FCEDBCD0A697A94F0C47A89BDD5EFCC0CB4B' Packaging='embedded' SourcePath='a3' Container='WixAttachedContainer' />" | ||
34 | L" <Payload Id='cabQH1Sgh7w2K8tLIftUaaWVhMWt0s' FilePath='cab1.cab' FileSize='985' Hash='32EFE9983CB1FF0905A3725B901D0BBD5334E616' Packaging='embedded' SourcePath='a4' Container='WixAttachedContainer' />" | ||
35 | L" <Payload Id='cabRT8kdm93olnEAQB2GSO3u0400VI' FilePath='cab1.cab' FileSize='971' Hash='1D20203378E2AEC4AD728F7849A5CC7F6E7D094D' Packaging='embedded' SourcePath='a5' Container='WixAttachedContainer' />" | ||
36 | L" <RollbackBoundary Id='WixDefaultBoundary' Vital='yes' Transaction='no' />" | ||
37 | L" <RollbackBoundary Id='rbaOCA08D8ky7uBOK71_6FWz1K3TuQ' Vital='yes' Transaction='yes' />" | ||
38 | L" <Registration Id='{c096190a-8bf3-4342-a1d2-94ea9cb853d6}' ExecutableName='BundleA.exe' PerMachine='yes' Tag='' Version='1.0.0.0' ProviderKey='{c096190a-8bf3-4342-a1d2-94ea9cb853d6}'>" | ||
39 | L" <Arp Register='yes' DisplayName='~manual - Bundle A' DisplayVersion='1.0.0.0' />" | ||
40 | L" </Registration>" | ||
41 | L" <Chain>" | ||
42 | L" <MsiPackage Id='PackageA' Cache='yes' CacheId='{196E43EA-EF92-4FF8-B9AC-A0FD0D225BB4}v1.0.0.0' InstallSize='1634' Size='33741' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_PackageA' RollbackLogPathVariable='WixBundleRollbackLog_PackageA' ProductCode='{196E43EA-EF92-4FF8-B9AC-A0FD0D225BB4}' Language='1033' Version='1.0.0.0' UpgradeCode='{5B6AB1CF-5DD5-4BB1-851A-9C7E789BCDC7}'>" | ||
43 | L" <MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" | ||
44 | L" <MsiProperty Id='MSIFASTINSTALL' Value='7' />" | ||
45 | L" <Provides Key='{196E43EA-EF92-4FF8-B9AC-A0FD0D225BB4}' DisplayName='~manual - A' />" | ||
46 | L" <RelatedPackage Id='{5B6AB1CF-5DD5-4BB1-851A-9C7E789BCDC7}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'>" | ||
47 | L" <Language Id='1033' />" | ||
48 | L" </RelatedPackage>" | ||
49 | L" <RelatedPackage Id='{5B6AB1CF-5DD5-4BB1-851A-9C7E789BCDC7}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'>" | ||
50 | L" <Language Id='1033' />" | ||
51 | L" </RelatedPackage>" | ||
52 | L" <PayloadRef Id='PackageA' />" | ||
53 | L" <PayloadRef Id='cab1QmlL013Hqv_44W64R0cvnHn_2c' />" | ||
54 | L" </MsiPackage>" | ||
55 | L" <MsiPackage Id='PackageB' Cache='yes' CacheId='{388E4963-13AD-4EE7-B907-AA8888F50E54}v1.0.0.0' InstallSize='1665' Size='33753' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='rbaOCA08D8ky7uBOK71_6FWz1K3TuQ' LogPathVariable='WixBundleLog_PackageB' RollbackLogPathVariable='WixBundleRollbackLog_PackageB' ProductCode='{388E4963-13AD-4EE7-B907-AA8888F50E54}' Language='1033' Version='1.0.0.0' UpgradeCode='{04ABCDBB-2C66-4338-9B1D-DE2AC9B0D1C2}'>" | ||
56 | L" <MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" | ||
57 | L" <MsiProperty Id='MSIFASTINSTALL' Value='7' />" | ||
58 | L" <Provides Key='{388E4963-13AD-4EE7-B907-AA8888F50E54}' DisplayName='~manual - B' />" | ||
59 | L" <RelatedPackage Id='{04ABCDBB-2C66-4338-9B1D-DE2AC9B0D1C2}' MaxVersion='1.0.0.0' MaxInclusive='yes' OnlyDetect='no' LangInclusive='yes'>" | ||
60 | L" <Language Id='1033' />" | ||
61 | L" </RelatedPackage>" | ||
62 | L" <RelatedPackage Id='{04ABCDBB-2C66-4338-9B1D-DE2AC9B0D1C2}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'>" | ||
63 | L" <Language Id='1033' />" | ||
64 | L" </RelatedPackage>" | ||
65 | L" <PayloadRef Id='PackageB' />" | ||
66 | L" <PayloadRef Id='cabQH1Sgh7w2K8tLIftUaaWVhMWt0s' />" | ||
67 | L" </MsiPackage>" | ||
68 | L" <MsiPackage Id='PackageC' Cache='yes' CacheId='{BE27CF2B-9E5F-4500-BAE3-5E0E522FB962}v1.0.0.0' InstallSize='1634' Size='33739' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryBackward='rbaOCA08D8ky7uBOK71_6FWz1K3TuQ' LogPathVariable='WixBundleLog_PackageC' RollbackLogPathVariable='WixBundleRollbackLog_PackageC' ProductCode='{BE27CF2B-9E5F-4500-BAE3-5E0E522FB962}' Language='1033' Version='1.0.0.0' UpgradeCode='{3F8C1522-741D-499E-9137-7E192405E01A}'>" | ||
69 | L" <MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" | ||
70 | L" <MsiProperty Id='MSIFASTINSTALL' Value='7' />" | ||
71 | L" <Provides Key='{BE27CF2B-9E5F-4500-BAE3-5E0E522FB962}' DisplayName='~manual - C' />" | ||
72 | L" <RelatedPackage Id='{3F8C1522-741D-499E-9137-7E192405E01A}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'>" | ||
73 | L" <Language Id='1033' />" | ||
74 | L" </RelatedPackage>" | ||
75 | L" <RelatedPackage Id='{3F8C1522-741D-499E-9137-7E192405E01A}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'>" | ||
76 | L" <Language Id='1033' />" | ||
77 | L" </RelatedPackage>" | ||
78 | L" <PayloadRef Id='PackageC' />" | ||
79 | L" <PayloadRef Id='cabRT8kdm93olnEAQB2GSO3u0400VI' />" | ||
80 | L" </MsiPackage>" | ||
81 | L" </Chain>" | ||
82 | L"</Bundle>"; | ||
83 | |||
84 | static LPCWSTR wzSingleMsiManifest = | ||
85 | L"<Bundle>" | ||
86 | L" <Log PathVariable='WixBundleLog' Prefix='~manual_BundleB' Extension='log' />" | ||
87 | L" <RelatedBundle Id='{CAAD4202-2097-4065-82BB-83F9F3FF61CE}' Action='Upgrade' />" | ||
88 | L" <Variable Id='TestName' Value='SingleMsi' Type='string' Hidden='no' Persisted='no' />" | ||
89 | L" <Variable Id='WixBundleName' Hidden='no' Persisted='yes' />" | ||
90 | L" <Variable Id='WixBundleOriginalSource' Hidden='no' Persisted='yes' />" | ||
91 | L" <Variable Id='WixBundleOriginalSourceFolder' Hidden='no' Persisted='yes' />" | ||
92 | L" <Variable Id='WixBundleLastUsedSource' Hidden='no' Persisted='yes' />" | ||
93 | L" <UX>" | ||
94 | L" <Payload Id='WixStandardBootstrapperApplication.RtfLicense' FilePath='wixstdba.dll' FileSize='1312768' Hash='B331BC5C819F019981D2524C48CC370DE2BFE9F8' Packaging='embedded' SourcePath='u0' />" | ||
95 | L" <Payload Id='payF3wjO.aj6M8ftq9wrfYB1N4aw4g' FilePath='thm.xml' FileSize='8048' Hash='A712A9E1427A4EE1D0B68343A54019A3FC9967CB' Packaging='embedded' SourcePath='u1' />" | ||
96 | L" <Payload Id='payViPRdlZD7MPIBgwmX2Hv5C6oKt4' FilePath='thm.wxl' FileSize='3926' Hash='B88FAB9B6C2B52FBE017F91B0915781C6B76058E' Packaging='embedded' SourcePath='u2' />" | ||
97 | L" <Payload Id='payjqSD44latbvJnf4vAQuVMUST73A' FilePath='logo.png' FileSize='852' Hash='239F10674BF6022854C1F1BF7C91955BDE34D3E4' Packaging='embedded' SourcePath='u3' />" | ||
98 | L" <Payload Id='pay60yHh1x6HODo4M_38Pud7jhl2Ig' FilePath='license.rtf' FileSize='4908' Hash='383034848F8CC4F3C8E795CC0F4D716A285E9465' Packaging='embedded' SourcePath='u4' />" | ||
99 | L" <Payload Id='uxTxMXPVMXwQrPTMIGa5WGt93w0Ns' FilePath='BootstrapperApplicationData.xml' FileSize='3854' Hash='2807D2AB42585125D18B7DCE49DB6454A1AFC367' Packaging='embedded' SourcePath='u5' />" | ||
100 | L" </UX>" | ||
101 | L" <Container Id='WixAttachedContainer' FileSize='6486' Hash='944E8702BD8DCDB1E41C47033115B690CED42033' FilePath='BundleC.exe' AttachedIndex='1' Attached='yes' Primary='yes' />" | ||
102 | L" <Payload Id='PackageE' FilePath='~manual_PackageE.msi' FileSize='32768' Hash='EB5B931CFCD724391A014A93A9B41037AEE57EC5' Packaging='embedded' SourcePath='a0' Container='WixAttachedContainer' />" | ||
103 | L" <Payload Id='cabkAPka1fWa1PyiVdoVPuoB6Qvs3k' FilePath='cab1.cab' FileSize='973' Hash='A0D42DE329CFCF0AF60D5FFA902C7E53DD5F3B4F' Packaging='embedded' SourcePath='a1' Container='WixAttachedContainer' />" | ||
104 | L" <RollbackBoundary Id='WixDefaultBoundary' Vital='yes' Transaction='no' />" | ||
105 | L" <Registration Id='{4a04385a-0081-44ba-acd1-9e4e95cfc97f}' ExecutableName='BundleC.exe' PerMachine='yes' Tag='' Version='1.0.0.0' ProviderKey='{4a04385a-0081-44ba-acd1-9e4e95cfc97f}'>" | ||
106 | L" <Arp Register='yes' DisplayName='~manual - Bundle B' DisplayVersion='1.0.0.0' />" | ||
107 | L" </Registration>" | ||
108 | L" <Chain>" | ||
109 | L" <MsiPackage Id='PackageE' Cache='yes' CacheId='{284F56B6-B6C7-404A-B9B5-78F63BF79494}v1.0.0.0' InstallSize='1640' Size='33741' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_PackageE' RollbackLogPathVariable='WixBundleRollbackLog_PackageE' ProductCode='{284F56B6-B6C7-404A-B9B5-78F63BF79494}' Language='1033' Version='1.0.0.0' UpgradeCode='{04ABCDBB-2C66-4338-9B1D-DE2AC9B0D1C2}'>" | ||
110 | L" <MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" | ||
111 | L" <MsiProperty Id='MSIFASTINSTALL' Value='7' />" | ||
112 | L" <Provides Key='{284F56B6-B6C7-404A-B9B5-78F63BF79494}' DisplayName='~manual - E' />" | ||
113 | L" <RelatedPackage Id='{04ABCDBB-2C66-4338-9B1D-DE2AC9B0D1C2}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'>" | ||
114 | L" <Language Id='1033' />" | ||
115 | L" </RelatedPackage>" | ||
116 | L" <RelatedPackage Id='{04ABCDBB-2C66-4338-9B1D-DE2AC9B0D1C2}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'>" | ||
117 | L" <Language Id='1033' />" | ||
118 | L" </RelatedPackage>" | ||
119 | L" <PayloadRef Id='PackageE' />" | ||
120 | L" <PayloadRef Id='cabkAPka1fWa1PyiVdoVPuoB6Qvs3k' />" | ||
121 | L" </MsiPackage>" | ||
122 | L" </Chain>" | ||
123 | L"</Bundle>"; | ||
124 | 14 | ||
125 | namespace Microsoft | 15 | namespace Microsoft |
126 | { | 16 | { |
@@ -150,7 +40,7 @@ namespace Bootstrapper | |||
150 | BURN_ENGINE_STATE* pEngineState = &engineState; | 40 | BURN_ENGINE_STATE* pEngineState = &engineState; |
151 | BURN_PLAN* pPlan = &engineState.plan; | 41 | BURN_PLAN* pPlan = &engineState.plan; |
152 | 42 | ||
153 | InitializeEngineStateForCorePlan(wzMsiTransactionManifest, pEngineState); | 43 | InitializeEngineStateForCorePlan(wzMsiTransactionManifestFileName, pEngineState); |
154 | DetectPackagesAsAbsent(pEngineState); | 44 | DetectPackagesAsAbsent(pEngineState); |
155 | DetectUpgradeBundle(pEngineState, L"{FD9920AD-DBCA-4C6C-8CD5-B47431CE8D21}", L"1.0.0.0"); | 45 | DetectUpgradeBundle(pEngineState, L"{FD9920AD-DBCA-4C6C-8CD5-B47431CE8D21}", L"1.0.0.0"); |
156 | 46 | ||
@@ -166,27 +56,27 @@ namespace Bootstrapper | |||
166 | DWORD dwIndex = 0; | 56 | DWORD dwIndex = 0; |
167 | DWORD dwPackageStart = 0; | 57 | DWORD dwPackageStart = 0; |
168 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 58 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
169 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 6, 2, 33741, FALSE); | 59 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 6, 2, 33743, FALSE); |
170 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE); | 60 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE); |
171 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 6); | 61 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 6); |
172 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); | 62 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); |
173 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab1QmlL013Hqv_44W64R0cvnHn_2c", TRUE, FALSE, dwPackageStart); | 63 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ", TRUE, FALSE, dwPackageStart); |
174 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | 64 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); |
175 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | 65 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); |
176 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 9); | 66 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 9); |
177 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageB", 14, 2, 33753, FALSE); | 67 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageB", 14, 2, 33743, FALSE); |
178 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", TRUE); | 68 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", TRUE); |
179 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 2); | 69 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 2); |
180 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageB", L"PackageB", TRUE, FALSE, dwPackageStart); | 70 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageB", L"PackageB", TRUE, FALSE, dwPackageStart); |
181 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageB", L"cabQH1Sgh7w2K8tLIftUaaWVhMWt0s", TRUE, FALSE, dwPackageStart); | 71 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageB", L"cablKtJUKxAbhSMIBwQU6vJ_CDsIkE", TRUE, FALSE, dwPackageStart); |
182 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageB", FALSE); | 72 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageB", FALSE); |
183 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | 73 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); |
184 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 14); | 74 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 14); |
185 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageC", 22, 2, 33739, FALSE); | 75 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageC", 22, 2, 33743, FALSE); |
186 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", TRUE); | 76 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", TRUE); |
187 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 2); | 77 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 2); |
188 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageC", L"PackageC", TRUE, FALSE, dwPackageStart); | 78 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageC", L"PackageC", TRUE, FALSE, dwPackageStart); |
189 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageC", L"cabRT8kdm93olnEAQB2GSO3u0400VI", TRUE, FALSE, dwPackageStart); | 79 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageC", L"cab3wekki1le1R8RPDV2B8_g8jcjZc", TRUE, FALSE, dwPackageStart); |
190 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageC", FALSE); | 80 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageC", FALSE); |
191 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | 81 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); |
192 | Assert::Equal(24ul, pPlan->cCacheActions); | 82 | Assert::Equal(24ul, pPlan->cCacheActions); |
@@ -197,8 +87,8 @@ namespace Bootstrapper | |||
197 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | 87 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); |
198 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 88 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
199 | 89 | ||
200 | Assert::Equal(106166ull, pPlan->qwEstimatedSize); | 90 | Assert::Equal(107082ull, pPlan->qwEstimatedSize); |
201 | Assert::Equal(101233ull, pPlan->qwCacheSizeTotal); | 91 | Assert::Equal(101229ull, pPlan->qwCacheSizeTotal); |
202 | 92 | ||
203 | fRollback = FALSE; | 93 | fRollback = FALSE; |
204 | dwIndex = 0; | 94 | dwIndex = 0; |
@@ -212,7 +102,7 @@ namespace Bootstrapper | |||
212 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 102 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
213 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 103 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
214 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, TRUE); | 104 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, TRUE); |
215 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_REGISTER); | 105 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); |
216 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 106 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
217 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 107 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
218 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ", TRUE, TRUE); | 108 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ", TRUE, TRUE); |
@@ -225,7 +115,7 @@ namespace Bootstrapper | |||
225 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_REGISTER); | 115 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_REGISTER); |
226 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageB", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 116 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageB", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
227 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 117 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
228 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_REGISTER); | 118 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); |
229 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 119 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
230 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[23].syncpoint.hEvent); | 120 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[23].syncpoint.hEvent); |
231 | dwExecuteCheckpointId += 1; // cache checkpoints | 121 | dwExecuteCheckpointId += 1; // cache checkpoints |
@@ -234,7 +124,7 @@ namespace Bootstrapper | |||
234 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_REGISTER); | 124 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_REGISTER); |
235 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageC", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 125 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageC", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
236 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 126 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
237 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_REGISTER); | 127 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); |
238 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 128 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
239 | ValidateExecuteCommitMsiTransaction(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ"); | 129 | ValidateExecuteCommitMsiTransaction(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ"); |
240 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 130 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -253,7 +143,7 @@ namespace Bootstrapper | |||
253 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 143 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
254 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 144 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
255 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 145 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
256 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 146 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
257 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 147 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
258 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 148 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
259 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 149 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -264,7 +154,7 @@ namespace Bootstrapper | |||
264 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 154 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
265 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_UNREGISTER); | 155 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_UNREGISTER); |
266 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 156 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
267 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 157 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
268 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 158 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
269 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 159 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
270 | ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageC"); | 160 | ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageC"); |
@@ -272,7 +162,7 @@ namespace Bootstrapper | |||
272 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 162 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
273 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_UNREGISTER); | 163 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_UNREGISTER); |
274 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 164 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
275 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 165 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
276 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 166 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
277 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 167 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
278 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 168 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -286,7 +176,7 @@ namespace Bootstrapper | |||
286 | Assert::Equal(dwIndex, pPlan->cCleanActions); | 176 | Assert::Equal(dwIndex, pPlan->cCleanActions); |
287 | 177 | ||
288 | UINT uIndex = 0; | 178 | UINT uIndex = 0; |
289 | ValidatePlannedProvider(pPlan, uIndex++, L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", NULL); | 179 | ValidatePlannedProvider(pPlan, uIndex++, L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", NULL); |
290 | Assert::Equal(uIndex, pPlan->cPlannedProviders); | 180 | Assert::Equal(uIndex, pPlan->cPlannedProviders); |
291 | } | 181 | } |
292 | 182 | ||
@@ -298,7 +188,7 @@ namespace Bootstrapper | |||
298 | BURN_ENGINE_STATE* pEngineState = &engineState; | 188 | BURN_ENGINE_STATE* pEngineState = &engineState; |
299 | BURN_PLAN* pPlan = &engineState.plan; | 189 | BURN_PLAN* pPlan = &engineState.plan; |
300 | 190 | ||
301 | InitializeEngineStateForCorePlan(wzMsiTransactionManifest, pEngineState); | 191 | InitializeEngineStateForCorePlan(wzMsiTransactionManifestFileName, pEngineState); |
302 | DetectPackagesAsPresentAndCached(pEngineState); | 192 | DetectPackagesAsPresentAndCached(pEngineState); |
303 | 193 | ||
304 | hr = CorePlan(pEngineState, BOOTSTRAPPER_ACTION_UNINSTALL); | 194 | hr = CorePlan(pEngineState, BOOTSTRAPPER_ACTION_UNINSTALL); |
@@ -327,13 +217,13 @@ namespace Bootstrapper | |||
327 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 217 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
328 | ValidateExecuteBeginMsiTransaction(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ"); | 218 | ValidateExecuteBeginMsiTransaction(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ"); |
329 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 219 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
330 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 220 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
331 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 221 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
332 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_UNREGISTER); | 222 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_UNREGISTER); |
333 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageC", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 223 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageC", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
334 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 224 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
335 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 225 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
336 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 226 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
337 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 227 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
338 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_UNREGISTER); | 228 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_UNREGISTER); |
339 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageB", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 229 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageB", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
@@ -342,7 +232,7 @@ namespace Bootstrapper | |||
342 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 232 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
343 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 233 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
344 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 234 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
345 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 235 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
346 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 236 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
347 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER); | 237 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER); |
348 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 238 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -357,19 +247,19 @@ namespace Bootstrapper | |||
357 | dwExecuteCheckpointId = 1; | 247 | dwExecuteCheckpointId = 1; |
358 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ", TRUE, TRUE); | 248 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ", TRUE, TRUE); |
359 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 249 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
360 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_REGISTER); | 250 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageC", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); |
361 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 251 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
362 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_REGISTER); | 252 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageC", BURN_DEPENDENCY_ACTION_REGISTER); |
363 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 253 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
364 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 254 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
365 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_REGISTER); | 255 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); |
366 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 256 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
367 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_REGISTER); | 257 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageB", BURN_DEPENDENCY_ACTION_REGISTER); |
368 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 258 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
369 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 259 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
370 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 260 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
371 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 261 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
372 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", BURN_DEPENDENCY_ACTION_REGISTER); | 262 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); |
373 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 263 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
374 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); | 264 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); |
375 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 265 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -390,10 +280,10 @@ namespace Bootstrapper | |||
390 | Assert::Equal(dwIndex, pPlan->cCleanActions); | 280 | Assert::Equal(dwIndex, pPlan->cCleanActions); |
391 | 281 | ||
392 | UINT uIndex = 0; | 282 | UINT uIndex = 0; |
393 | ValidatePlannedProvider(pPlan, uIndex++, L"{c096190a-8bf3-4342-a1d2-94ea9cb853d6}", NULL); | 283 | ValidatePlannedProvider(pPlan, uIndex++, L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", NULL); |
394 | ValidatePlannedProvider(pPlan, uIndex++, L"{BE27CF2B-9E5F-4500-BAE3-5E0E522FB962}", NULL); | 284 | ValidatePlannedProvider(pPlan, uIndex++, L"{A497C5E5-C78B-4F0B-BF72-B33E1DB1C4B8}", NULL); |
395 | ValidatePlannedProvider(pPlan, uIndex++, L"{388E4963-13AD-4EE7-B907-AA8888F50E54}", NULL); | 285 | ValidatePlannedProvider(pPlan, uIndex++, L"{D1D01094-23CE-4AF0-84B6-4A1A133F21D3}", NULL); |
396 | ValidatePlannedProvider(pPlan, uIndex++, L"{196E43EA-EF92-4FF8-B9AC-A0FD0D225BB4}", NULL); | 286 | ValidatePlannedProvider(pPlan, uIndex++, L"{01E6B748-7B95-4BA9-976D-B6F35076CEF4}", NULL); |
397 | Assert::Equal(uIndex, pPlan->cPlannedProviders); | 287 | Assert::Equal(uIndex, pPlan->cPlannedProviders); |
398 | } | 288 | } |
399 | 289 | ||
@@ -405,7 +295,7 @@ namespace Bootstrapper | |||
405 | BURN_ENGINE_STATE* pEngineState = &engineState; | 295 | BURN_ENGINE_STATE* pEngineState = &engineState; |
406 | BURN_PLAN* pPlan = &engineState.plan; | 296 | BURN_PLAN* pPlan = &engineState.plan; |
407 | 297 | ||
408 | InitializeEngineStateForCorePlan(wzSingleMsiManifest, pEngineState); | 298 | InitializeEngineStateForCorePlan(wzSingleMsiManifestFileName, pEngineState); |
409 | DetectAttachedContainerAsAttached(pEngineState); | 299 | DetectAttachedContainerAsAttached(pEngineState); |
410 | DetectPackagesAsAbsent(pEngineState); | 300 | DetectPackagesAsAbsent(pEngineState); |
411 | DetectUpgradeBundle(pEngineState, L"{FD9920AD-DBCA-4C6C-8CD5-B47431CE8D21}", L"0.9.0.0"); | 301 | DetectUpgradeBundle(pEngineState, L"{FD9920AD-DBCA-4C6C-8CD5-B47431CE8D21}", L"0.9.0.0"); |
@@ -422,11 +312,11 @@ namespace Bootstrapper | |||
422 | DWORD dwIndex = 0; | 312 | DWORD dwIndex = 0; |
423 | DWORD dwPackageStart = 0; | 313 | DWORD dwPackageStart = 0; |
424 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 314 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
425 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageE", 5, 2, 33741, FALSE); | 315 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 5, 2, 33743, FALSE); |
426 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, BURN_PLAN_INVALID_ACTION_INDEX, 2); | 316 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, BURN_PLAN_INVALID_ACTION_INDEX, 2); |
427 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageE", L"PackageE", TRUE, FALSE, dwPackageStart); | 317 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); |
428 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageE", L"cabkAPka1fWa1PyiVdoVPuoB6Qvs3k", TRUE, FALSE, dwPackageStart); | 318 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ", TRUE, FALSE, dwPackageStart); |
429 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageE", FALSE); | 319 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); |
430 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | 320 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); |
431 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 321 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
432 | 322 | ||
@@ -435,7 +325,7 @@ namespace Bootstrapper | |||
435 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 325 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
436 | 326 | ||
437 | Assert::Equal(0ull, pPlan->qwEstimatedSize); | 327 | Assert::Equal(0ull, pPlan->qwEstimatedSize); |
438 | Assert::Equal(33741ull, pPlan->qwCacheSizeTotal); | 328 | Assert::Equal(33743ull, pPlan->qwCacheSizeTotal); |
439 | 329 | ||
440 | fRollback = FALSE; | 330 | fRollback = FALSE; |
441 | dwIndex = 0; | 331 | dwIndex = 0; |
@@ -451,9 +341,9 @@ namespace Bootstrapper | |||
451 | dwIndex = 0; | 341 | dwIndex = 0; |
452 | dwExecuteCheckpointId = 2; | 342 | dwExecuteCheckpointId = 2; |
453 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 343 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
454 | ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageE"); | 344 | ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); |
455 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 345 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
456 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageE", BURN_DEPENDENCY_ACTION_UNREGISTER); | 346 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER); |
457 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 347 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
458 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 348 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
459 | Assert::Equal(dwIndex, pPlan->cRollbackActions); | 349 | Assert::Equal(dwIndex, pPlan->cRollbackActions); |
@@ -465,7 +355,7 @@ namespace Bootstrapper | |||
465 | Assert::Equal(dwIndex, pPlan->cCleanActions); | 355 | Assert::Equal(dwIndex, pPlan->cCleanActions); |
466 | 356 | ||
467 | UINT uIndex = 0; | 357 | UINT uIndex = 0; |
468 | ValidatePlannedProvider(pPlan, uIndex++, L"{4a04385a-0081-44ba-acd1-9e4e95cfc97f}", NULL); | 358 | ValidatePlannedProvider(pPlan, uIndex++, L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", NULL); |
469 | Assert::Equal(uIndex, pPlan->cPlannedProviders); | 359 | Assert::Equal(uIndex, pPlan->cPlannedProviders); |
470 | } | 360 | } |
471 | 361 | ||
@@ -477,7 +367,7 @@ namespace Bootstrapper | |||
477 | BURN_ENGINE_STATE* pEngineState = &engineState; | 367 | BURN_ENGINE_STATE* pEngineState = &engineState; |
478 | BURN_PLAN* pPlan = &engineState.plan; | 368 | BURN_PLAN* pPlan = &engineState.plan; |
479 | 369 | ||
480 | InitializeEngineStateForCorePlan(wzSingleMsiManifest, pEngineState); | 370 | InitializeEngineStateForCorePlan(wzSingleMsiManifestFileName, pEngineState); |
481 | DetectAttachedContainerAsAttached(pEngineState); | 371 | DetectAttachedContainerAsAttached(pEngineState); |
482 | DetectPackagesAsAbsent(pEngineState); | 372 | DetectPackagesAsAbsent(pEngineState); |
483 | DetectUpgradeBundle(pEngineState, L"{FD9920AD-DBCA-4C6C-8CD5-B47431CE8D21}", L"0.9.0.0"); | 373 | DetectUpgradeBundle(pEngineState, L"{FD9920AD-DBCA-4C6C-8CD5-B47431CE8D21}", L"0.9.0.0"); |
@@ -494,22 +384,22 @@ namespace Bootstrapper | |||
494 | DWORD dwIndex = 0; | 384 | DWORD dwIndex = 0; |
495 | DWORD dwPackageStart = 0; | 385 | DWORD dwPackageStart = 0; |
496 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 386 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
497 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageE", 5, 2, 33741, FALSE); | 387 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 5, 2, 33743, FALSE); |
498 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, BURN_PLAN_INVALID_ACTION_INDEX, 2); | 388 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, BURN_PLAN_INVALID_ACTION_INDEX, 2); |
499 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageE", L"PackageE", TRUE, FALSE, dwPackageStart); | 389 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); |
500 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageE", L"cabkAPka1fWa1PyiVdoVPuoB6Qvs3k", TRUE, FALSE, dwPackageStart); | 390 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ", TRUE, FALSE, dwPackageStart); |
501 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageE", FALSE); | 391 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); |
502 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | 392 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); |
503 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 393 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
504 | 394 | ||
505 | fRollback = TRUE; | 395 | fRollback = TRUE; |
506 | dwIndex = 0; | 396 | dwIndex = 0; |
507 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 397 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
508 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageE", FALSE); | 398 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); |
509 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 399 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
510 | 400 | ||
511 | Assert::Equal(35381ull, pPlan->qwEstimatedSize); | 401 | Assert::Equal(35694ull, pPlan->qwEstimatedSize); |
512 | Assert::Equal(33741ull, pPlan->qwCacheSizeTotal); | 402 | Assert::Equal(33743ull, pPlan->qwCacheSizeTotal); |
513 | 403 | ||
514 | fRollback = FALSE; | 404 | fRollback = FALSE; |
515 | dwIndex = 0; | 405 | dwIndex = 0; |
@@ -518,12 +408,12 @@ namespace Bootstrapper | |||
518 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[6].syncpoint.hEvent); | 408 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[6].syncpoint.hEvent); |
519 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 409 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
520 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 410 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
521 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageE", BURN_DEPENDENCY_ACTION_REGISTER); | 411 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); |
522 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 412 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
523 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageE", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 413 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
524 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 414 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
525 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, TRUE); | 415 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, TRUE); |
526 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageE", L"{4a04385a-0081-44ba-acd1-9e4e95cfc97f}", BURN_DEPENDENCY_ACTION_REGISTER); | 416 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", BURN_DEPENDENCY_ACTION_REGISTER); |
527 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 417 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
528 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 418 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
529 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[6].syncpoint.hEvent); | 419 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[6].syncpoint.hEvent); |
@@ -535,13 +425,13 @@ namespace Bootstrapper | |||
535 | dwExecuteCheckpointId = 2; | 425 | dwExecuteCheckpointId = 2; |
536 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 426 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
537 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, FALSE); | 427 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, FALSE); |
538 | ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageE"); | 428 | ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); |
539 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 429 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
540 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageE", BURN_DEPENDENCY_ACTION_UNREGISTER); | 430 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER); |
541 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 431 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
542 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageE", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 432 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
543 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 433 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
544 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageE", L"{4a04385a-0081-44ba-acd1-9e4e95cfc97f}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 434 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
545 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 435 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
546 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 436 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
547 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 437 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -555,7 +445,7 @@ namespace Bootstrapper | |||
555 | Assert::Equal(dwIndex, pPlan->cCleanActions); | 445 | Assert::Equal(dwIndex, pPlan->cCleanActions); |
556 | 446 | ||
557 | UINT uIndex = 0; | 447 | UINT uIndex = 0; |
558 | ValidatePlannedProvider(pPlan, uIndex++, L"{4a04385a-0081-44ba-acd1-9e4e95cfc97f}", NULL); | 448 | ValidatePlannedProvider(pPlan, uIndex++, L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", NULL); |
559 | Assert::Equal(uIndex, pPlan->cPlannedProviders); | 449 | Assert::Equal(uIndex, pPlan->cPlannedProviders); |
560 | } | 450 | } |
561 | 451 | ||
@@ -567,7 +457,7 @@ namespace Bootstrapper | |||
567 | BURN_ENGINE_STATE* pEngineState = &engineState; | 457 | BURN_ENGINE_STATE* pEngineState = &engineState; |
568 | BURN_PLAN* pPlan = &engineState.plan; | 458 | BURN_PLAN* pPlan = &engineState.plan; |
569 | 459 | ||
570 | InitializeEngineStateForCorePlan(wzSingleMsiManifest, pEngineState); | 460 | InitializeEngineStateForCorePlan(wzSingleMsiManifestFileName, pEngineState); |
571 | DetectPackagesAsPresentAndCached(pEngineState); | 461 | DetectPackagesAsPresentAndCached(pEngineState); |
572 | 462 | ||
573 | hr = CorePlan(pEngineState, BOOTSTRAPPER_ACTION_UNINSTALL); | 463 | hr = CorePlan(pEngineState, BOOTSTRAPPER_ACTION_UNINSTALL); |
@@ -594,11 +484,11 @@ namespace Bootstrapper | |||
594 | DWORD dwExecuteCheckpointId = 1; | 484 | DWORD dwExecuteCheckpointId = 1; |
595 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 485 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
596 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 486 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
597 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageE", L"{4a04385a-0081-44ba-acd1-9e4e95cfc97f}", BURN_DEPENDENCY_ACTION_UNREGISTER); | 487 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", BURN_DEPENDENCY_ACTION_UNREGISTER); |
598 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 488 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
599 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageE", BURN_DEPENDENCY_ACTION_UNREGISTER); | 489 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER); |
600 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 490 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
601 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageE", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 491 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
602 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, FALSE); | 492 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, FALSE); |
603 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 493 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
604 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 494 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -608,11 +498,11 @@ namespace Bootstrapper | |||
608 | dwIndex = 0; | 498 | dwIndex = 0; |
609 | dwExecuteCheckpointId = 1; | 499 | dwExecuteCheckpointId = 1; |
610 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 500 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
611 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageE", L"{4a04385a-0081-44ba-acd1-9e4e95cfc97f}", BURN_DEPENDENCY_ACTION_REGISTER); | 501 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", BURN_DEPENDENCY_ACTION_REGISTER); |
612 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 502 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
613 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageE", BURN_DEPENDENCY_ACTION_REGISTER); | 503 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); |
614 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 504 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
615 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageE", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); | 505 | ValidateExecuteMsiPackage(pPlan, fRollback, dwIndex++, L"PackageA", BOOTSTRAPPER_ACTION_STATE_INSTALL, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, 0); |
616 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 506 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
617 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, TRUE); | 507 | ValidateExecuteRegistration(pPlan, fRollback, dwIndex++, TRUE); |
618 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 508 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -623,20 +513,21 @@ namespace Bootstrapper | |||
623 | Assert::Equal(1ul, pPlan->cOverallProgressTicksTotal); | 513 | Assert::Equal(1ul, pPlan->cOverallProgressTicksTotal); |
624 | 514 | ||
625 | dwIndex = 0; | 515 | dwIndex = 0; |
626 | ValidateCleanAction(pPlan, dwIndex++, L"PackageE"); | 516 | ValidateCleanAction(pPlan, dwIndex++, L"PackageA"); |
627 | Assert::Equal(dwIndex, pPlan->cCleanActions); | 517 | Assert::Equal(dwIndex, pPlan->cCleanActions); |
628 | 518 | ||
629 | UINT uIndex = 0; | 519 | UINT uIndex = 0; |
630 | ValidatePlannedProvider(pPlan, uIndex++, L"{4a04385a-0081-44ba-acd1-9e4e95cfc97f}", NULL); | 520 | ValidatePlannedProvider(pPlan, uIndex++, L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", NULL); |
631 | ValidatePlannedProvider(pPlan, uIndex++, L"{284F56B6-B6C7-404A-B9B5-78F63BF79494}", NULL); | 521 | ValidatePlannedProvider(pPlan, uIndex++, L"{64633047-D172-4BBB-B202-64337D15C952}", NULL); |
632 | Assert::Equal(uIndex, pPlan->cPlannedProviders); | 522 | Assert::Equal(uIndex, pPlan->cPlannedProviders); |
633 | } | 523 | } |
634 | 524 | ||
635 | private: | 525 | private: |
636 | // This doesn't initialize everything, just enough for CorePlan to work. | 526 | // This doesn't initialize everything, just enough for CorePlan to work. |
637 | void InitializeEngineStateForCorePlan(LPCWSTR wzManifest, BURN_ENGINE_STATE* pEngineState) | 527 | void InitializeEngineStateForCorePlan(LPCWSTR wzManifestFileName, BURN_ENGINE_STATE* pEngineState) |
638 | { | 528 | { |
639 | HRESULT hr = S_OK; | 529 | HRESULT hr = S_OK; |
530 | LPWSTR sczFilePath = NULL; | ||
640 | 531 | ||
641 | ::InitializeCriticalSection(&pEngineState->csActive); | 532 | ::InitializeCriticalSection(&pEngineState->csActive); |
642 | ::InitializeCriticalSection(&pEngineState->userExperience.csEngineActive); | 533 | ::InitializeCriticalSection(&pEngineState->userExperience.csEngineActive); |
@@ -644,8 +535,22 @@ namespace Bootstrapper | |||
644 | hr = VariableInitialize(&pEngineState->variables); | 535 | hr = VariableInitialize(&pEngineState->variables); |
645 | NativeAssert::Succeeded(hr, "Failed to initialize variables."); | 536 | NativeAssert::Succeeded(hr, "Failed to initialize variables."); |
646 | 537 | ||
647 | hr = ManifestLoadXml(wzManifest, pEngineState); | 538 | try |
648 | NativeAssert::Succeeded(hr, "Failed to load manifest."); | 539 | { |
540 | pin_ptr<const wchar_t> dataDirectory = PtrToStringChars(this->TestContext->TestDirectory); | ||
541 | hr = PathConcat(dataDirectory, L"TestData\\PlanTest", &sczFilePath); | ||
542 | NativeAssert::Succeeded(hr, "Failed to get path to test file directory."); | ||
543 | hr = PathConcat(sczFilePath, wzManifestFileName, &sczFilePath); | ||
544 | NativeAssert::Succeeded(hr, "Failed to get path to test file."); | ||
545 | Assert::True(FileExistsEx(sczFilePath, NULL), "Test file does not exist."); | ||
546 | |||
547 | hr = ManifestLoadXmlFromFile(sczFilePath, pEngineState); | ||
548 | NativeAssert::Succeeded(hr, "Failed to load manifest."); | ||
549 | } | ||
550 | finally | ||
551 | { | ||
552 | ReleaseStr(sczFilePath); | ||
553 | } | ||
649 | 554 | ||
650 | pEngineState->userExperience.pfnBAProc = PlanTestBAProc; | 555 | pEngineState->userExperience.pfnBAProc = PlanTestBAProc; |
651 | } | 556 | } |
@@ -662,6 +567,22 @@ namespace Bootstrapper | |||
662 | } | 567 | } |
663 | } | 568 | } |
664 | 569 | ||
570 | void DetectPackageAsAbsent(BURN_PACKAGE* pPackage) | ||
571 | { | ||
572 | pPackage->currentState = BOOTSTRAPPER_PACKAGE_STATE_ABSENT; | ||
573 | } | ||
574 | |||
575 | void DetectPackageAsPresentAndCached(BURN_PACKAGE* pPackage) | ||
576 | { | ||
577 | pPackage->currentState = BOOTSTRAPPER_PACKAGE_STATE_PRESENT; | ||
578 | pPackage->cache = BURN_CACHE_STATE_COMPLETE; | ||
579 | |||
580 | for (DWORD i = 0; i < pPackage->cPayloads; ++i) | ||
581 | { | ||
582 | pPackage->rgPayloads[i].fCached = TRUE; | ||
583 | } | ||
584 | } | ||
585 | |||
665 | void DetectPackagesAsAbsent(BURN_ENGINE_STATE* pEngineState) | 586 | void DetectPackagesAsAbsent(BURN_ENGINE_STATE* pEngineState) |
666 | { | 587 | { |
667 | DetectReset(&pEngineState->registration, &pEngineState->packages); | 588 | DetectReset(&pEngineState->registration, &pEngineState->packages); |
@@ -670,7 +591,7 @@ namespace Bootstrapper | |||
670 | for (DWORD i = 0; i < pEngineState->packages.cPackages; ++i) | 591 | for (DWORD i = 0; i < pEngineState->packages.cPackages; ++i) |
671 | { | 592 | { |
672 | BURN_PACKAGE* pPackage = pEngineState->packages.rgPackages + i; | 593 | BURN_PACKAGE* pPackage = pEngineState->packages.rgPackages + i; |
673 | pPackage->currentState = BOOTSTRAPPER_PACKAGE_STATE_ABSENT; | 594 | DetectPackageAsAbsent(pPackage); |
674 | } | 595 | } |
675 | } | 596 | } |
676 | 597 | ||
@@ -684,12 +605,27 @@ namespace Bootstrapper | |||
684 | for (DWORD i = 0; i < pEngineState->packages.cPackages; ++i) | 605 | for (DWORD i = 0; i < pEngineState->packages.cPackages; ++i) |
685 | { | 606 | { |
686 | BURN_PACKAGE* pPackage = pEngineState->packages.rgPackages + i; | 607 | BURN_PACKAGE* pPackage = pEngineState->packages.rgPackages + i; |
687 | pPackage->currentState = BOOTSTRAPPER_PACKAGE_STATE_PRESENT; | 608 | DetectPackageAsPresentAndCached(pPackage); |
688 | pPackage->cache = BURN_CACHE_STATE_COMPLETE; | 609 | } |
610 | } | ||
689 | 611 | ||
690 | for (DWORD j = 0; j < pPackage->cPayloads; ++j) | 612 | void DetectPermanentPackagesAsPresentAndCached(BURN_ENGINE_STATE* pEngineState) |
613 | { | ||
614 | DetectReset(&pEngineState->registration, &pEngineState->packages); | ||
615 | PlanReset(&pEngineState->plan, &pEngineState->packages); | ||
616 | |||
617 | pEngineState->registration.fInstalled = TRUE; | ||
618 | |||
619 | for (DWORD i = 0; i < pEngineState->packages.cPackages; ++i) | ||
620 | { | ||
621 | BURN_PACKAGE* pPackage = pEngineState->packages.rgPackages + i; | ||
622 | if (pPackage->fUninstallable) | ||
623 | { | ||
624 | DetectPackageAsAbsent(pPackage); | ||
625 | } | ||
626 | else | ||
691 | { | 627 | { |
692 | pPackage->rgPayloads[j].fCached = TRUE; | 628 | DetectPackageAsPresentAndCached(pPackage); |
693 | } | 629 | } |
694 | } | 630 | } |
695 | } | 631 | } |
diff --git a/src/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml b/src/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml new file mode 100644 index 00000000..e5aeb515 --- /dev/null +++ b/src/test/BurnUnitTest/TestData/PlanTest/BasicFunctionality_BundleA_manifest.xml | |||
@@ -0,0 +1 @@ | |||
<?xml version="1.0" encoding="utf-8"?><BurnManifest xmlns="http://wixtoolset.org/schemas/v4/2008/Burn"><Log PathVariable="WixBundleLog" Prefix="~BasicFunctionalityTests_BundleA" Extension=".log" /><RelatedBundle Id="{8C7E2C47-1EE7-4BBE-99A2-EAB7F3693F48}" Action="Upgrade" /><Variable Id="TestGroupName" Value="BasicFunctionalityTests" Type="string" Hidden="no" Persisted="no" /><Variable Id="WixBundleName" Hidden="no" Persisted="yes" /><Variable Id="WixBundleOriginalSource" Hidden="no" Persisted="yes" /><Variable Id="WixBundleOriginalSourceFolder" Hidden="no" Persisted="yes" /><Variable Id="WixBundleLastUsedSource" Hidden="no" Persisted="yes" /><UX><Payload Id="WixStandardBootstrapperApplication" FilePath="wixstdba.dll" FileSize="245760" Hash="23F0568ADACD69D72B259F876B437707A0D41069" Packaging="embedded" SourcePath="u3" /><Payload Id="pay00kQk8rVqabvZJ20B.w1mpx7GDo" FilePath="thm.xml" FileSize="7980" Hash="7A88582165EEE4CA1D23F1B7DD58F8023552E049" Packaging="embedded" SourcePath="u0" /><Payload Id="payI2_GHsNfx8LnXWC6YRRG.VuyhI4" FilePath="thm.wxl" FileSize="4194" Hash="906294A9515835C5C8F4C5E86A32E179041C90DD" Packaging="embedded" SourcePath="u1" /><Payload Id="payjqSD44latbvJnf4vAQuVMUST73A" FilePath="logo.png" FileSize="852" Hash="239F10674BF6022854C1F1BF7C91955BDE34D3E4" Packaging="embedded" SourcePath="u2" /><Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" FileSize="3698" Hash="AADECC6EF50E87D0642A5667CD612EF53E2CFB9A" Packaging="embedded" SourcePath="u4" /><Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u5" /></UX><Container Id="WixAttachedContainer" FileSize="6959" Hash="4FC82B3432B5892D2A4EC593264A916DBDA9CE45" FilePath="BundleA.exe" AttachedIndex="1" Attached="yes" Primary="yes" /><Payload Id="PackageA" FilePath="PackageA.msi" FileSize="32768" Hash="89C61F8A105A81B08036401152A1FDE67CDC0158" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" /><Payload Id="cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ" FilePath="1a.cab" FileSize="975" Hash="11DE5863C4B2A8762D0EE23FE25B7774CA07676B" Packaging="embedded" SourcePath="a1" Container="WixAttachedContainer" /><RollbackBoundary Id="WixDefaultBoundary" Vital="yes" Transaction="no" /><Registration Id="{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}" ExecutableName="BundleA.exe" PerMachine="yes" Tag="" Version="1.0.0.0" ProviderKey="{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}"><Arp Register="yes" DisplayName="~BasicFunctionalityTests - BundleA" DisplayVersion="1.0.0.0" /></Registration><Chain><MsiPackage Id="PackageA" Cache="yes" CacheId="{64633047-D172-4BBB-B202-64337D15C952}v1.0.0.0" InstallSize="1951" Size="33743" PerMachine="yes" Permanent="no" Vital="yes" RollbackBoundaryForward="WixDefaultBoundary" RollbackBoundaryBackward="WixDefaultBoundary" LogPathVariable="WixBundleLog_PackageA" RollbackLogPathVariable="WixBundleRollbackLog_PackageA" ProductCode="{64633047-D172-4BBB-B202-64337D15C952}" Language="1033" Version="1.0.0.0" UpgradeCode="{7FD50F1B-D134-4365-923C-DFA160F74738}"><MsiProperty Id="ARPSYSTEMCOMPONENT" Value="1" /><MsiProperty Id="MSIFASTINSTALL" Value="7" /><Provides Key="{64633047-D172-4BBB-B202-64337D15C952}" Version="1.0.0.0" DisplayName="~BasicFunctionalityTests - PackageA" /><RelatedPackage Id="{7FD50F1B-D134-4365-923C-DFA160F74738}" MaxVersion="1.0.0.0" MaxInclusive="no" OnlyDetect="no" LangInclusive="no"><Language Id="1033" /></RelatedPackage><RelatedPackage Id="{7FD50F1B-D134-4365-923C-DFA160F74738}" MinVersion="1.0.0.0" MinInclusive="no" OnlyDetect="yes" LangInclusive="no"><Language Id="1033" /></RelatedPackage><PayloadRef Id="PackageA" /><PayloadRef Id="cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ" /></MsiPackage></Chain></BurnManifest> \ No newline at end of file | |||
diff --git a/src/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml b/src/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml new file mode 100644 index 00000000..6ed7e01b --- /dev/null +++ b/src/test/BurnUnitTest/TestData/PlanTest/MsiTransaction_BundleAv1_manifest.xml | |||
@@ -0,0 +1 @@ | |||
<?xml version="1.0" encoding="utf-8"?><BurnManifest xmlns="http://wixtoolset.org/schemas/v4/2008/Burn"><Log PathVariable="WixBundleLog" Prefix="~MsiTransactionTests_BundleAv1" Extension=".log" /><RelatedBundle Id="{90ED10D5-B187-4470-B498-05D80DAB729A}" Action="Upgrade" /><Variable Id="TestGroupName" Value="MsiTransactionTests" Type="string" Hidden="no" Persisted="no" /><Variable Id="WixBundleName" Hidden="no" Persisted="yes" /><Variable Id="WixBundleOriginalSource" Hidden="no" Persisted="yes" /><Variable Id="WixBundleOriginalSourceFolder" Hidden="no" Persisted="yes" /><Variable Id="WixBundleLastUsedSource" Hidden="no" Persisted="yes" /><UX><Payload Id="WixStandardBootstrapperApplication" FilePath="wixstdba.dll" FileSize="245760" Hash="23F0568ADACD69D72B259F876B437707A0D41069" Packaging="embedded" SourcePath="u3" /><Payload Id="pay00kQk8rVqabvZJ20B.w1mpx7GDo" FilePath="thm.xml" FileSize="7980" Hash="7A88582165EEE4CA1D23F1B7DD58F8023552E049" Packaging="embedded" SourcePath="u0" /><Payload Id="payI2_GHsNfx8LnXWC6YRRG.VuyhI4" FilePath="thm.wxl" FileSize="4194" Hash="906294A9515835C5C8F4C5E86A32E179041C90DD" Packaging="embedded" SourcePath="u1" /><Payload Id="payjqSD44latbvJnf4vAQuVMUST73A" FilePath="logo.png" FileSize="852" Hash="239F10674BF6022854C1F1BF7C91955BDE34D3E4" Packaging="embedded" SourcePath="u2" /><Payload Id="uxTxMXPVMXwQrPTMIGa5WGt93w0Ns" FilePath="BootstrapperApplicationData.xml" FileSize="6742" Hash="E124C9502891F1277A47D1AEC0F1755BA605E6E3" Packaging="embedded" SourcePath="u4" /><Payload Id="uxYRbgitOs0K878jn5L_z7LdJ21KI" FilePath="BundleExtensionData.xml" FileSize="252" Hash="86688B13D3364ADB90BBA552F544D4D546AFD63D" Packaging="embedded" SourcePath="u5" /></UX><Container Id="WixAttachedContainer" FileSize="16403" Hash="AABC770A92954AE4234A322A3621333B3FDDE225" FilePath="BundleAv1.exe" AttachedIndex="1" Attached="yes" Primary="yes" /><Payload Id="PackageA" FilePath="PackageA.msi" FileSize="32768" Hash="C763E00CD117F79643F58442B87F51721554686D" Packaging="embedded" SourcePath="a0" Container="WixAttachedContainer" /><Payload Id="PackageB" FilePath="PackageBv1.msi" FileSize="32768" Hash="25570B420BD65BE187AB56B695A0CC36712A224F" Packaging="embedded" SourcePath="a1" Container="WixAttachedContainer" /><Payload Id="PackageC" FilePath="PackageCv1.msi" FileSize="32768" Hash="23472E6C185E9B3DC9C53F92435D1C4F018C06DB" Packaging="embedded" SourcePath="a2" Container="WixAttachedContainer" /><Payload Id="cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ" FilePath="1a.cab" FileSize="975" Hash="11DE5863C4B2A8762D0EE23FE25B7774CA07676B" Packaging="embedded" SourcePath="a3" Container="WixAttachedContainer" /><Payload Id="cablKtJUKxAbhSMIBwQU6vJ_CDsIkE" FilePath="1bv1.cab" FileSize="975" Hash="11DE5863C4B2A8762D0EE23FE25B7774CA07676B" Packaging="embedded" SourcePath="a4" Container="WixAttachedContainer" /><Payload Id="cab3wekki1le1R8RPDV2B8_g8jcjZc" FilePath="1cv1.cab" FileSize="975" Hash="11DE5863C4B2A8762D0EE23FE25B7774CA07676B" Packaging="embedded" SourcePath="a5" Container="WixAttachedContainer" /><RollbackBoundary Id="WixDefaultBoundary" Vital="yes" Transaction="no" /><RollbackBoundary Id="rbaOCA08D8ky7uBOK71_6FWz1K3TuQ" Vital="yes" Transaction="yes" /><Registration Id="{E6469F05-BDC8-4EB8-B218-67412543EFAA}" ExecutableName="BundleAv1.exe" PerMachine="yes" Tag="" Version="1.0.0.0" ProviderKey="{E6469F05-BDC8-4EB8-B218-67412543EFAA}"><Arp Register="yes" DisplayName="~MsiTransactionTests - BundleAv1" DisplayVersion="1.0.0.0" /></Registration><Chain><MsiPackage Id="PackageA" Cache="yes" CacheId="{01E6B748-7B95-4BA9-976D-B6F35076CEF4}v1.0.0.0" InstallSize="1951" Size="33743" PerMachine="yes" Permanent="no" Vital="yes" RollbackBoundaryForward="WixDefaultBoundary" RollbackBoundaryBackward="WixDefaultBoundary" LogPathVariable="WixBundleLog_PackageA" RollbackLogPathVariable="WixBundleRollbackLog_PackageA" ProductCode="{01E6B748-7B95-4BA9-976D-B6F35076CEF4}" Language="1033" Version="1.0.0.0" UpgradeCode="{7772FCDF-5FDB-497D-B5DF-C6D17D667976}"><MsiProperty Id="ARPSYSTEMCOMPONENT" Value="1" /><MsiProperty Id="MSIFASTINSTALL" Value="7" /><Provides Key="{01E6B748-7B95-4BA9-976D-B6F35076CEF4}" Version="1.0.0.0" DisplayName="~MsiTransactionTests - PackageA" /><RelatedPackage Id="{7772FCDF-5FDB-497D-B5DF-C6D17D667976}" MaxVersion="1.0.0.0" MaxInclusive="no" OnlyDetect="no" LangInclusive="no"><Language Id="1033" /></RelatedPackage><RelatedPackage Id="{7772FCDF-5FDB-497D-B5DF-C6D17D667976}" MinVersion="1.0.0.0" MinInclusive="no" OnlyDetect="yes" LangInclusive="no"><Language Id="1033" /></RelatedPackage><PayloadRef Id="PackageA" /><PayloadRef Id="cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ" /></MsiPackage><MsiPackage Id="PackageB" Cache="yes" CacheId="{D1D01094-23CE-4AF0-84B6-4A1A133F21D3}v1.0.0.0" InstallSize="1951" Size="33743" PerMachine="yes" Permanent="no" Vital="yes" RollbackBoundaryForward="rbaOCA08D8ky7uBOK71_6FWz1K3TuQ" LogPathVariable="WixBundleLog_PackageB" RollbackLogPathVariable="WixBundleRollbackLog_PackageB" ProductCode="{D1D01094-23CE-4AF0-84B6-4A1A133F21D3}" Language="1033" Version="1.0.0.0" UpgradeCode="{EAFC0C6B-626E-415C-8132-536FBD19F49B}"><MsiProperty Id="ARPSYSTEMCOMPONENT" Value="1" /><MsiProperty Id="MSIFASTINSTALL" Value="7" /><Provides Key="{D1D01094-23CE-4AF0-84B6-4A1A133F21D3}" Version="1.0.0.0" DisplayName="~MsiTransactionTests - PackageBv1" /><RelatedPackage Id="{EAFC0C6B-626E-415C-8132-536FBD19F49B}" MaxVersion="1.0.0.0" MaxInclusive="no" OnlyDetect="no" LangInclusive="no"><Language Id="1033" /></RelatedPackage><RelatedPackage Id="{EAFC0C6B-626E-415C-8132-536FBD19F49B}" MinVersion="1.0.0.0" MinInclusive="no" OnlyDetect="yes" LangInclusive="no"><Language Id="1033" /></RelatedPackage><PayloadRef Id="PackageB" /><PayloadRef Id="cablKtJUKxAbhSMIBwQU6vJ_CDsIkE" /></MsiPackage><MsiPackage Id="PackageC" Cache="yes" CacheId="{A497C5E5-C78B-4F0B-BF72-B33E1DB1C4B8}v1.0.0.0" InstallSize="1951" Size="33743" PerMachine="yes" Permanent="no" Vital="yes" RollbackBoundaryBackward="rbaOCA08D8ky7uBOK71_6FWz1K3TuQ" LogPathVariable="WixBundleLog_PackageC" RollbackLogPathVariable="WixBundleRollbackLog_PackageC" ProductCode="{A497C5E5-C78B-4F0B-BF72-B33E1DB1C4B8}" Language="1033" Version="1.0.0.0" UpgradeCode="{A18BDC12-DAEC-43EE-87D1-31B2C2BC6269}"><MsiProperty Id="ARPSYSTEMCOMPONENT" Value="1" /><MsiProperty Id="MSIFASTINSTALL" Value="7" /><Provides Key="{A497C5E5-C78B-4F0B-BF72-B33E1DB1C4B8}" Version="1.0.0.0" DisplayName="~MsiTransactionTests - PackageCv1" /><RelatedPackage Id="{A18BDC12-DAEC-43EE-87D1-31B2C2BC6269}" MaxVersion="1.0.0.0" MaxInclusive="no" OnlyDetect="no" LangInclusive="no"><Language Id="1033" /></RelatedPackage><RelatedPackage Id="{A18BDC12-DAEC-43EE-87D1-31B2C2BC6269}" MinVersion="1.0.0.0" MinInclusive="no" OnlyDetect="yes" LangInclusive="no"><Language Id="1033" /></RelatedPackage><PayloadRef Id="PackageC" /><PayloadRef Id="cab3wekki1le1R8RPDV2B8_g8jcjZc" /></MsiPackage></Chain></BurnManifest> \ No newline at end of file | |||