wixtoolset / issues

WiX Toolset Issues Tracker
http://wixtoolset.org/
129 stars 36 forks source link

Patch seems to include more changes than was authored #6359

Closed rseanhall closed 3 years ago

rseanhall commented 3 years ago

Bugs

If this issue is a bug:

WixToolset.Sdk.4.0.0-build-189

N/A

N/A

N/A

Windows v10.0 x64 (Build 19041)

The full details are in the slipstream integration test - https://github.com/wixtoolset/integration/blob/b60898e0bccbb0b0ddad74df6370e826cb9b7494/src/WixToolsetTest.BurnE2E/SlipstreamTests.cs#L270

The bundle has two MSI packages - PackageA and PackageB. Both packages have two registry values each. The bundle also has two MSP packages. Both patches target both products. Patch AB is supposed to have the changes for the first registry value, Patch AB2 is supposed to have the changes for the second registry value.

Burn is properly slipstreaming PatchAB into only PackageA and PatchAB2 into both packages. But, somehow the first registry value in PackageB is getting updated even though Burn didn't install any patches into that product that were supposed to patch it.

Burn log ``` i001: Burn x86 v4.0.0.77, Windows v10.0 x64 (Build 19041: Service Pack 0), path: C:\Windows\Temp\{EB9667F5-B6BC-499A-B882-8C404D9645E9}\.cr\BundleC.exe i000: Initializing string variable 'TestGroupName' to value 'SlipstreamTests' i009: Command Line: '-burn.clean.room=C:\burn\slipstream7\TestData\SlipstreamTests\BundleC.exe -burn.filehandle.attached=532 -burn.filehandle.self=544 -quiet -log C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC.log' i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\burn\slipstream7\TestData\SlipstreamTests\BundleC.exe' i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'C:\burn\slipstream7\TestData\SlipstreamTests\' i000: Setting string variable 'WixBundleLog' to value 'C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC.log' i000: Setting string variable 'WixBundleName' to value '~SlipstreamTests - BundleC' i000: Unsetting variable 'WixBundleManufacturer' i000: Loading managed bootstrapper application. i000: Creating BA thread to run asynchronously. i100: Detect begin, 5 packages i000: Setting string variable 'NETFRAMEWORK45' to value '528372' i052: Condition 'NETFRAMEWORK45 >= 528040' evaluates to true. i101: Detected package: NetFx48Web, state: Present, cached: Complete, install registration state: (permanent), cache registration state: (permanent) i101: Detected package: PackageA, state: Absent, cached: None, install registration state: Absent, cache registration state: Absent i101: Detected package: PackageB, state: Absent, cached: None, install registration state: Absent, cache registration state: Absent i101: Detected package: PatchAB, state: Absent, cached: None, install registration state: Absent, cache registration state: Absent i101: Detected package: PatchAB2, state: Absent, cached: None, install registration state: Absent, cache registration state: Absent i199: Detect complete, result: 0x0, installed: No, eligible for cleanup: No i200: Plan begin, 5 packages, action: Install w321: Skipping dependency registration on package with no dependency providers: NetFx48Web i000: Setting string variable 'WixBundleRollbackLog_PackageA' to value 'C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_000_PackageA_rollback.log' i000: Setting string variable 'WixBundleLog_PackageA' to value 'C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_000_PackageA.log' i000: Setting string variable 'WixBundleRollbackLog_PackageB' to value 'C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_001_PackageB_rollback.log' i000: Setting string variable 'WixBundleLog_PackageB' to value 'C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_001_PackageB.log' i201: Planned package: NetFx48Web, state: Present, default requested: Present, ba requested: Present, execute: None, rollback: None, cache: No, uncache: No, dependency: None, expected install registration state: (permanent), expected cache registration state: (permanent) i201: Planned package: PackageA, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register, expected install registration state: Present, expected cache registration state: Present i201: Planned package: PackageB, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register, expected install registration state: Present, expected cache registration state: Present i201: Planned package: PatchAB, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register, expected install registration state: Present, expected cache registration state: Absent i201: Planned package: PatchAB2, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register, expected install registration state: Present, expected cache registration state: Absent i000: --- Begin plan dump --- i000: Plan action: Install i000: per-machine: true i000: disable-rollback: false i000: estimated size: 3200574 i000: Plan cache size: 122880 i000: Cache action[0]: CHECKPOINT id: 1 i000: Cache action[1]: PACKAGE_START id: PatchAB, plan index for skip: 4, payloads to cache: 1, bytes to cache: 28672, skip until retried: No i000: Cache action[2]: EXTRACT_CONTAINER id: WixAttachedContainer, working path: C:\Windows\Temp\{EB9667F5-B6BC-499A-B882-8C404D9645E9}\.cr\BundleC.exe, skip until retried: No, skip until acquired by action: 2147483648 i000: extract package id: PatchAB, payload id: PatchAB, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PatchAB i000: extract package id: PatchAB2, payload id: PatchAB2, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PatchAB2 i000: extract package id: PackageA, payload id: PackageA, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PackageA i000: extract package id: PackageB, payload id: PackageB, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PackageB i000: Cache action[3]: CACHE_PAYLOAD package id: PatchAB, payload id: PatchAB, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PatchAB, operation: move, skip until retried: No, retry action: 2 i000: Cache action[4]: PACKAGE_STOP id: PatchAB, skip until retried: No i000: Cache action[5]: SIGNAL_SYNCPOINT event handle: 0x00000590, skip until retried: No i000: Cache action[6]: CHECKPOINT id: 2 i000: Cache action[7]: PACKAGE_START id: PatchAB2, plan index for skip: 10, payloads to cache: 1, bytes to cache: 28672, skip until retried: No i000: Cache action[8]: EXTRACT_CONTAINER id: WixAttachedContainer, working path: C:\Windows\Temp\{EB9667F5-B6BC-499A-B882-8C404D9645E9}\.cr\BundleC.exe, skip until retried: Yes, skip until acquired by action: 2147483648 i000: extract package id: PatchAB2, payload id: PatchAB2, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PatchAB2 i000: Cache action[9]: CACHE_PAYLOAD package id: PatchAB2, payload id: PatchAB2, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PatchAB2, operation: move, skip until retried: No, retry action: 8 i000: Cache action[10]: PACKAGE_STOP id: PatchAB2, skip until retried: No i000: Cache action[11]: SIGNAL_SYNCPOINT event handle: 0x00000594, skip until retried: No i000: Cache action[12]: CHECKPOINT id: 3 i000: Cache action[13]: PACKAGE_START id: PackageA, plan index for skip: 16, payloads to cache: 1, bytes to cache: 32768, skip until retried: No i000: Cache action[14]: EXTRACT_CONTAINER id: WixAttachedContainer, working path: C:\Windows\Temp\{EB9667F5-B6BC-499A-B882-8C404D9645E9}\.cr\BundleC.exe, skip until retried: Yes, skip until acquired by action: 2147483648 i000: extract package id: PackageA, payload id: PackageA, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PackageA i000: Cache action[15]: CACHE_PAYLOAD package id: PackageA, payload id: PackageA, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PackageA, operation: move, skip until retried: No, retry action: 14 i000: Cache action[16]: PACKAGE_STOP id: PackageA, skip until retried: No i000: Cache action[17]: SIGNAL_SYNCPOINT event handle: 0x00000598, skip until retried: No i000: Cache action[18]: CHECKPOINT id: 9 i000: Cache action[19]: PACKAGE_START id: PackageB, plan index for skip: 22, payloads to cache: 1, bytes to cache: 32768, skip until retried: No i000: Cache action[20]: EXTRACT_CONTAINER id: WixAttachedContainer, working path: C:\Windows\Temp\{EB9667F5-B6BC-499A-B882-8C404D9645E9}\.cr\BundleC.exe, skip until retried: Yes, skip until acquired by action: 2147483648 i000: extract package id: PackageB, payload id: PackageB, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PackageB i000: Cache action[21]: CACHE_PAYLOAD package id: PackageB, payload id: PackageB, working path: C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\PackageB, operation: move, skip until retried: No, retry action: 20 i000: Cache action[22]: PACKAGE_STOP id: PackageB, skip until retried: No i000: Cache action[23]: SIGNAL_SYNCPOINT event handle: 0x0000059C, skip until retried: No i000: Rollback cache action[0]: CHECKPOINT id: 3 i000: Rollback cache action[1]: ROLLBACK_PACKAGE id: PackageA, skip until retried: No i000: Rollback cache action[2]: CHECKPOINT id: 9 i000: Rollback cache action[3]: ROLLBACK_PACKAGE id: PackageB, skip until retried: No i000: Plan execute package count: 4 i000: overall progress ticks: 8 i000: Execute action[0]: ROLLBACK_BOUNDARY id: WixDefaultBoundary, vital: yes i000: Execute action[1]: WAIT_SYNCPOINT event handle: 0x00000598 i000: Execute action[2]: CHECKPOINT id: 4, msi transaction id: (none) i000: Execute action[3]: CHECKPOINT id: 5, msi transaction id: (none) i000: Execute action[4]: PACKAGE_PROVIDER package id: PackageA, action: Register i000: Execute action[5]: CHECKPOINT id: 6, msi transaction id: (none) i000: Execute action[6]: MSI_PACKAGE package id: PackageA, action: Install, action msi property: BURNMSIINSTALL, ui level: 2, disable externaluihandler: no, log path: C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_000_PackageA.log, logging attrib: 6 i000: Execute action[7]: CHECKPOINT id: 7, msi transaction id: (none) i000: Execute action[8]: PACKAGE_DEPENDENCY package id: PackageA, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Register i000: Execute action[9]: CHECKPOINT id: 8, msi transaction id: (none) i000: Execute action[10]: WAIT_SYNCPOINT event handle: 0x0000059C i000: Execute action[11]: CHECKPOINT id: 10, msi transaction id: (none) i000: Execute action[12]: CHECKPOINT id: 11, msi transaction id: (none) i000: Execute action[13]: PACKAGE_PROVIDER package id: PackageB, action: Register i000: Execute action[14]: CHECKPOINT id: 12, msi transaction id: (none) i000: Execute action[15]: MSI_PACKAGE package id: PackageB, action: Install, action msi property: BURNMSIINSTALL, ui level: 2, disable externaluihandler: no, log path: C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_001_PackageB.log, logging attrib: 6 i000: Execute action[16]: CHECKPOINT id: 13, msi transaction id: (none) i000: Execute action[17]: PACKAGE_DEPENDENCY package id: PackageB, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Register i000: Execute action[18]: CHECKPOINT id: 14, msi transaction id: (none) i000: Execute action[19]: WAIT_SYNCPOINT event handle: 0x00000590 i000: Execute action[20]: CHECKPOINT id: 15, msi transaction id: (none) i000: Execute action[21]: CHECKPOINT id: 16, msi transaction id: (none) i000: Execute action[22]: PACKAGE_PROVIDER package id: PatchAB, action: Register i000: Execute action[23]: CHECKPOINT id: 17, msi transaction id: (none) i000: Execute action[24]: PACKAGE_DEPENDENCY package id: PatchAB, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Register i000: Execute action[25]: CHECKPOINT id: 18, msi transaction id: (none) i000: Execute action[26]: WAIT_SYNCPOINT event handle: 0x00000594 i000: Execute action[27]: CHECKPOINT id: 19, msi transaction id: (none) i000: Execute action[28]: CHECKPOINT id: 20, msi transaction id: (none) i000: Execute action[29]: PACKAGE_PROVIDER package id: PatchAB2, action: Register i000: Execute action[30]: CHECKPOINT id: 21, msi transaction id: (none) i000: Execute action[31]: PACKAGE_DEPENDENCY package id: PatchAB2, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Register i000: Execute action[32]: CHECKPOINT id: 22, msi transaction id: (none) i000: Execute action[33]: CHECKPOINT id: 23, msi transaction id: (none) i000: Rollback action[0]: ROLLBACK_BOUNDARY id: WixDefaultBoundary, vital: yes i000: Rollback action[1]: UNCACHE_PACKAGE id: PackageA i000: Rollback action[2]: CHECKPOINT id: 4, msi transaction id: (none) i000: Rollback action[3]: PACKAGE_PROVIDER package id: PackageA, action: Unregister i000: Rollback action[4]: CHECKPOINT id: 5, msi transaction id: (none) i000: Rollback action[5]: MSI_PACKAGE package id: PackageA, action: Uninstall, action msi property: BURNMSIUNINSTALL, ui level: 2, disable externaluihandler: no, log path: C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_000_PackageA_rollback.log, logging attrib: 6 i000: Rollback action[6]: CHECKPOINT id: 6, msi transaction id: (none) i000: Rollback action[7]: PACKAGE_DEPENDENCY package id: PackageA, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Unregister i000: Rollback action[8]: CHECKPOINT id: 7, msi transaction id: (none) i000: Rollback action[9]: CHECKPOINT id: 8, msi transaction id: (none) i000: Rollback action[10]: UNCACHE_PACKAGE id: PackageB i000: Rollback action[11]: CHECKPOINT id: 10, msi transaction id: (none) i000: Rollback action[12]: PACKAGE_PROVIDER package id: PackageB, action: Unregister i000: Rollback action[13]: CHECKPOINT id: 11, msi transaction id: (none) i000: Rollback action[14]: MSI_PACKAGE package id: PackageB, action: Uninstall, action msi property: BURNMSIUNINSTALL, ui level: 2, disable externaluihandler: no, log path: C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_001_PackageB_rollback.log, logging attrib: 6 i000: Rollback action[15]: CHECKPOINT id: 12, msi transaction id: (none) i000: Rollback action[16]: PACKAGE_DEPENDENCY package id: PackageB, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Unregister i000: Rollback action[17]: CHECKPOINT id: 13, msi transaction id: (none) i000: Rollback action[18]: CHECKPOINT id: 14, msi transaction id: (none) i000: Rollback action[19]: UNCACHE_PACKAGE id: PatchAB i000: Rollback action[20]: CHECKPOINT id: 15, msi transaction id: (none) i000: Rollback action[21]: PACKAGE_PROVIDER package id: PatchAB, action: Unregister i000: Rollback action[22]: CHECKPOINT id: 16, msi transaction id: (none) i000: Rollback action[23]: PACKAGE_DEPENDENCY package id: PatchAB, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Unregister i000: Rollback action[24]: CHECKPOINT id: 17, msi transaction id: (none) i000: Rollback action[25]: CHECKPOINT id: 18, msi transaction id: (none) i000: Rollback action[26]: UNCACHE_PACKAGE id: PatchAB2 i000: Rollback action[27]: CHECKPOINT id: 19, msi transaction id: (none) i000: Rollback action[28]: PACKAGE_PROVIDER package id: PatchAB2, action: Unregister i000: Rollback action[29]: CHECKPOINT id: 20, msi transaction id: (none) i000: Rollback action[30]: PACKAGE_DEPENDENCY package id: PatchAB2, bundle provider key: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, action: Unregister i000: Rollback action[31]: CHECKPOINT id: 21, msi transaction id: (none) i000: Rollback action[32]: CHECKPOINT id: 22, msi transaction id: (none) i000: Rollback action[33]: CHECKPOINT id: 23, msi transaction id: (none) i000: --- End plan dump --- i299: Plan complete, result: 0x0 i300: Apply begin i010: Launching elevated engine process. i011: Launched elevated engine process. i012: Connected to elevated engine. i358: Pausing automatic updates. i359: Paused automatic updates. i360: Creating a system restore point. w363: Could not create system restore point, error: 0x80070422. Continuing... i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{4CE7674F-0C31-43A3-9D86-18DD0802F045}, options: 0x7, disable resume: No i000: Caching bundle from: 'C:\Windows\Temp\{2125E3A9-2519-4F3F-8EAB-324AE3AEA1E1}\.be\BundleC.exe' to: 'C:\ProgramData\Package Cache\{4CE7674F-0C31-43A3-9D86-18DD0802F045}\BundleC.exe' i000: Unsetting variable 'WixBundleManufacturer' i320: Registering bundle dependency provider: {4CE7674F-0C31-43A3-9D86-18DD0802F045}, version: 1.0.0.0 i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{4CE7674F-0C31-43A3-9D86-18DD0802F045}, resume: Active, restart initiated: No, disable resume: No i305: Verified acquired payload: PatchAB at path: C:\ProgramData\Package Cache\.unverified\PatchAB, moving to: C:\ProgramData\Package Cache\{0ADDB4DA-5075-4946-8459-14C87543B1E4}\PatchAB.msp. i305: Verified acquired payload: PatchAB2 at path: C:\ProgramData\Package Cache\.unverified\PatchAB2, moving to: C:\ProgramData\Package Cache\{219BD294-DF0C-48F4-AFCA-67F9A4754A6D}\PatchAB2.msp. i305: Verified acquired payload: PackageA at path: C:\ProgramData\Package Cache\.unverified\PackageA, moving to: C:\ProgramData\Package Cache\{5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}v1.0.0.0\PackageAv1.msi. i305: Verified acquired payload: PackageB at path: C:\ProgramData\Package Cache\.unverified\PackageB, moving to: C:\ProgramData\Package Cache\{83B1ADF3-A8DD-41D3-9114-57703DA17754}v1.0.0.0\PackageBv1.msi. i323: Registering package dependency provider: {5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}, version: 1.0.0.0, package: PackageA i301: Applying execute package: PackageA, action: Install, path: C:\ProgramData\Package Cache\{5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}v1.0.0.0\PackageAv1.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7" PATCH="C:\ProgramData\Package Cache\{0ADDB4DA-5075-4946-8459-14C87543B1E4}\PatchAB.msp;C:\ProgramData\Package Cache\{219BD294-DF0C-48F4-AFCA-67F9A4754A6D}\PatchAB2.msp" BURNMSIINSTALL=1' i319: Applied execute package: PackageA, result: 0x0, restart: None i325: Registering dependency: {4CE7674F-0C31-43A3-9D86-18DD0802F045} on package provider: {5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}, package: PackageA i323: Registering package dependency provider: {83B1ADF3-A8DD-41D3-9114-57703DA17754}, version: 1.0.0.0, package: PackageB i301: Applying execute package: PackageB, action: Install, path: C:\ProgramData\Package Cache\{83B1ADF3-A8DD-41D3-9114-57703DA17754}v1.0.0.0\PackageBv1.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7" PATCH="C:\ProgramData\Package Cache\{219BD294-DF0C-48F4-AFCA-67F9A4754A6D}\PatchAB2.msp" BURNMSIINSTALL=1' i319: Applied execute package: PackageB, result: 0x0, restart: None i325: Registering dependency: {4CE7674F-0C31-43A3-9D86-18DD0802F045} on package provider: {83B1ADF3-A8DD-41D3-9114-57703DA17754}, package: PackageB i323: Registering package dependency provider: {0ADDB4DA-5075-4946-8459-14C87543B1E4}, version: (null), package: PatchAB i325: Registering dependency: {4CE7674F-0C31-43A3-9D86-18DD0802F045} on package provider: {0ADDB4DA-5075-4946-8459-14C87543B1E4}, package: PatchAB i323: Registering package dependency provider: {219BD294-DF0C-48F4-AFCA-67F9A4754A6D}, version: (null), package: PatchAB2 i325: Registering dependency: {4CE7674F-0C31-43A3-9D86-18DD0802F045} on package provider: {219BD294-DF0C-48F4-AFCA-67F9A4754A6D}, package: PatchAB2 i373: Calculating whether to keep registration i374: package: NetFx48Web, install registration state: (permanent), cache registration state: (permanent) i374: package: PackageA, install registration state: Present, cache registration state: Present i374: package: PackageB, install registration state: Present, cache registration state: Present i374: package: PatchAB, install registration state: Absent, cache registration state: Present i374: package: PatchAB2, install registration state: Absent, cache registration state: Present i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{4CE7674F-0C31-43A3-9D86-18DD0802F045}, resume: ARP, restart: None, disable resume: No i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{4CE7674F-0C31-43A3-9D86-18DD0802F045}, resume: ARP, restart initiated: No, disable resume: No i399: Apply complete, result: 0x0, restart: None, ba requested restart: No i500: Shutting down, exit code: 0x0 i502: Cleanup begin. i503: Cleanup not required due to running Apply. i599: Cleanup complete, result: 0x0 i410: Variable: NETFRAMEWORK45 = 528372 i410: Variable: NTProductType = 1 i410: Variable: TestGroupName = SlipstreamTests i410: Variable: VersionMsi = 5.0.0.0 i410: Variable: WindowsFolder = C:\Windows\ i410: Variable: WixBundleAction = 5 i410: Variable: WixBundleElevated = 1 i410: Variable: WixBundleLog = C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC.log i410: Variable: WixBundleLog_PackageA = C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_000_PackageA.log i410: Variable: WixBundleLog_PackageB = C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_001_PackageB.log i410: Variable: WixBundleName = ~SlipstreamTests - BundleC i410: Variable: WixBundleOriginalSource = C:\burn\slipstream7\TestData\SlipstreamTests\BundleC.exe i410: Variable: WixBundleOriginalSourceFolder = C:\burn\slipstream7\TestData\SlipstreamTests\ i410: Variable: WixBundleProviderKey = {4CE7674F-0C31-43A3-9D86-18DD0802F045} i410: Variable: WixBundleRollbackLog_PackageA = C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_000_PackageA_rollback.log i410: Variable: WixBundleRollbackLog_PackageB = C:\Users\admin\AppData\Local\Temp\SlipstreamTests_CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime_20210217074128_Install_BundleC_001_PackageB_rollback.log i410: Variable: WixBundleSourceProcessFolder = C:\burn\slipstream7\TestData\SlipstreamTests\ i410: Variable: WixBundleSourceProcessPath = C:\burn\slipstream7\TestData\SlipstreamTests\BundleC.exe i410: Variable: WixBundleTag = i410: Variable: WixBundleUILevel = 2 i410: Variable: WixBundleVersion = 1.0.0.0 i007: Exit code: 0x0, restarting: No ```
barnson commented 3 years ago

