38

我已经使用 Windows 安装程序卸载了 VS11,并删除了几乎所有我能找到的与之相关的注册表项,但是当我尝试重新安装它时它仍然会弹出:

而且我无法单击“...”或编辑路径。右键单击也无济于事。

我必须销毁什么来更改安装目录?


仍然在官方发布中发生:

4

10 回答 10

50

我遇到了同样的问题,但不是强迫我安装到“c:\program Files”,而是强迫我安装到我用于 Visual Studio RC 的目录中。使用 Process Monitor 和安装程序的日志文件后,我能够找到需要删除的注册表项。

钥匙位于

HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-21-776561741-789336058-725345543-318838\Components\31F687BD8A467D54C830E018D99F7F3B

对于其他系统,SID 很可能会有所不同,但您可能能够找到最后一个字符串 (31F687BD8A467D54C830E018D99F7F3B)


为了找到钥匙,我做了以下事情:

  1. 从 Sysinternals 下载 ProcessMonitor
  2. 使用过滤器启动 Processmonitor

    图片路径以 vs_premium.exe 结尾

  3. 启动 vs_premium.exe

  4. 关闭设置
  5. 等到 Processmonitor 不再获取事件
  6. 从 %TEMP% 打开最新的 dd_vs_premium_.log 文件
  7. 搜索了一些东西并找到了

    条件“VS_Install_path_KeyExists”评估为假。(我想它会在受影响的系统上评估为真。我在干净的 Windows 安装上试过这个)

  8. 它上面的一行说

    未找到注册表项。键 = 'SOFTWARE\Microsoft\VisualStudio\SxS\VS7'

  9. 搜索

    微软\VisualStudio\SxS\VS7

    在进程监视器中

  10. ProcessMonitor 向下几行显示了我必须删除的密钥

于 2012-08-28T15:11:24.903 回答
7

一种更简单的方法对我有用:

1 - 从命令行运行安装程序,使用 /uninstall /force 开关,如下所示:

c:\vs_professional_ENU.exe /uninstall /force

2 - 重新正常运行安装程序。

我在 Windows 10 下使用 VS2015 完成了此操作。 参考链接。

于 2016-02-17T18:26:16.427 回答
6

我发现的唯一解决方案是在 Windows 7 上创建指向您想要安装 Visual Studio 的目录的硬连接链接。

例如,我的 SSD 驱动器不是我的引导驱动器,它的驱动器号为 B:。

我运行以下命令行

mklink /J "C:\Program Files (x86)\Microsoft Visual Studio 11.0" "B:\Program Files (x86)\Microsoft Visual Studio 11.0"

对于安装程序和 Windows,它认为它已将其安装到 C: 驱动器上的 Program Files x86 目录中,而实际上它已将其安装到 B: 驱动器上的 Program Files x86 文件夹中。

这是有关在 Windows Vista 和 7 中创建 Junction 链接的页面链接。http://www.howtogeek.com/howto/windows-vista/using-symlinks-in-windows-vista/

于 2012-05-04T19:54:51.130 回答
4

我没有代表对上面的帖子发表评论。尽管他在这些命令开关的语法中是正确的,但程序存在错误,它不适用于选择 CustomInstallPath。事实上,对我来说,它只是决定在进程列表中打开大约 50 次以上的 vs_ultimate.exe 迭代......

我会尝试上面提到的 Hard Junction,因为我相信它会起作用。

作为旁注,如果有人感兴趣,您可以使用允许您通过运行 vs_ultimate.exe /Layout X:\somefolder\ 提前获取安装的开关

我昨晚这样做了,希望我的安装会很快,因为我有所有的信息,但是我认为为了强制它使用离线版本,你必须运行 vs_ultimate.exe /noweb。

此页面指的是所有开关: http: //msdn.microsoft.com/en-us/library/e2h7fzkw (v=vs.110).aspx

上面的页面指出: /p CustomInstallPath “在您指定的目录中安装所有可重新定位的包。” Thay 可能意味着默默地,无论它能够从根驱动器安装什么,它都会,但很难确定,我的 SSD 空间有限。

在我尝试硬连接之前,我也可以尝试上面的方法,看看会发生什么,然后在需要时将其卸载。将发布结果

于 2012-06-09T23:51:41.020 回答
3

尝试使用以下选项启动安装程序:

/p CustomInstallPath="[your_path]"

例如:

vs_ultimate.exe /p CustomInstallPath="C:\MyDirectory"

要查看所有选项,请使用开关/?

于 2012-05-04T19:19:50.433 回答
1

我之前安装了 VS 2012 测试控制器。卸载它允许我更改安装路径。

于 2013-05-02T03:30:29.550 回答
1

如何更改 Visual Studio 2012 安装目录?我必须销毁什么来更改安装目录?

答:您可以更改物理目录,而无需“破坏或更改”安装目录。这是另一种“更聪明地思考而不是更努力”的解决方案建议。

以下是您需要继续使用逻辑 M:\Program Files 目录并解决文件存储物理位置问题所需的具体材料详细信息。

它还可以很好地服务于社区的其他人,以便在使用 Beta 版本时进行更清洁、更可重复的安装、更少的努力和风险。它的风险较小,因为它封装了 beta 安装中的每个文件。想要从 beta 到 RC,没问题,只是不要安装 beta 驱动器,使用脱壳注册表清洁器,每次都将干净的驱动器重新安装到新的驱动器。

