1

I wrote a WiX Toolset Setup to install an application which requires the VC++ redistributable (x86) 2015. Everything works fine, but when vcredlist_x86.exe is launched, it installs the Package too slowly, it takers about six minutes !

If I run the vcredlist in standalone mode, it still takes six minutes, as timeline shows:

[1190:1364][2017-05-29T10:56:06]i001: Burn v3.7.2829.0, Windows v6.1 (Build 7601: Service Pack 1), path: D:\TestApplication\MyInstaller\vcredlist\vcredist_x86.exe, cmdline: '/install /log install.log -burn.unelevated BurnPipe.{5745A989-148E-49D2-9BAA-882CBAF76EC9} {C40DCBEA-3CC3-401E-88A3-E0685CD9D368} 4692'
[1190:1364][2017-05-29T10:56:06]i000: Setting string variable 'WixBundleLog' to value 'D:\TestApplication\MyInstaller\vcredlist\install.log'
[1190:1364][2017-05-29T10:56:06]i000: Setting string variable 'WixBundleOriginalSource' to value 'D:\TestApplication\MyInstaller\vcredlist\vcredist_x86.exe'
[1190:1364][2017-05-29T10:56:06]i000: Setting string variable 'WixBundleName' to value 'Microsoft Visual C++ 2015 Redistributable (x86) - 12.0.30501'
[1190:1364][2017-05-29T10:56:06]i100: Detect begin, 2 packages
[1190:1364][2017-05-29T10:56:06]i101: Detected package: vcRuntimeMinimum_x86, state: Present, cached: Complete
[1190:1364][2017-05-29T10:56:06]i101: Detected package: vcRuntimeAdditional_x86, state: Present, cached: Complete
[1190:1364][2017-05-29T10:56:06]i052: Condition 'VersionNT >= v6.0 OR (VersionNT = v5.1 AND ServicePackLevel >= 2) OR (VersionNT = v5.2 AND ServicePackLevel >= 1)' evaluates to true.
[1190:1364][2017-05-29T10:56:06]i199: Detect complete, result: 0x0
[1190:1364][2017-05-29T10:56:46]i200: Plan begin, 2 packages, action: Install
[1190:1364][2017-05-29T10:56:46]i201: Planned package: vcRuntimeMinimum_x86, state: Present, default requested: Present, ba requested: Present, execute: None, rollback: None, cache: No, uncache: No, dependency: Register
[1190:1364][2017-05-29T10:56:46]i201: Planned package: vcRuntimeAdditional_x86, state: Present, default requested: Present, ba requested: Present, execute: None, rollback: None, cache: No, uncache: No, dependency: Register
[1190:1364][2017-05-29T10:56:46]i299: Plan complete, result: 0x0
[1190:1364][2017-05-29T10:56:46]i300: Apply begin
[1254:1CC0][2017-05-29T11:02:52]w308: Automatic updates could not be paused due to error: 0x80080005. Continuing...
[1254:1CC0][2017-05-29T11:02:52]i360: Creating a system restore point.
[1254:1CC0][2017-05-29T11:02:57]i361: Created a system restore point.
[1254:1CC0][2017-05-29T11:02:57]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{f65db027-aff3-4070-886a-0d87064aabb1}, options: 0x7, disable resume: No
[1254:1CC0][2017-05-29T11:02:57]i000: Caching bundle from: 'C:\Users\costanzo\AppData\Local\Temp\{f65db027-aff3-4070-886a-0d87064aabb1}\.be\vcredist_x86.exe' to: 'C:\ProgramData\Package Cache\{f65db027-aff3-4070-886a-0d87064aabb1}\vcredist_x86.exe'
[1254:1CC0][2017-05-29T11:02:57]i320: Registering bundle dependency provider: {f65db027-aff3-4070-886a-0d87064aabb1}, version: 12.0.30501.0
[1254:1CC0][2017-05-29T11:02:57]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{f65db027-aff3-4070-886a-0d87064aabb1}, resume: Active, restart initiated: No, disable resume: No
[1254:1CC0][2017-05-29T11:02:57]i325: Registering dependency: {f65db027-aff3-4070-886a-0d87064aabb1} on package provider: Microsoft.VS.VC_RuntimeMinimumVSU_x86,v12, package: vcRuntimeMinimum_x86
[1254:1CC0][2017-05-29T11:02:57]i325: Registering dependency: {f65db027-aff3-4070-886a-0d87064aabb1} on package provider: Microsoft.VS.VC_RuntimeAdditionalVSU_x86,v12, package: vcRuntimeAdditional_x86
[1254:1CC0][2017-05-29T11:02:57]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{f65db027-aff3-4070-886a-0d87064aabb1}, resume: ARP, restart: None, disable resume: No
[1254:1CC0][2017-05-29T11:02:57]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{f65db027-aff3-4070-886a-0d87064aabb1}, resume: ARP, restart initiated: No, disable resume: No
[1190:1364][2017-05-29T11:02:57]i399: Apply complete, result: 0x0, restart: None, ba requested restart:  No
[1190:1364][2017-05-29T11:07:50]i500: Shutting down, exit code: 0x0
[1190:1364][2017-05-29T11:07:50]i410: Variable: ServicePackLevel = 1
[1190:1364][2017-05-29T11:07:50]i410: Variable: VersionNT = 6.1.0.0
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleAction = 5
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleElevated = 1
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleInstalled = 0
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleLog = D:\TestApplication\MyInstaller\vcredlist\install.log
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleManufacturer = Microsoft Corporation
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleName = Microsoft Visual C++ 2015 Redistributable (x86) - 12.0.30501
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleOriginalSource = D:\TestApplication\MyInstaller\vcredlist\vcredist_x86.exe
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleProviderKey = {f65db027-aff3-4070-886a-0d87064aabb1}
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleTag = 
[1190:1364][2017-05-29T11:07:50]i410: Variable: WixBundleVersion = 12.0.30501.0
[1190:1364][2017-05-29T11:07:50]i007: Exit code: 0x0, restarting: No  

