签署我的代码的程序是什么,以便当用户单击安装程序时它不会提示未知供应商。
我的设置是,
应用程序是基于java的。我用launch4j 包装jar 安装程序是基于nsis 的。
我的构建平台是xp。
安装完成后的另一件事是,我弹出一个提示,从 vista 不是 nsis 安装不成功,我该如何摆脱它?
签署我的代码的程序是什么,以便当用户单击安装程序时它不会提示未知供应商。
我的设置是,
应用程序是基于java的。我用launch4j 包装jar 安装程序是基于nsis 的。
我的构建平台是xp。
安装完成后的另一件事是,我弹出一个提示,从 vista 不是 nsis 安装不成功,我该如何摆脱它?
要消除警告,您需要对 setup.exe 进行签名。获取 microsoft signtool.exe 和代码签名证书(确保已将其导入您的 PC),然后只需创建一个批处理文件:
signtool sign /v /s my /n "我的显示公司" /d "我的显示应用程序" /du "我的支持 URL" /t " http://timestamp.verisign.com/scripts/timstamp.dll " path_to_setup.exe
SignTool.exe 由 Visual Studio 和 Platform SDK 安装,只需 google 一下。
看看JarSigner。它使用公钥基础设施工作,因此您需要在某处获得由 CA 签名的 ket,费用为 $$$。Ant 和 Maven 都有插件可以在您构建 jar 时为您执行此操作。这需要在你的 jar 包被 launch4j 和 nsis 之前完成。
我不熟悉 nsis,但如果安装程序是基于 java 的,您可能还需要对其输出 jar 进行签名。
我不知道 launch4j 是如何工作的,但我假设您能够更改 NSIS 脚本。如果要签署 .exe,您可能必须添加“CRCCheck off”。
将 RequestExecutionLevel(用户或管理员)添加到 nsis 脚本应该消除 Vista 警告(如果没有将卸载条目添加到注册表并且 exe 没有 Vista 清单,则被检测为安装程序的程序将显示此警告)