无法更新 Visual Studio 安装程序

Posted

技术标签:

【中文标题】无法更新 Visual Studio 安装程序【英文标题】:Unable to update visual studio installer 【发布时间】:2017-08-23 12:06:02 【问题描述】:

想将此问题添加到池中,以防有人遇到同样的问题

我无法在Windows 7 上更新Visual Studio 2017 并收到以下错误:

无法将文件安装到目标位置。错误:文件夹 'c:\Program Files (x86)\Microsoft Visual Studio\Installer' 或文件 其中被另一个程序锁定。关闭任何应用程序 可能正在使用它,然后再试一次。

【问题讨论】:

对于最简单的解决方案 - 不要忘记尝试重新启动计算机,这可能会解决它。无论如何都为我工作 【参考方案1】:

我最初找到的解决方案是重新安装 Visual Studio,但觉得可能没有必要。我找到的解决方案是关闭 Visual Studio,转到“c:\Program Files (x86)\Microsoft Visual Studio\Installer”,将文件夹“Installer”重命名为其他名称,然后从重命名的文件夹中运行 vs_installer.exe。

希望对某人有所帮助。

【讨论】:

这对我有用,谢谢。从 VS2017 15.7.1 更新到 15.7.2 时,我第一次遇到这个问题。执行此操作后,您应该将 Installer 文件夹重命名回其原始名称,还是可以将其保留为新名称? 这是不久前的事,但我认为它重新创建了文件夹和内容。从那以后,它一直对我有用,而我不必移动内容或将其重命名。我想我什至在使用后删除了重命名的文件夹。 今天不得不再次这样做(vs2019,更新到版本 16.2.3)。谢谢! 我在尝试安装 msvs 2019 16.3.0 更新时遇到了同样的问题。我无法重命名Installer 文件夹:The action can't be completed because the folder or a file in it is open in another program。使用Resource monitor我还没有找到任何使用这个文件夹中的东西的进程 差不多 4 年后同样的问题。微软干得好。至少他们可以在错误消息中说明问题所在。【参考方案2】:

我最近在尝试在 Windows 10 上更新 Visual Studio 2017 安装程序时遇到了同样的错误。就我而言,c:\Program Files (x86)\Microsoft Visual Studio\Installer 目录由于后台运行的病毒/恶意软件扫描软件而被锁定。停止之后,安装 VS 2017 安装程序就没有问题了。

最初我对问题根源的误解是,锁定该目录中文件的进程是 Process Explorer 中的特殊 System 进程,所以我一开始走错了兔子洞。

【讨论】:

Malwarebytes 是我的罪魁祸首。 这对我也有用。我尝试将 c:\Program Files (x86)\Microsoft Visual Studio 添加到恶意软件字节中的排除文件夹中,但没有成功。我不得不禁用仪表板中的所有保护选项,之后它就像一个魅力。 排除 c:\Program Files (x86)\Microsoft Visual Studio\Installer 文件夹对我有用:VS2017 15.7.5 更新,Windows 10/64bit 2016 LTSB,Malwarebytes 3.5.1.2522 在禁用像 BNebula 描述的 Malwarebytes 后,我还必须“以管理员身份”运行 Visual Studio 及其更新安装程序。排除是不够的。也许也需要排除ProgramData\Microsoft\VisualStudio\Packages 与恶意软件分析工具相同。【参考方案3】:

如果您有恶意软件字节,那么您可以添加到允许列表 C:\Program Files(x86)\Microsoft Visual Studio,它会起作用。

【讨论】:

谢谢!!我最近安装了 MalwareBytes Premium,这就是我的原因。我在其他地方找到了仅将 Installer 文件夹添加到排除项的建议,但它显然省略了安装文件的目标,所以这非常棒!【参考方案4】:

我通过单独下载安装程序,重新启动并直接运行安装程序来使其工作。

VS Installer Downloads

【讨论】:

【参考方案5】:

TL;DR

停止任务计划程序服务并确保C:\Program Files (x86)\Microsoft Visual Studio\Installer dir 没有打开句柄

详情

我刚刚遇到了同样的问题,甚至重新启动也没有帮助。所以,我挖了!

Process Hacker 透露System 进程锁定了以下文件:

C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service\VSIXConfigurationUpdater.exe.

如果我使用 Process Hacker 关闭句柄,它会立即再次重新打开:/

我想检查一下任务计划程序(因为它在svchost 中以SYSTEM 运行),果然那里有运行VSIXConfigurationUpdater.exe 的任务,即使它们当时并没有真正运行。

所以我停止了 Task Scheduler 服务,然后使用 Process Hacker 关闭了 VSIXConfigurationUpdater.exe 上的句柄 - 这一次它没有返回!在确保C:\Program Files (x86)\Microsoft Visual Studio\Installer 中的任何内容都没有打开的句柄后,Visual Studio 安装程序能够更新。

【讨论】:

【参考方案6】:

我发现我的罪魁祸首是 Malwarebytes 禁用了这个并且一切正常。希望这对某人有所帮助。

【讨论】:

【参考方案7】:

我尝试执行@Janspeed 指定的步骤,但资源目录中有几个语言文件夹已损坏/锁定,因此仅重命名是行不通的。我设法将大部分文件/目录结构(减去损坏的目录)复制到一个新目录,但必须在重新启动时运行chkdsk /f,然后才能释放和删除这些文件夹。一旦我解决了这个问题,@Janspeed 的步骤就可以正常工作,包括删除我已将所有内容复制到的新目录。

【讨论】:

【参考方案8】:

我今天遇到了这个问题,原来是 MalwareBytes Endpoint Protection 阻止了更新,这很烦人。

幸运的是,我是管理员和开发人员,因此我能够将我的笔记本电脑从防病毒软件中删除以启用更新,然后重新添加它,但在具有繁文缛节的大型企业环境中,这根本不是很好。

【讨论】:

【参考方案9】:

我在更新 Visual Studio 2017 和 2019 时遇到了同样的问题。我尝试以管理员身份直接打开 Visual Studio 安装程序,然后它按预期工作。

【讨论】:

【参考方案10】:

在 VS2019 IDE 中使用“检查更新”菜单项时更新一直失败。当我从 Windows 开始栏中运行 Visual Studio 安装程序时,它立即提示下载最新版本的安装程序。完成后,它会提供更新 VS2019。

【讨论】:

以上是关于无法更新 Visual Studio 安装程序的主要内容,如果未能解决你的问题,请参考以下文章

(Visual Studio 2015) 无法创建 Win32 C++ 应用程序

“无法启动 Visual Studio”错误(在 Mac 上)

无法在 Visual Studio 2015 中安装任何包

如图,本人使用Windows8.1,最近要安装visual studio,提示要安装KB2919355,下载后无法安装求解

安装visual studio2013时显示 无法找到包源

Visual Studio 调试无法启动调试,拒绝访问