该过程使用可以根据需要登录和注销/备份的 PGP 磁盘。

最初,似乎可以只创建两个驱动器。不是这样。- 驱动器 #1 安装为 F:\ for f:\Program Files (x86)\Microsoft Visual Studio 11.0 这是我告诉 Visual Studio 安装程序安装文件的地方。它确实可以作为 2.7 Gigs 文件的可挂载容器。

  • 驱动器 #2 作为文件夹安装在“C:\Program Files (x86)\”“Microsoft Visual Studio 11.0”上 安装文件夹的预期目的是收集剩余的 5.5 Gigs 文件。

实际创建的 33 个文件夹列表我必须移动到其他 PGP 文件夹。

这是您可以在安装程序将文件部署到它们之前创建的文件夹的包含列表。

C:\Program Files\Microsoft SQL Server
C:\Program Files\Microsoft SQL Server Compact Edition
C:\Program Files\Application Verifier
C:\Program Files\MSBuild
C:\Program Files\Microsoft
C:\Program Files\IIS Express
C:\Program Files\IIS
C:\Program Files\Microsoft Visual Studio 11.0

C:\Program Files (x86)\IIS
C:\Program Files (x86)\IIS Express

C:\Program Files (x86)\Microsoft ASP.NET
C:\Program Files (x86)\Microsoft Help Viewer
C:\Program Files (x86)\Microsoft SDKs
C:\Program Files (x86)\Microsoft SQL Server
C:\Program Files (x86)\Microsoft SQL Server Compact Edition
C:\Program Files (x86)\Microsoft WCF Data Services
C:\Program Files (x86)\Microsoft Web Tools
C:\Program Files (x86)\MSBuild
C:\Program Files (x86)\NuGet
C:\Program Files (x86)\Windows Kits

C:\Program Files (x86)\Common Files\Merge Modules
C:\Program Files (x86)\Common Files\Microsoft
C:\Program Files (x86)\Common Files\microsoft shared\DevServer
C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8
C:\Program Files (x86)\Common Files\microsoft shared\MSEnv
C:\Program Files (x86)\Common Files\microsoft shared\MSI Tools
C:\Program Files (x86)\Common Files\microsoft shared\SQL Debugging
C:\Program Files (x86)\Common Files\microsoft shared\SQL Server Developer Tools
C:\Program Files (x86)\Common Files\microsoft shared\TextTemplating
C:\Program Files (x86)\Common Files\microsoft shared\Visual Database Tools
C:\Program Files (x86)\Common Files\microsoft shared\VS7Debug
C:\Program Files (x86)\Common Files\microsoft shared\WF
C:\Program Files (x86)\Common Files\microsoft shared\Windows Simulator

这是完美的预防;- 补丁管理器和补丁管理系统在无意和无监督的情况下,在故意无知的幸福中未经审计,违反了良好促进生产变更控制最佳实践的前提

  • 编写代码的开发人员大多是随机工作的,并且真的不知道最终产品中的内容。

  • 黑客利用构建环境。

可以使用 True Crypt 或 PGP 桌面。只是不是整个磁盘加密,必须能够挂载和卸载资源。

我很欣赏硬连接方法,但除非您安全地弹出和关闭驱动器,否则它提供的过程合规性很小,与安全 PGP 卸载/安装相比,既不安全也不可靠。开发人员只需打开驱动器电源并进行更改。

关于备份和恢复的努力程度,与硬盘连接的驱动器相比,备份 PGP 驱动器的工作量大致相同。但是不必记住哪些文件夹已连接,可能需要恢复以恢复开发环境的价值有利于包含所有需要的文件夹的较少数量的 .PGD 驱动器(即为您记住作为其功能的一部分)

将其视为一个环境,当要求是强制性的、非自由裁量的、绝对可审计的保证以实现可重现的安全构建时。为了实现该核心目标,它必须仅在其实际“需要”时可用,并且必须在不需要时加以保护。

于 2013-10-14T02:20:39.223 回答
1

对我来说,最终的 Visual Studio 2012 想要安装到与(未安装的)测试版相同的路径中。我删除了 HKLM 中与设置目录完全匹配的大部分内容(以\eg结尾C:\VS11Beta\),然后设置让我再次选择。

可能不是 OP 的解决方案(M:\Program Files听起来太笼统而无法删除),但也许对于其他有这个问题的人来说。

于 2012-08-29T13:55:02.383 回答
0

查看已安装的程序并查看是否已安装 Visual Studio 的实例,如果已安装,请将其删除并重新运行设置。

于 2014-08-05T09:23:30.417 回答
0

对于仍在寻找解决方案的这个人,我尝试并从这个问题中学到的是,虽然“正常”(从控制面板)卸载并不是 VS 的每个签名都没有被删除。所以我们从命令行强制卸载以删除所有 VS 足迹。我发现堆栈溢出中的以下答案对我非常有用。

在命令行(管理员)中使用参数运行安装程序:

vs_community_ENU.exe /uninstall /force

然后:

运行 vs_community_ENU.exe(或专业/企业)。

如何在不同的驱动器上安装 Visual Studio 2015

于 2019-03-09T19:48:21.337 回答