打破旧的clickonce应用程序,以便没有人可以使用它? (远程卸载所有安装?)

时间:2011-10-20 21:52:22

标签: .net vb.net deployment clickonce

我有一个旧的ClickOnce程序,它被我写的一个新程序所取代,我知道有些人仍在使用旧程序。

我想以某种方式远程将其从仍在使用的每台计算机上远程删除(手动找到它们太多了。)

我不想进行更新以阻止其工作,因为他们可能不会决定安装更新。

有没有办法更改服务器上的清单文件,以便在应用程序检查更新时,它们无法打开?

干杯

2 个答案:

答案 0 :(得分:3)

最好的办法是发布旧应用程序的更新并将其自行卸载。亚当提到的博客文章中有一些错误; here是我为MSDN编写的一篇文章,由Microsoft测试和批准,包括卸载应用程序的代码。我已经多次使用它,即使是VSTO应用程序。

答案 1 :(得分:2)

根据我的经验,当ClickOnce应用程序在自动更新过程中遇到问题时,它将无声地失败并从磁盘运行以前的版本。我认为清单中没有任何东西可以让应用程序完全失败。

当您的应用程序启动时,它是否有任何外部依赖项,如共享配置文件?您可以删除对此类资源的访问,以防止应用程序启动。

另一种选择是自动化旧应用程序的卸载过程并将用户定向到新应用程序。这是一个blog post,如果你走这条路,应该会有所帮助。