【发布时间】:2012-08-12 10:12:04
【问题描述】:
对于 ClickOnce 应用程序,是否可以在创建新版本时替换当前文件或安装在不同的目录中?因为我得到的错误是:
无法安装此应用程序,因为一个应用程序带有 已安装相同的标识。要安装此应用程序, 修改此应用程序的清单版本或卸载 预先存在的应用程序。
【问题讨论】:
对于 ClickOnce 应用程序,是否可以在创建新版本时替换当前文件或安装在不同的目录中?因为我得到的错误是:
无法安装此应用程序,因为一个应用程序带有 已安装相同的标识。要安装此应用程序, 修改此应用程序的清单版本或卸载 预先存在的应用程序。
【问题讨论】:
正如错误消息所说,有两个选项。
首先,作为开发人员,您应该修改 ClickOnce 清单的版本号。这是在项目设置的 ClickOnce 选项卡中完成的。请注意,ClickOnce 版本与您的程序集(程序集)版本没有任何共同之处。
另一个选项是卸载应用程序,不幸的是,这可能必须手动完成。您必须找到 ClickOnce 部署文件夹 (C:\Users\username\AppData\Local\Apps\2.0) 并手动删除所有文件夹内容。这也可以通过调用
rundll32 dfshim CleanOnlineAppCache
来自命令行的命令。
【讨论】:
C:\Users\username\AppData\Local\Apps\2.0 也称为 `%LOCALAPPDATA%\Apps\2.0`。
当我遇到这个错误时,是因为我想要同一个程序有两个不同的安装位置。具体来说,Program_A 已在线发布到两个位置,在更改程序中的一个小东西后,我希望它们都安装在同一台机器上,但来自不同的 ClickOnce 链接。
因此,在收到该错误后,我没有尝试调整清单,而是更改了选项。项目设置->发布->选项->我编辑了[发布名称,套件名称:,产品名称:]。您可能不必全部更改这三个。
我现在两个安装都在运行。 ClickOnce 将安装在不同的目录中,但会删除第一个桌面快捷方式。
如果你不想走那条路,清单信息在这里。
https://msdn.microsoft.com/en-us/library/ws1c2fch.aspx
您的清单通常位于 bin/debug(release)/yourprogramname.application 下。
【讨论】:
我还发现rundll32 dfshim CleanOnlineAppCache 或mage.exe -cc 似乎都不起作用,我仍然遇到同样的错误。
我已经手动删除了部署文件夹。
在 Windows XP 上,部署文件夹的路径为 C:\Documents and Settings\UserName\Local Settings\Apps。
【讨论】: