在过去的几天里,我一直被一个对我毫无意义的问题所困扰。我的安装程序在 Installshiled IDE 中构建良好,但是当它即将完成安装时,int 出现两个错误然后回滚:安装失败。
就在安装栏大约为 100% 时,会弹出一个错误框,指出:“初始化安装时发生错误 1001.Exception:System.IO.FileLoadException:尝试加载带有修复程序的无法验证的可执行文件(IAT 超过2 个部分或一个 TLS 部分。)(来自 HRESULT 的异常:0x80131019)。”
该框弹出一次,然后安装程序将其状态闪烁为“回滚”,然后弹出另一个错误框,然后一旦“确定”它就会像往常一样进行回滚。
我不明白那个错误信息,所以我查看了 msi 日志并发现了这个:
注册文件 C:\Program Files\Cadwell\Easy III\MedShareGlobalData.dll (32-bit) InstallShield 13:20:09: 注册文件 C:\Program Files\Cadwell\Easy III\MedDirectory.dll (32-bit) InstallShield 13:20:09:开始提交属性包 InstallShield 13:20:09:写入 KeyList 计数 InstallShield 13:20:09:完成提交属性包操作 13:20:09:_EBDE7916DF6AF3B644016C54F66930DC.commit。行动 13:20:09:_EBDE7916DF6AF3B644016C54F66930DC.rollback。行动 13:20:09:_EBDE7916DF6AF3B644016C54F66930DC.install。完成提交属性包操作 13:20:09: _EBDE7916DF6AF3B644016C54F66930DC.commit。行动 13:20:09:_EBDE7916DF6AF3B644016C54F66930DC.rollback。行动 13:20:09:_EBDE7916DF6AF3B644016C54F66930DC.install。完成提交属性包操作 13:20:09: _EBDE7916DF6AF3B644016C54F66930DC.commit。行动 13:20:09:_EBDE7916DF6AF3B644016C54F66930DC.rollback。行动 13:20:09:_EBDE7916DF6AF3B644016C54F66930DC.install。
初始化安装时出现错误 1001.Exception:System.IO.FileLoadException:尝试加载带有修复程序的无法验证的可执行文件(IAT 具有超过 2 个部分或 TLS 部分。)(来自 HRESULT 的异常:0x80131019)。
MSI (s) (34!84) [13:20:26:455]: Info 2769.Custom Action _EBDE7916DF6AF3B644016C54F66930DC.install 没有关闭 1 个 MSIHANDLE。操作于 13:20:26 结束:InstallFinalize。返回值 3. 动作 13:20:26:回滚。回滚操作:回滚:_EBDE7916DF6AF3B644016C54F66930DC.install 回滚:_EBDE7916DF6AF3B644016C54F66930DC.rollback
初始化安装时出现错误 1001.Exception:System.IO.FileLoadException:尝试加载带有修复程序的无法验证的可执行文件(IAT 具有超过 2 个部分或 TLS 部分。)(来自 HRESULT 的异常:0x80131019)。
MSI (s) (34!E8) [13:20:27:036]: Info 2769.Custom Action _EBDE7916DF6AF3B644016C54F66930DC.rollback 没有关闭 1 个 MSIHANDLE。回滚:_EBDE7916DF6AF3B644016C54F66930DC.commit 回滚:ISSelfRegisterFiles 回滚:注册模块 回滚:注册类型库 回滚:写入系统注册表值 回滚:注册程序标识符
此后的所有回滚命令。
出于某种原因,在我看来 installshield 正在尝试在完成安装之前启动我的程序,即使我告诉它提示用户决定启动也是如此。这是一个使其尝试的注册命令系统还是什么?我整天在网上搜索,我找到了一些想法,但我还没有看到任何解决方案。
我尝试过(但失败)的安装程序始终需要是 Setup.exes,当我尝试构建仅 .msi 的设置时,我收到此错误消息。它可能会帮助比我更了解这个系统的人。
您的项目包含 InstallShield 先决条件。如果您要构建包含 InstallShield 先决条件的版本,则需要 Setup.exe 安装启动器。更改发布设置以构建 Setup.exe,或从项目中删除先决条件。-7076 网站上没有任何与错误代码相关的内容,所以我很茫然。
系统:
XP SP3
Installshield 2010 Pro
安装在 VirtualPC 上测试