PatchAB2.msp was installed for both packages:

A

MSI (s) (D0:E8) [20:41:19:672]: Final Patch Application Order:
MSI (s) (D0:E8) [20:41:19:672]: {690907EE-EB01-4629-9942-1E22A300A769} - C:\ProgramData\Package Cache\{690907EE-EB01-4629-9942-1E22A300A769}\PatchAB2.msp
MSI (s) (D0:E8) [20:41:19:672]: Other Patches:
MSI (s) (D0:E8) [20:41:19:672]: Superseded: {9F71AC8E-947E-40A3-AC4D-1C91A8810AFC} - C:\ProgramData\Package Cache\{9F71AC8E-947E-40A3-AC4D-1C91A8810AFC}\PatchAB.msp

B

MSI (s) (D0:C4) [20:41:20:049]: Final Patch Application Order:
MSI (s) (D0:C4) [20:41:20:049]: {690907EE-EB01-4629-9942-1E22A300A769} - C:\ProgramData\Package Cache\{690907EE-EB01-4629-9942-1E22A300A769}\PatchAB2.msp

Because of the dread section-based patch filtering, the patch contains all the resources because the .wixpdb contains only the one section created by the linker. That's fixed with Rob's logical patch filtering.

rseanhall commented 3 years ago

Not sure I follow. PatchAB2 is defined in https://github.com/wixtoolset/integration/blob/2f2e0624894cbcb63a3999086456f9044818385e/src/TestData/SlipstreamTests/PatchAB2/PatchAB2.wxs#L23. It is only supposed to bring in RegistryComponent2.

