ClickOnce应用程序替换当前安装的文件

时间:2012-08-12 10:12:05

标签: c# clickonce

使用ClickOnce应用程序,是否可以在创建新版本时替换当前文件或安装在其他目录中?因为我得到的错误是:

  

无法安装此应用程序,因为有一个应用程序   已安装相同的身份。要安装此应用程序,   修改此应用程序的清单版本或卸载   已有的申请。

3 个答案:

答案 0 :(得分:92)

正如错误消息所示,有两种选择。

首先,您作为开发人员应修改ClickOnce清单的版本号。这是在项目设置的ClickOnce选项卡中完成的。请注意,ClickOnce版本与装配(程序集)版本没有任何共同之处。

另一种选择是卸载应用程序,不幸的是,这可能必须手动完成。您必须找到ClickOnce部署文件夹(C:\Users\username\AppData\Local\Apps\2.0)并手动删除所有文件夹内容。这也可以通过调用

来完成
 rundll32 dfshim CleanOnlineAppCache
来自命令行的

命令。

答案 1 :(得分:6)

当我遇到此错误时,是因为我想为同一个程序安装两个不同的安装位置。特别是Program_A在线发布到两个地方,在改变程序中的一小部分之后,我希望它们都安装在同一台机器上,但是来自不同的ClickOnce链接。

因此,在收到该错误后,我没有尝试调整清单,而是更改了选项。项目设置 - >发布 - >选项 - >我编辑了[已发布名称,套件名称:,产品名称:]。你可能不必改变这三个。

我现在已经安装了两个安装程序。 ClickOnce将安装在不同的目录中,但它将删除第一个桌面快捷方式。

如果您不想走那条路,那么清单信息就在这里 https://msdn.microsoft.com/en-us/library/ws1c2fch.aspx

你的清单通常位于bin / debug(release)/ yourprogramname.application下。

答案 2 :(得分:1)

我还发现rundll32 dfshim CleanOnlineAppCachemage.exe -cc似乎都不起作用,我仍然会遇到同样的错误。

我手动删除了部署文件夹。

在Windows XP上,部署文件夹的路径为C:\Documents and Settings\UserName\Local Settings\Apps