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

Hosting bundle gets updated with OS upgrades causing issue. #43790

Closed
1 task done
manishgargd opened this issue Sep 7, 2022 · 5 comments
Closed
1 task done

Hosting bundle gets updated with OS upgrades causing issue. #43790

manishgargd opened this issue Sep 7, 2022 · 5 comments
Assignees
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions Needs: Attention 👋 This issue needs the attention of a contributor, typically because the OP has provided an update.

Comments

@manishgargd
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

Our ASP.NET core application (.NET6.0) is running in IIS on Windows 2019 Virtual machines.
We install IIS on the machine. We also install .NET Core Hosting Bundle.
During the OS patch, the .NET Core Hosting Bundle version gets updated.
We get the error "Cannot install a product when a newer version is installed" when installing
.NET Core Hosting Bundle after its version is updated during the OS patch.

In order to fix the issue, we try to uninstall the new version of the .NET Core Hosting Bundle installed by the OS
patch. It fails to uninstall. Please suggest how can we uninstall .NET Core Hosting Bundle.

Given below is the log file for detail

Burn v3.14.0.5722, Windows v10.0 (Build 22000: Service Pack 0), path: C:\ProgramData\Package Cache{5974fca0-8809-4100-89bb-9880c50c084e}\dotnet-hosting-6.0.8-win.exe
Initializing string variable 'BundleNameShort' to value 'Microsoft .NET 6.0.8'
Initializing string variable 'BundleNameSub' to value 'Windows Server Hosting'
Initializing string variable 'InstallResetIISState' to value 'disable'
Initializing string variable 'InstallNoIISState' to value 'disable'
Initializing string variable 'ModifyResetIISState' to value 'disable'
Initializing string variable 'ModifyNoIISState' to value 'disable'
Command Line: '"-burn.clean.room=C:\ProgramData\Package Cache{5974fca0-8809-4100-89bb-9880c50c084e}\dotnet-hosting-6.0.8-win.exe" -burn.filehandle.attached=556 -burn.filehandle.self=564 /uninstall'
Setting string variable 'WixBundleLog' to value 'C:\Users\user\AppData\Local\Temp\dd_dd_DotNetCoreWinSvrHosting__20220906193549.log'
Setting string variable 'WixBundleManufacturer' to value 'Microsoft Corporation'
Setting numeric variable 'WixStdBALanguageId' to value 1033
Setting version variable 'WixBundleFileVersion' to value '6.0.8.22363'
Detect begin, 7 packages
Condition 'VersionNT64' evaluates to true.
Product or related product not found: {1A752081-D921-4D4A-BCA4-9AB5C9861FB8}
Setting version variable 'DotNetRedistLtsProductVersion_x64' to value '0.0.0.0'
Condition 'NOT VersionNT64' evaluates to false.
Setting string variable 'IISCoreWebEngineInstalled_x86' to value '1'
Setting string variable 'IISW3SVCInstalled_x86' to value '1'
Setting string variable 'IISCoreWebEngineInstalled_x64' to value '1'
Setting string variable 'IISW3SVCInstalled_x64' to value '1'
Condition 'NOT (((IISCoreWebEngineInstalled_x86=1) AND (IISW3SVCInstalled_x86=1)) OR ((IISCoreWebEngineInstalled_x64=1) AND (IISW3SVCInstalled_x64=1)))' evaluates to false.
Condition '((IISCoreWebEngineInstalled_x86=1) AND (IISW3SVCInstalled_x86=1)) OR ((IISCoreWebEngineInstalled_x64=1) AND (IISW3SVCInstalled_x64=1))' evaluates to true.
Setting string variable 'InstallResetIISState' to value '1'
Condition 'NOT (((IISCoreWebEngineInstalled_x86=1) AND (IISW3SVCInstalled_x86=1)) OR ((IISCoreWebEngineInstalled_x64=1) AND (IISW3SVCInstalled_x64=1)))' evaluates to false.
Condition '((IISCoreWebEngineInstalled_x86=1) AND (IISW3SVCInstalled_x86=1)) OR ((IISCoreWebEngineInstalled_x64=1) AND (IISW3SVCInstalled_x64=1))' evaluates to true.
Setting string variable 'ModifyResetIISState' to value '1'
Condition 'NOT (OPT_NO_ANCM OR OPT_NO_ANCM=0 OR OPT_NO_FTS OR OPT_NO_FTS=0 OR OPT_NO_LTS OR OPT_NO_LTS=0 OR OPT_NO_SHAREDFX OR OPT_NO_SHAREDFX=0 OR OPT_NO_RUNTIME OR OPT_NO_RUNTIME=0 OR OPT_NO_X86 OR OPT_NO_X86=0 OR OPT_NO_SHARED_CONFIG_CHECK OR OPT_NO_SHARED_CONFIG_CHECK=0)' evaluates to true.
Setting numeric variable 'OPT_NO_ANCM_Exists' to value 1
Condition 'NOT (OPT_NO_ANCM OR OPT_NO_ANCM=0 OR OPT_NO_FTS OR OPT_NO_FTS=0 OR OPT_NO_LTS OR OPT_NO_LTS=0 OR OPT_NO_SHAREDFX OR OPT_NO_SHAREDFX=0 OR OPT_NO_RUNTIME OR OPT_NO_RUNTIME=0 OR OPT_NO_X86 OR OPT_NO_X86=0 OR OPT_NO_SHARED_CONFIG_CHECK OR OPT_NO_SHARED_CONFIG_CHECK=0)' evaluates to true.
Setting numeric variable 'OPT_NO_FTS_Exists' to value 1
Condition 'NOT (OPT_NO_ANCM OR OPT_NO_ANCM=0 OR OPT_NO_FTS OR OPT_NO_FTS=0 OR OPT_NO_LTS OR OPT_NO_LTS=0 OR OPT_NO_SHAREDFX OR OPT_NO_SHAREDFX=0 OR OPT_NO_RUNTIME OR OPT_NO_RUNTIME=0 OR OPT_NO_X86 OR OPT_NO_X86=0 OR OPT_NO_SHARED_CONFIG_CHECK OR OPT_NO_SHARED_CONFIG_CHECK=0)' evaluates to true.
Setting numeric variable 'OPT_NO_LTS_Exists' to value 1
Condition 'NOT (OPT_NO_ANCM OR OPT_NO_ANCM=0 OR OPT_NO_FTS OR OPT_NO_FTS=0 OR OPT_NO_LTS OR OPT_NO_LTS=0 OR OPT_NO_SHAREDFX OR OPT_NO_SHAREDFX=0 OR OPT_NO_RUNTIME OR OPT_NO_RUNTIME=0 OR OPT_NO_X86 OR OPT_NO_X86=0 OR OPT_NO_SHARED_CONFIG_CHECK OR OPT_NO_SHARED_CONFIG_CHECK=0)' evaluates to true.
Setting numeric variable 'OPT_NO_RUNTIME_Exists' to value 1
Condition 'NOT (OPT_NO_ANCM OR OPT_NO_ANCM=0 OR OPT_NO_FTS OR OPT_NO_FTS=0 OR OPT_NO_LTS OR OPT_NO_LTS=0 OR OPT_NO_SHAREDFX OR OPT_NO_SHAREDFX=0 OR OPT_NO_RUNTIME OR OPT_NO_RUNTIME=0 OR OPT_NO_X86 OR OPT_NO_X86=0 OR OPT_NO_SHARED_CONFIG_CHECK OR OPT_NO_SHARED_CONFIG_CHECK=0)' evaluates to true.
Setting numeric variable 'OPT_NO_SHARED_CONFIG_CHECK_Exists' to value 1
Condition 'NOT (OPT_NO_ANCM OR OPT_NO_ANCM=0 OR OPT_NO_FTS OR OPT_NO_FTS=0 OR OPT_NO_LTS OR OPT_NO_LTS=0 OR OPT_NO_SHAREDFX OR OPT_NO_SHAREDFX=0 OR OPT_NO_RUNTIME OR OPT_NO_RUNTIME=0 OR OPT_NO_X86 OR OPT_NO_X86=0 OR OPT_NO_SHARED_CONFIG_CHECK OR OPT_NO_SHARED_CONFIG_CHECK=0)' evaluates to true.
Setting numeric variable 'OPT_NO_SHAREDFX_Exists' to value 1
Condition 'NOT (OPT_NO_ANCM OR OPT_NO_ANCM=0 OR OPT_NO_FTS OR OPT_NO_FTS=0 OR OPT_NO_LTS OR OPT_NO_LTS=0 OR OPT_NO_SHAREDFX OR OPT_NO_SHAREDFX=0 OR OPT_NO_RUNTIME OR OPT_NO_RUNTIME=0 OR OPT_NO_X86 OR OPT_NO_X86=0 OR OPT_NO_SHARED_CONFIG_CHECK OR OPT_NO_SHARED_CONFIG_CHECK=0)' evaluates to true.
Setting numeric variable 'OPT_NO_X86_Exists' to value 1
Condition 'VersionNT64' evaluates to true.
Setting version variable 'SharedFxRedistProductVersion_x64' to value '6.0.8.22363'
Condition 'NOT VersionNT64' evaluates to false.
Condition 'OPT_NO_SHAREDFX_Exists' evaluates to true.
Setting string variable 'OPT_NO_SHAREDFX' to value '0'
Condition 'OPT_NO_FTS_Exists' evaluates to true.
Setting string variable 'OPT_NO_FTS' to value '0'
Condition 'OPT_NO_X86_Exists' evaluates to true.
Setting string variable 'OPT_NO_X86' to value '0'
Condition 'OPT_NO_LTS_Exists' evaluates to true.
Setting string variable 'OPT_NO_LTS' to value '0'
Condition 'OPT_NO_RUNTIME_Exists' evaluates to true.
Setting string variable 'OPT_NO_RUNTIME' to value '0'
Condition 'OPT_NO_SHARED_CONFIG_CHECK_Exists' evaluates to true.
Setting string variable 'OPT_NO_SHARED_CONFIG_CHECK' to value '0'
Condition 'OPT_NO_ANCM_Exists' evaluates to true.
Setting string variable 'OPT_NO_ANCM' to value '0'
Condition 'DotNetRedistLtsProductVersion_x64 = v48.35.45462' evaluates to false.
Condition 'DotNetRedistLtsProductVersion_x86 = v48.35.45462' evaluates to false.
Detected partially cached package: SharedFxRedist_x64, invalid payload: SharedFxRedist_x64, reason: 0x80070002
Condition 'SharedFxRedistProductVersion_x64 = v6.0.8.22363' evaluates to true.
Condition 'SharedFxRedistProductVersion_x86 = v6.0.8.22363' evaluates to false.
Detected package: WindowsServerHostingBundleOptions.msi, state: Present, cached: Complete
Detected package: AspNetCoreModuleV2_x86, state: Absent, cached: None
Detected package: AspNetCoreModuleV2_x64, state: Present, cached: Complete
Detected package: DotNetRedistLts_x64, state: Absent, cached: Complete
Detected package: DotNetRedistLts_x86, state: Absent, cached: Complete
Detected package: SharedFxRedist_x64, state: Present, cached: Partial
Detected package: SharedFxRedist_x86, state: Absent, cached: Complete
Detect complete, result: 0x0
Disable control ModifyNoIIS
Plan begin, 7 packages, action: Uninstall
Skipping dependency registration on package with no dependency providers: SharedFxRedist_x86
Skipping dependency registration on package with no dependency providers: SharedFxRedist_x64
Setting string variable 'WixBundleLog_SharedFxRedist_x64' to value 'C:\Users\user\AppData\Local\Temp\dd_dd_DotNetCoreWinSvrHosting__20220906193549_000_SharedFxRedist_x64.log'
Setting string variable 'WixBundleRollbackLog_SharedFxRedist_x64' to value 'C:\Users\user\AppData\Local\Temp\dd_dd_DotNetCoreWinSvrHosting__20220906193549_000_SharedFxRedist_x64_rollback.log'
Skipping dependency registration on package with no dependency providers: DotNetRedistLts_x86
Skipping dependency registration on package with no dependency providers: DotNetRedistLts_x64
Will not uninstall package: AspNetCoreModuleV2_x64, found dependents: 1
Found dependent: {db328289-4bda-460e-be99-ddbe254f9c42}, name: Unknown
Setting string variable 'WixBundleRollbackLog_WindowsServerHostingBundleOptions.msi' to value 'C:\Users\user\AppData\Local\Temp\dd_dd_DotNetCoreWinSvrHosting__20220906193549_001_WindowsServerHostingBundleOptions.msi_rollback.log'
Setting string variable 'WixBundleLog_WindowsServerHostingBundleOptions.msi' to value 'C:\Users\user\AppData\Local\Temp\dd_dd_DotNetCoreWinSvrHosting__20220906193549_001_WindowsServerHostingBundleOptions.msi.log'
Planned package: SharedFxRedist_x86, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: Yes, dependency: None
Planned package: SharedFxRedist_x64, state: Present, default requested: Absent, ba requested: Absent, execute: Uninstall, rollback: Install, cache: Yes, uncache: Yes, dependency: None
Planned package: DotNetRedistLts_x86, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: Yes, dependency: None
Planned package: DotNetRedistLts_x64, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: Yes, dependency: None
Planned package: AspNetCoreModuleV2_x64, state: Present, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
Planned package: AspNetCoreModuleV2_x86, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister
Planned package: WindowsServerHostingBundleOptions.msi, state: Present, default requested: Absent, ba requested: Absent, execute: Uninstall, rollback: Install, cache: No, uncache: Yes, dependency: Unregister
Plan complete, result: 0x0
Apply begin
Launching elevated engine process.
Launched elevated engine process.
Connected to elevated engine.
Pausing automatic updates.
Paused automatic updates.
Creating a system restore point.
Created a system restore point.
Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{5974fca0-8809-4100-89bb-9880c50c084e}, resume: Active, restart initiated: No, disable resume: No
Acquiring container: WixAttachedContainer, copy from: C:\ProgramData\Package Cache{5974fca0-8809-4100-89bb-9880c50c084e}\dotnet-hosting-6.0.8-win.exe
Failed to extract all files from container, erf: 1:2:0
Failed to wait for operation complete.
Failed to open container.
Failed to open container: WixAttachedContainer.
Failed to extract payloads from container: WixAttachedContainer to working path: C:\WINDOWS\Temp{A8533466-D722-4822-AC97-02CB5F088CD9}\9FF0913186959252455CFF96F3768BBBD9A907A9, error: 0x80070001.
Cache thread exited unexpectedly.
Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{5974fca0-8809-4100-89bb-9880c50c084e}, resume: ARP, restart: None, disable resume: No
Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{5974fca0-8809-4100-89bb-9880c50c084e}, resume: ARP, restart initiated: No, disable resume: No
Apply complete, result: 0x80070001, restart: None, ba requested restart: No

