在InstallShield中对.mst文件签名时出现错误0x80092006

编程语言 2026-07-11

我正在使用InstallShield 2020 Premier R2。

我从DigiCert获得了代码签名证书,并使用它的KeyLocker进行代码签名。

过去,我在Windows 7上安装了一切,InstallShield能正确对.mst文件进行签名。

现在我想在我的新笔记本(Windows 11系统)上做同样的事情。我已经把证书安装到了本地计算机上。并且Windows SDK的 sigetool能正确对.EXE和 .DLL文件进行签名。

在我的InstallShield项目中,在“Signing”选项卡中选择与Windows 7上相同的证书。

在Windows 11上的所有设置似乎都和Windows 7一样。但是当我构建InstallShield项目时,出现如下错误:

Started signing 1025.mst ...

SigningHelper: error 0x80092006 while attempting to sign file

ISDEV : error -1027: Failed signing 1025.mst

如何解决这个问题?

注: 错误0x80092006表示CRYPT_E_NO_PROVIDER(未为存储或对象指定提供程序)。

解决方案

我已经解决了这个问题。诀窍是按照 https://docs.revenera.com/installshield27helplib/helplibrary/ConfiguringPlatformArchitectureforDigitalSigning.htm 上的说明,将

<DigitalSignature Platform="X86"/>

改为

<DigitalSignature Platform="X64"/>

在我旧的Win7(64位)电脑上,也许旧版本的DigiCert工具同时支持x86和 x64。然而,在新的Win11(64位)电脑上,新的DigiCert工具可能只支持x64,因此需要相应地进行这样的更改。

感谢各位的帮助。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章