移动ClickOnce存储库而不在客户端计算机中重新安装。可能吗?

时间:2009-04-01 14:29:14

标签: deployment clickonce

我有一个C#应用程序(WinForms)(ClickOnce),其存储库安装在即将崩溃的服务器上,所以我的老板让我移动存储库,但是大约有300台客户端机器安装了应用程序。

ClickOnce使用测试证书签名。

是否可以移动存储库而无需在客户端计算机中重新安装?

先谢谢

[编辑]

我已将应用程序发布到新服务器,但客户端无法访问它,我还能做什么?我认为我应该改变清单中的内容或类似的东西,但实际上并不太了解ClickOnce ...无论如何,我想避免在所有客户端机器上重新安装,任何想法,建议?提前谢谢

3 个答案:

答案 0 :(得分:2)

对于可能遇到同样问题的人来说,这就是我所做的。

  • 在发布包上设置新服务器。 (项目属性,发布选项卡)
  • 发布到新服务器
  • 将发布的文件复制到旧服务器。 (包括.application文件和文件夹)

当客户端到达旧服务器时,它们将更新,但服务器位置将在客户端上更新为新服务器名称。

答案 1 :(得分:2)

Jhonny提供的答案似乎对我很有希望,当我尝试它时遇到了一个错误,我必须解决这个问题。它与证书有关。

在关注他的setps后,当我在客户端计算机上启动ClickOnce应用程序时,出现错误对话框:“无法启动应用程序”。

当我单击错误对话框中的详细信息...按钮时,打开的文本文件显示应用程序正在尝试从新服务器的部署提供程序URL更新,但它会出现此错误:

“部署标识与订阅不匹配。”

问题是用于在旧服务器上发布应用程序的证书已过期,我已在新服务器上发布的应用程序中更新了证书。证书不匹配。

解决方案是首先使用新证书将应用程序发布到旧服务器,让用户打开应用程序以获取该更新,然后使用新服务器的部署URL发布另一个新版本,并将文件复制到两台服务器。当用户下次更新时,他们从旧服务器获得应用程序的版本,其中清单指向新服务器,然后,从新服务器检索所有子后续更新。

答案 2 :(得分:1)

您可以尝试更改DNS别名,以便重定向到新服务器。

使用证书签名的代码不相关,因为代码签名证书未绑定到特定的存储库(而不是SSL证书)

顺便问一下,你为什么不重新安装? clickonce的重点是缓解这种软件更新!!