如何将数字证书添加到单个映像Installshield安装程序

时间:2014-02-02 01:33:48

标签: ssl installshield digital-certificate

我在Visual Studio 2012中使用限制版本的Install Shield创建了一个安装程序。

我有一个数字证书,我想添加到安装程序中。

我想使用Install Shield的SingleImage功能为我的客户创建并提供单个安装文件(例如setup.exe)。但是,似乎我必须通过Install Shield将数字证书附加到一个msi文件中,该文件嵌入在setup.exe中。

我发现在运行安装程序时,将数字证书放在setup.exe上会导致告知用户发布者是未知的。如果是其他话,那就没有正确部署数字证书。

我是否可以访问msi文件以向其添加数字证书?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:27)

我将回答我自己的问题。自从发布我的问题后,我发现Visual Studio 2012中的Install Shield限量版可以设置为签署安装程序(如果你有合适的数字证书)。

可在以下位置找到:Builds / Express / SingleImage。有一个名为“签名”的选项卡。输入数字证书文件的路径/文件名,证书密码,并指定要签名的输出文件。安装Shield然后在构建时签署安装程序。

我很抱歉过早地提出这个问题。我应该先做更多的研究。

答案 1 :(得分:1)

IS 2015之前的InstallShield版本不支持SHA-256证书。所以,虽然迈克的回答是正确的,但如果没有新的IS,它将不再对您有任何好处,因为微软自2016年1月1日起需要SHA-256。

但是......在他们必须知道他们在做什么之前,我会暂时放下一点秘密。见this thread on the IS forum

如果他们认真对待,这是重要的部分:

  

"如果您需要立即签署这种签名,您可以签名   稍后将文件归档,或者为signtool.exe创建一个包装器   拦截我们传递给的命令行参数   \ System \ signtool.exe并做了其他事情。"

正如Mike所说,你不能简单地签署外部exe,但是通过替换他们的signtool.exe你也应该能够签署内部msi。

我现在正在考虑实施这项工作。如果其他人试图这样做,请告诉我们您的结果。