自从升级到 Windows 8 和 8.1 机器后,我所有的 InstallShield 项目都开始无法签名。该错误发生在将清单嵌入 setup.exe 之后或期间,并出现以下错误:
地址 0x76b34db0 的异常 ACCESS_VIOLATION (0xc0000005) 试图读取地址 0x00000001。
文件:C:\Program Files (x86)\InstallShield\2011\System\isdev.exe 版本:17.0.0.714 异常:c0000005 地址:76b34db0 访问类型:读取访问地址:00000001
...
当我在崩溃后选择调试时,我在 Visual Studio 中得到一个异常,说 Wintrust.dll 中发生错误:
isdev.exe 中 0x76B34DB0 (wintrust.dll) 的未处理异常:0xC0000005:访问冲突读取位置 0x00000001。
构建日志中的错误消息以:
ISDEV:错误 -7132:流式传输 ISSetup.dll 支持文件时发生错误 S:\InstallShields\Server Fix Pack_IS2011\Setup.inx 将清单 SetupExe.Admin.manifest 嵌入到 setup.exe 开始签署 8F8D.tmp ... 成功签署:8F8D .tmp
为了在较小的项目中解决它,我删除了所有签名选项,特别是使用 spc 和 pvk 证书/私钥文件。
在没有签名的情况下成功构建安装后。我只使用 pfx 证书文件重新引入了签名。但我永远无法选择“在包中签名文件”选项。
有些项目这些步骤都不起作用。有人在使用 Windows 8/8.1 时遇到过这些问题吗?有什么解决方法吗?
谢谢