上个月(2016 年 3 月)我正在构建一个 InstallShield 2015 项目,其中的一个组件的.NET Installer Class
属性设置为Yes
,一切似乎都运行良好。这个月,我在运行相同的安装时突然开始收到错误 1001。看到错误来自这个.NET Installer Class
组件,我决定关闭该.NET Installer Class
属性作为测试。确实可以解决问题。但是我们有另一个构建系统,我们可以在其中构建完全相同的代码,并且一切正常,这表明存在环境问题。
经过一些额外的研究,我发现该文件在两个系统之间_isconfig.xml
显示了不同的supportedRuntime
version
属性值,我认为这是一个密切相关的问题指标。额外的研究表明这个版本可能来自InstallUtilLib.dll
,它确实与我在_isconfig.xml
两个系统上看到的版本相匹配。安装工作正常<supportedRuntime version="v4.0.30319"/>
,并失败<supportedRuntime version="v4.6.1055"/>
。顺便说一句,较新InstallUtilLib.dll
的日期为 2015-11-05,所以我猜这个问题理论上可能是自该日期以来任何更新的结果。
我看到我的系统最近安装了一些 .NET Framework 更新,但在 Google 搜索影响 .NET 的 Microsoft 更新时,我空手而归InstallUtilLib.dll
。那么我如何确定这个问题以确定原因和/或解决方案呢?
MSI 日志报告如下错误:
MSI (s) (58:14) [14:17:27:958]: Executing op: CustomActionSchedule(Action=_1A0C0EC89595D04ACFD3852EF29B12BD.install,ActionType=3073,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=install /LogFile= "M:\MfgSys\System\FourthShift.SDKAdministrator.dll" "C:\Users\bmarty\AppData\Local\Temp\{C449BDEA-AA73-4FDE-A6AF-9116E1D7DEBB}\_isconfig.xml")
MSI (s) (58:20) [14:17:27:973]: Invoking remote custom action. DLL: C:\windows\Installer\MSI7282.tmp, Entrypoint: ManagedInstall
Error 1001.