【发布时间】:2011-05-18 20:45:12
【问题描述】:
我有一个通过 ClickOnce 部署的 WinForms 应用程序。我以安装 X509 证书的 .msi 形式添加了一个自定义 prereq。问题是,如果由于到期需要更改证书,如何让 ClickOnce 注意到安装版本的差异并再次运行 .msi?这甚至可能吗?
【问题讨论】:
标签: visual-studio-2010 deployment clickonce
我有一个通过 ClickOnce 部署的 WinForms 应用程序。我以安装 X509 证书的 .msi 形式添加了一个自定义 prereq。问题是,如果由于到期需要更改证书,如何让 ClickOnce 注意到安装版本的差异并再次运行 .msi?这甚至可能吗?
【问题讨论】:
标签: visual-studio-2010 deployment clickonce
不,这在使用 ClickOnce 时是不可能的。 ClickOnce 根本不处理先决条件。它只是让客户端文件与服务器上的文件保持同步。
这很令人困惑,因为当您使用 Visual Studio 进行部署时,它将先决条件与 ClickOnce 混为一谈,因此人们认为 ClickOnce 可以处理它们。 Visual Studio 所做的只是构建一个小型引导程序 exe,将所有先决条件联系在一起。这样,用户可以运行单个 exe,以正确的顺序处理所有安装包的下载和运行,而不是告诉您的用户,“安装 .NET Framework 4.0(除非您已经拥有它),然后去这里下载一些东西否则运行它,然后这个……”
如果您想处理此问题,则必须在应用启动时编写代码来执行此操作。检查他们是否有最新版本,提示他们安装,将他们发送到网页等。不好玩,但绝对有可能。
【讨论】: