Visual studio 2013 当最终用户正在安装所需的.NET运行时时,ClickOnce应用程序发布失败

Visual studio 2013 当最终用户正在安装所需的.NET运行时时,ClickOnce应用程序发布失败,visual-studio-2013,clickonce,publish,Visual Studio 2013,Clickonce,Publish,尝试发布时,我反复出现以下错误: 无法将“setup.exe”添加到网站。此网站中已存在文件“setup.exe”。 我正在运行VS2013,发布一个“仅在线可用”的应用程序,因为我过去遇到过一些奇怪的问题,更新会导致用户在使用“脱机”选项时获得“ApplicationName-1”重复安装 这个很好用。然而,我正在用.NET4.5.2创建这个项目,这意味着我的所有最终用户都必须更新。这也很好,因为我将运行时包含在项目的应用程序文件中 在进行一些测试运行时,我偶然发现了一个巨大的问题/烦恼:当用

尝试发布时,我反复出现以下错误:

无法将“setup.exe”添加到网站。此网站中已存在文件“setup.exe”。

我正在运行VS2013,发布一个“仅在线可用”的应用程序,因为我过去遇到过一些奇怪的问题,更新会导致用户在使用“脱机”选项时获得“ApplicationName-1”重复安装

这个很好用。然而,我正在用.NET4.5.2创建这个项目,这意味着我的所有最终用户都必须更新。这也很好,因为我将运行时包含在项目的应用程序文件中

在进行一些测试运行时,我偶然发现了一个巨大的问题/烦恼:当用户在发布的文件夹中运行setup.exe时,.NET更新的安装程序会运行,但是在这个更新过程中,我无法发布,因为文件显然正在使用中。这在过去VS2010中不是问题

有什么解决办法吗?想象一下,当我试图发布更新时,有人将.NET安装程序放在屏幕上很长一段时间。这很成问题

p、 美国。此答案不适用,因为这不是实际的权限问题:

首先,我认为即使使用VS2010,这个“问题”也一直存在,只是以前从未发生过

现在解决办法是:

  • 在发布更新之前禁用网站/Web应用
  • 在发布到产品之前,始终发布到中间文件夹

  • 如果您只想移除违规者的锁,请右键单击桌面上的“我的电脑”,右键单击树中的“电脑管理”,然后选择“连接到其他电脑”。输入安装文件所在服务器的名称。展开共享文件夹=>打开文件。找到针对安装文件的锁,右键单击它并选择“关闭打开的文件”。

    我可能遗漏了一些内容,但发布到中间文件夹不会解决问题吗?这将允许我发布,是的,但在我最终能够发布或复制到官方文件夹之前,没有人会得到实际的更新。setup.exe和Application.Application文件之间是否存在差异?我是否应该让他们使用.exe?@Keith setup.exe是一个引导程序,它将帮助您安装先决条件,然后执行.application,它将保证目标环境已准备好执行您的应用程序。如果您没有任何先决条件,那么请您的用户只运行.application应该是安全的,但是如果您决定包含一个先决条件,会发生什么呢?嗯,是的,没错。我想我需要做的是避免它被“使用”,也就是要求我的用户在安装之前单独安装.NET4.5.2。其他先决条件(如基础设施DLL)如何?运行.application会安装这些吗?没关系,我懒得问这个问题。我可以在别人的机器上运行一些测试。这是一个有效的解决方法,在紧急情况下使用过多次,但它没有解决根本问题。