What could be the reason, and how this problem could be solved?

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
Costanzo Ferraro
  • 169
  • 2
  • 12

1 Answers1

2

The reason for VC++ redistributable taking 6 minutes is probably caused by issues with Windows Update on the computer you are running the installer on.

The VC++ redistributable uses the WIX burn engine (part of the WIX Toolset). During the installation process the WIX Burn engine will try to pause automatic updates. This line in the log file indicates pausing automatic updates has failed after taking approximately 6 minutes to timeout:

[1254:1CC0][2017-05-29T11:02:52]w308: Automatic updates could not be paused due to error: 0x80080005. Continuing...

Error code 0x8008005 is Windows COM error CO_E_SERVER_EXEC_FAILURE, which translates to "Server execution failed". An explanation of why this error can occur can be found in the article When CoCreateInstance returns 0x80080005 (CO_E_SERVER_EXEC_FAILURE).

Suggest looking more closely at Windows Update on the target computer to see what is going on.

bradfordrg
  • 1,863
  • 2
  • 21
  • 34
  • Yes, looking in the WiX source code it does look like this is the case - Windows Update is probably broken (malware?), or stuck somehow. [**It seems it is the call to Microsoft.Update.AutoUpdate which hangs**](https://stackoverflow.com/a/49534494/129130). I guess a better error message might suffice. Or taking out the whole call? – Stein Åsmul Mar 29 '18 at 11:56
  • Better error feedback would be a help. Before taking out the call I would like to better understand the reasons for the call being there. – bradfordrg Mar 30 '18 at 21:45
  • I agree - in my opinion a very likely cause of the hang could be malware having broken Windows Update (I have seen it many times). Would it be very strange for WiX / Burn to suggest this as a possibility to the user? Maybe it would be unnecessarily alarmist? My 2 cents: with malware on the box no reliable deployment can be expected. I'd expect to see further errors, and the user might not connect the dots immediately? – Stein Åsmul Mar 30 '18 at 21:49