Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch seems to include more changes than was authored #6359

Closed
rseanhall opened this issue Feb 17, 2021 · 8 comments
Closed

Patch seems to include more changes than was authored #6359

rseanhall opened this issue Feb 17, 2021 · 8 comments
Assignees
Labels

Comments

@rseanhall
Copy link
Contributor

Bugs

If this issue is a bug:

  • Which version of WiX are you building with?

WixToolset.Sdk.4.0.0-build-189

  • Which version of Visual Studio are you building with (if any)?

N/A

  • Which version of the WiX Toolset Visual Studio Extension are you building with (if any)?

N/A

  • Which version of .NET are you building with?

N/A

  • If the problem occurs when installing your packages built with WiX, what is the version of Windows the package is running on?

Windows v10.0 x64 (Build 19041)

  • Describe the problem and the steps to reproduce it.

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.

  • Describe the behavior you expected and how it differed from the actual behavior.

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 barnson self-assigned this Feb 18, 2021
@barnson barnson added this to the v4.0 milestone Feb 18, 2021
@barnson barnson added patching and removed triage labels Apr 11, 2021
@barnson
Copy link
Member

barnson commented Apr 11, 2021

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.

@barnson barnson closed this as completed Apr 11, 2021
@barnson
Copy link
Member

barnson commented Apr 11, 2021

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
Copy link
Member

barnson commented Apr 11, 2021

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

@rseanhall
Copy link
Contributor Author

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
Copy link
Member

barnson commented Apr 11, 2021

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 #6375.

@rseanhall
Copy link
Contributor Author

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
Copy link
Member

barnson commented Apr 11, 2021

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

@rseanhall rseanhall removed this from the v4.0 milestone Apr 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants