首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建具有有效签名的预编码安装程序(MSI或EXE)?

如何创建具有有效签名的预编码安装程序(MSI或EXE)?
EN

Stack Overflow用户
提问于 2014-05-22 12:15:48
回答 4查看 2.4K关注 0票数 7

我们希望我们的用户下载我们的Windows软件的预配置安装程序。预先配置的数据由基于用户帐户数据的设置组成。定制将在运行在Linux上的Java服务器中完成。我们需要让那些安装程序进行数字签名。不幸的是,由于安全策略,我们无法在这些服务器上拥有私有签名密钥。

,您能想出在保存数字签名或其他实现用例的方法的同时,将一些元数据放入MSI或EXE的方法吗?

编辑:要求只有一个文件下载,所以不幸的是并行ini文件不能满足它。它主要是关于提供一组连接点(特定于用户)--我们不会打扰用户,因为我们已经知道了。

EN

Stack Overflow用户

发布于 2014-06-01 14:35:37

你最好的选择就是重新设计你的方法。如果只有少数几个最终的配置,请提前构建它们。否则,您需要能够实时签名,或者以一种没有签名的方式分发选项。原因如下:

  • 更改文件是不可能的,因为它会使数字签名无效,而且您没有办法重新应用它。
  • 从internet下载exe或msi时,也不能传递任意命令行参数。
  • 即使可以使用多个文件,将未签名的mst应用于msi也会使签名无效,以便使用UAC提示。

以下是一些解决这些限制的方法:

  • 请求在msi的UI序列中进行配置。要么询问服务器当前试图嵌入的参数,要么询问导致这些参数的选项,然后使用自定义操作计算和/或检索它们。
    • 到了极致,这可能是:在线填写选项;获取代码;下载msi;安装,输入代码(它检索选项)。这可能是一个好的用户体验,只要他们不需要离线。

  • 找到一种传递参数的方法。例如,看起来ClickOnce可以接受参数作为其URL的一部分。(见如何:在联机ClickOnce应用程序中检索查询字符串信息.)从表面上看,这似乎允许使用嵌入式msi文件创建一个ClickOnce应用程序,该应用程序使用这些参数来配置msi。但是,我不能肯定地说,因为我还没有构建这样一个ClickOnce应用程序,而且我也不清楚它可能会在机器上造成什么影响。在脱机场景中,这也可能失败。
票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23806564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档