Expected Behavior

No response

Steps To Reproduce

No response

Exceptions (if any)

No response

.NET Version

No response

Anything else?

No response

@wtgodbe wtgodbe self-assigned this Sep 7, 2022
@wtgodbe
Copy link
Member

wtgodbe commented Sep 9, 2022

Hmm, I haven't seen this uninstall failure before - @joeloff does it look familiar to you?

That said, the original error you reported "Cannot install a product when a newer version is installed" is no longer an error as of 6.0.9: #43122. So, going forward you should be able to install newer hosting bundles on upgrade without seeing this error.

@joeloff
Copy link
Member

joeloff commented Sep 9, 2022

Is this on Windows 11?

Does this path exist? C:\ProgramData\Package Cache{5974fca0-8809-4100-89bb-9880c50c084e}\dotnet-hosting-6.0.8-win.exe If so, can you try to delete it and rerun the uninstall?

@wtgodbe the error comes from extracting the embedded installers from the attached cabinet in the bundle. It corresponds with https://docs.microsoft.com/en-us/windows/win32/api/fdi_fci_types/ns-fdi_fci_types-erf

The fields of the ERF type are reported in a different order than the struct definition, but I believe the value 2 corresponds to FDIERROR_NOT_A_CABINET

It's a bit odd because to install the bundle the payloads had to be extract and the bundle will extract and recache the payloads during an uninstall and that seems to fail.

