我有一个C#应用程序,我试图通过ClickOnce自动更新。发布较新版本的软件后,我在发布文件夹中看到了新版本,但是当我打开应用程序时,它会检查更新,并且什么也不做(即使发布文件夹中有新文件)。
我需要做什么才能自动进行更新?
修改
您使用的是哪个版本的Visual Studio? Visual Studio 2008
您是否将升级部署到与旧版本相同的位置? 它们被发布到同一地点(不确定已部署)
安装网址是否相同?你增加了版本号吗? 是
在单击“发布”页面中的“更新”按钮到达的“更新”对话框中,是否选中了“应用程序应检查更新”? 是
您是否选择了“在应用程序启动之前”? 是
您是如何部署文件的? 不确定
您是将它们复制到文件共享还是直接发布? 直接发布
答案 0 :(得分:2)
您使用的是哪个版本的Visual Studio?
您是否将升级部署到与旧版本相同的位置?
安装URL是否相同?你增加了版本号吗?
在“发布”页面中单击“更新”按钮到达的“更新”对话框中,是否选中了“应用程序应检查更新”?
您是否选择了“在应用程序启动之前”?
你是如何部署文件的呢?
您是将它们复制到文件共享还是直接发布?
如果要在那里复制它们,是否还要将该版本的部署清单(whatever.application)复制到部署文件夹结构的顶部?
这是指示应安装哪个版本的文件。如果您使用的是VS2008 / 2010,则每个版本化文件夹(yourapp_a_b_c_d)中都有每个版本的部署清单的副本,如果您要手动部署,则可以将其复制到根目录。
答案 1 :(得分:1)
这是一个有点试验和错误的地方,因为它似乎你的配置正确。所以它必须与你的环境有关。
发布网址与您最初安装的网址不同吗?
如果您在本地开发机器上讨论此行为,您可能首先从其他位置运行,这一点尤为重要。这样它将继续在初始激活路径中寻找更新。建议尝试完全卸载/重新安装并查看它是否仍然存在...您可以通过查看ApplicationDeployment.CurrentDeployment.ActivationUri
进行测试。
如果最坏的情况发生在绝对最糟糕的情况,那么可能是manually check and run updates?
有用的链接: