【问题标题】:Code Signing for my Lauch4J/NSIS Installer on Windows XP?在 Windows XP 上为我的 Lauch4J/NSIS 安装程序进行代码签名?
【发布时间】:2009-08-01 17:20:05
【问题描述】:

签署我的代码的程序是什么,这样当用户点击安装程序时它不会提示未知供应商。

我的设置是,

应用程序是基于 java 的。 我用launch4j包装罐子 安装程序基于 nsis。

我的构建平台是 xp。

另外一件事,当安装完成时,我会弹出一个提示,从 vista 而不是 nsis 安装不成功,我该如何摆脱它?

【问题讨论】:

    标签: java windows nsis code-signing launch4j


    【解决方案1】:

    要消除警告,您需要对 setup.exe 进行签名。获取 microsoft signtool.exe 和代码签名证书(确保已将其导入您的 PC),然后创建一个批处理文件:

    signtool sign /v /s my /n "My Display Company" /d "My Display Application" /du "My Support URL" /t "http://timestamp.verisign.com/scripts/timstamp.dll" path_to_setup.exe

    SignTool.exe 由 Visual Studio 和平台 SDK 安装,只需 google 一下。

    【讨论】:

      【解决方案2】:

      看看JarSigner。它使用公钥基础设施工作,因此您需要在某处获得由 CA 签名的 ket,费用为 $$$。 Ant 和 Maven 都有插件可以在您构建 jar 时为您执行此操作。这需要在使用 launch4j 和 nsis 包装之前对您的 jar 进行处理。

      我不熟悉 nsis,但如果安装程序是基于 java 的,您可能还需要对其输出 jar 进行签名。

      【讨论】:

        【解决方案3】:

        我不知道launch4j 是如何工作的,但我假设您能够更改NSIS 脚本。如果您要签署 .exe,您可能必须添加“CRCCheck off”。

        将 RequestExecutionLevel(用户或管理员)添加到 nsis 脚本应该会消除 Vista 警告(如果没有将卸载条目添加到注册表并且 exe 没有 Vista 清单,则被检测为安装程序的程序将显示此警告)

        【讨论】:

          猜你喜欢
          • 2013-09-09
          • 1970-01-01
          • 2011-08-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-22
          • 1970-01-01
          相关资源
          最近更新 更多