@wtgodbe wtgodbe added the Needs: Author Feedback The author of this issue needs to respond in order for us to continue investigating this issue. label Sep 9, 2022
@ghost
Copy link

ghost commented Sep 9, 2022

Hi @manishgargd. We have added the "Needs: Author Feedback" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

@manishgargd
Copy link
Author

@wtgodbe - It is good to know that "Cannot install a product when a newer version is installed" is no longer an error as of 6.0.9.
@joeloff - Yes, C:\ProgramData\Package Cache{5974fca0-8809-4100-89bb-9880c50c084e}\dotnet-hosting-6.0.8-win.exe exists. After deleting it, uninstall worked fine.

@ghost ghost added Needs: Attention 👋 This issue needs the attention of a contributor, typically because the OP has provided an update. and removed Needs: Author Feedback The author of this issue needs to respond in order for us to continue investigating this issue. labels Sep 9, 2022
@wtgodbe
Copy link
Member

wtgodbe commented Sep 14, 2022

Thanks, closing this as resolved.

@wtgodbe wtgodbe closed this as completed Sep 14, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Oct 14, 2022
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 25, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions Needs: Attention 👋 This issue needs the attention of a contributor, typically because the OP has provided an update.
Projects
None yet
Development

No branches or pull requests

5 participants