WiX Toolset安装VC ++可再发行组件(x86)2015的速度太慢

时间:2017-05-26 09:13:04

标签: wix windows-installer vcredist

我编写了一个WiX工具集安装程序来安装一个需要VC ++可再发行组件(x86)2015的应用程序。一切正常,但是当启动vcredlist_x86.exe时,它安装包的速度太慢,需要大约六分钟!

如果我在独立模式下运行vcredlist,它仍然需要六分钟,如时间轴所示:

[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  

可能是什么原因,以及如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

VC ++可再发行的花费6分钟的原因可能是由于您运行安装程序的计算机上出现 Windows Update 的问题。

VC ++可再发行组件使用WIX刻录引擎(WIX Toolset的一部分)。在安装过程中,WIX Burn引擎将尝试暂停自动更新。日志文件中的这一行表示在超时约6分钟后暂停自动更新失败:

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

错误代码0x8008005是Windows COM错误CO_E_SERVER_EXEC_FAILURE,转换为“服务器执行失败”。可以在文章When CoCreateInstance returns 0x80080005 (CO_E_SERVER_EXEC_FAILURE)中找到可能发生此错误的原因的解释。

建议在目标计算机上更仔细地查看 Windows Update 以查看正在发生的事情。