1

我有一个应用程序,最初将由用户下载和安装。要更新应用程序,应用程序本身将

  1. 检查是否存在新版本
  2. 如果是,请下载新版本(由 installshield le 创建的 setup.exe 文件与 vs2010 捆绑)
  3. 然后应用程序启动一个新的 System.Diagnostics.Process 以安装新软件(当前运行的软件已关闭、卸载并由 Installshield 安装新版本)

我希望能够确保该 exe 受信任以防止任何 Web 服务黑客攻击。
实现这一目标的最佳方法是什么?我需要在我的 c# .net wpf 应用程序中进行验证。

4

3 回答 3

3

您需要从受信任的权威机构购买验证码代码签名证书(我们使用了 godaddy,但还有很多其他的),并使用它来签署安装程序中的所有可执行文件 (作为使用 signtool.exe 的构建后任务)(有关详细信息,请参阅此处)和installshield 生成的安装程序,当您构建安装包时。

当您的更新过程下载新的安装程序包时,您可能会选择在部署之前检查签名是否受信任。

于 2012-05-15T00:58:42.520 回答
1

有关签署程序集的信息,请参阅http://msdn.microsoft.com/en-us/library/xc31ft41.aspx 。

这篇文章对你也很有用:http ://www.c-sharpcorner.com/uploadfile/puranindia/signing-an-assembly-in-C-Sharp/

确保您用于签署程序集的私钥安全。另请参阅C#:为什么要签署程序集?.

于 2012-05-14T23:59:55.060 回答
1

从已知的 HTTPS 位置下载可能就足够了。您可以检查服务器证书以确保您正在与正确的证书交谈。

考虑使用ClickOnce 部署而不是定制部署...

于 2012-05-15T00:02:37.440 回答