.NET Windows窗体应用程序更新部署

.NET Windows窗体应用程序更新部署,.net,winforms,deployment,installation,publish,.net,Winforms,Deployment,Installation,Publish,我们在.NET4.0上有一个内部公司Windows窗体应用程序。我们的问题是,一些用户在更新应用程序时遇到问题,因为它已经安装 我们发布应用程序的方式是: 转到项目的属性 设置应用程序的新版本,设置应用程序的更新URL 将应用程序发布到本地 将应用部署到更新URL 这样,应用程序总是检查是否部署了新版本,如果部署了,则下载并安装新版本 正如我所说,我们的问题是一些用户无法正确安装应用程序更新,应用程序崩溃。然后,我们告诉用户卸载该程序并从部署位置下载安装包(实际上,由于我们无法修复该程序,我

我们在.NET4.0上有一个内部公司Windows窗体应用程序。我们的问题是,一些用户在更新应用程序时遇到问题,因为它已经安装

我们发布应用程序的方式是:

  • 转到项目的属性
  • 设置应用程序的新版本,设置应用程序的更新URL
  • 将应用程序发布到本地
  • 将应用部署到更新URL
这样,应用程序总是检查是否部署了新版本,如果部署了,则下载并安装新版本

正如我所说,我们的问题是一些用户无法正确安装应用程序更新,应用程序崩溃。然后,我们告诉用户卸载该程序并从部署位置下载安装包(实际上,由于我们无法修复该程序,我们不得不编写另一个这样做的应用程序!)

因为对所有用户来说都不一样,我不明白为什么会发生这种情况。我们的一位开发人员坚持认为这是一个与网络相关的问题,但我想知道我们是否可以为这个问题制定一个绝对的解决方案


为什么这不起作用?如何修复它?

有另一种解决问题的方法。 您应该在数据库端维护版本并更新表user vise。 当用户登录时,它将检查服务器上的版本以及当前版本(如果不同)。
只是一个批处理文件,其中包含用于更新特定可执行文件的命令。

您必须从ClickOnce安装日志中找到特定安装失败的详细原因。默认情况下,它位于“临时internet文件夹”中。看到或看到。您必须在日志文件中明确查看原因,才能对其进行故障排除

通常可以从控制面板卸载应用程序,然后从同一URL或UNC路径重新安装。另外,可能需要清除ClickOnce应用程序缓存
%userprofile%\Local Settings\Apps\2.0

Click once通常适用于较小的应用程序,根据我的经验,问题更经常发生在具有许多库的较大应用程序中


我担心“绝对解决方案”是不使用单击一次部署方法

这一问题可能过于开放,不可能如此。你最好问一个非常直接的问题。“为什么整个过程都不起作用”这一笼统的措辞在这里是不可回答的,”DonBoitnott编辑。谢谢。是否可能该应用程序针对特定平台(32/64位),而有问题的用户正在运行另一个平台?请尝试执行此操作。并从不同的用户处检查预生产环境。发布前更改应用程序的GUID。右键单击应用程序>程序集信息上的解决方案属性在发布前更改GUID。要从visual Studio生成GUID,可以执行以下步骤:工具>创建GUID>选择定义GUID>单击新建GUID>单击复制>粘贴到任何便笺簿并从此处获取创建的GUID。如果这对你有用,请让我知道,我会补充这个作为答案。Thanks@kishoreVM你能解释一下这会有什么帮助吗?我们在尝试检测应用程序是否最新时没有遇到问题,但在更新时会遇到问题。我不知道这会有什么帮助。。完全明白你的意思,但批处理文件可以处理。。您可以检测问题的场景,并在批处理文件中维护解决方案条件。