RegistryComponent2 is defined in https://github.com/wixtoolset/integration/blob/2f2e0624894cbcb63a3999086456f9044818385e/src/TestData/SlipstreamTests/PackageAv1/ProductComponents.wxs#L11.

The problem is that RegistryComponent is getting patched. That's defined in https://github.com/wixtoolset/integration/blob/2f2e0624894cbcb63a3999086456f9044818385e/src/TestData/Templates/Package.wxs#L57.

barnson commented 3 years ago

You're building the patches against the .wixpdbs from the .msis, right? Check the IR -- the symbols are flattened into a single section so the ComponentRef is bringing in everything for diffing.

barnson commented 3 years ago

You can see the effects by opening the .msis in Orca and applying the patches.

rseanhall commented 3 years ago

I guess what's tripping me up is that I can't believe that it was at the section level in v3, surely it was at the fragment level? I don't understand how this worked in v3.

barnson commented 3 years ago

Section == fragment (and product, module, patchcreation). V4 is busted today in that it doesn't respect the original (authored) section. That's why Rob had https://github.com/wixtoolset/issues/issues/6375.

rseanhall commented 3 years ago

So it's not broken because of how section-based filtering was designed. It's broken because v4 is not doing section-based filtering.

barnson commented 3 years ago

It is doing section-based filtering, but with only one section to work with, it's not as selective as it might be...