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

Deployment 移动ClickOnce存储库而不在客户端计算机中重新安装。可能吗?,deployment,clickonce,Deployment,Clickonce,我有一个C#应用程序(WinForms)(ClickOnce),其存储库安装在即将崩溃的服务器上,因此我的老板要求我移动存储库,但大约有300台客户机安装了该应用程序 ClickOnce使用测试证书进行签名 是否可以移动存储库而不必在客户端计算机中重新安装 提前谢谢 [编辑] 我已将应用程序发布到新服务器,但客户端无法访问它,我还能做什么?我想我应该改变清单里面的东西或者类似的东西,但是a实际上不太了解ClickOnce。。。在任何情况下,我想避免在所有客户端机器上重新安装,有什么想法和建议吗?

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

ClickOnce使用测试证书进行签名

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

提前谢谢

[编辑]


我已将应用程序发布到新服务器,但客户端无法访问它,我还能做什么?我想我应该改变清单里面的东西或者类似的东西,但是a实际上不太了解ClickOnce。。。在任何情况下,我想避免在所有客户端机器上重新安装,有什么想法和建议吗?提前感谢

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

使用证书签名的代码并不相关,因为代码签名证书没有绑定到特定的存储库(与SSL证书相反)


顺便说一句,你为什么不想重新安装?clickonce的全部目的就是简化这种软件更新

以下是我为可能有同样问题的人所做的

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

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

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

在遵循他的设置之后,当我在客户端机器上启动ClickOnce应用程序时,我得到一个错误对话框:“无法启动应用程序”

当我点击细节。。。按钮,打开的文本文件显示应用程序正试图从新服务器的部署提供程序URL进行更新,但出现以下错误:

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

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


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

但我实际上需要移动存储库,移动是计划中的,服务器当前承载着其他应用程序,因此我想说我无法控制服务器。如果服务器即将崩溃,为什么不用具有相同dns名称的新服务器完全替换它?如果您无法做出此决定,您可能希望将存储库URL重定向到另一台服务器。通过clickonce重新安装通常是自动的,我们担心,当我们更改存储库URL时,会迫使我们在每台机器上重新安装。绝对不是。只需更改clickonce应用程序,使其使用另一个存储库(即新存储库)。真的,我认为你把你的处境复杂化了。在旧存储库上部署新版本,以新存储库为目标,因为安装存储库将起作用