目前,我在Linux机器上使用NSIS为程序生成安装程序.NSIS二进制文件已经为Ubuntu编译,使用.nsi脚本没有任何困难.但是,生成的setup.exe文件是未签名的.对于通过大多数常见Web浏览器下载安装程序的用户,以及运行时Windows自身的警告,这会导致可怕的警告.
我们想避免这些警告,除非我遗漏了某些内容,否则需要使用Windows工具对生成的setup.exe文件进行签名.有没有办法在非Windows机器上执行此操作?
不幸的是,每个安装程序都是唯一的(根据客户的请求捆绑不同的文件,并包含唯一的ID),因此我无法在Windows计算机上签署安装程序,然后上传它.
几周前我不得不这样做,没有使用酒。我所做的是将 pfx 文件导入到 Windows,然后使用“如果可能,包括证书路径中的所有证书”选项将其导出。然后我按照此页面上的说明进行操作 。
拥有所有证书(spc 和 pvk 文件)后,您应该使用以下命令:
signcode -spc [spc file] -v [pvk file] -a sha1 -$ commercial -t http://timestamp.verisign.com/scripts/timstamp.dll -tr 10 [exe file to sign]
Run Code Online (Sandbox Code Playgroud)
我必须安装 mono-dev 包:
sudo apt-get install mono-devel
Run Code Online (Sandbox Code Playgroud)