![](https://i.imgur.com/95SrP.png)
![](https://i.imgur.com/aBrY1.png)
我也遇到了同样的问题,但是它并没有强制我安装到"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)。
要找到该键,我执行了以下操作:
使用筛选器启动Processmonitor
图像路径以vs_premium.exe结尾
启动vs_premium.exe
查找并找到了
条件“VS_Install_path_KeyExists”计算为false。(我猜在受影响的系统上它将计算为true。我在干净的Windows安装上尝试过这个)
它的上一行说
找不到注册表键。关键= 'SOFTWARE\Microsoft\VisualStudio\SxS\VS7'
在Processmonitor中搜索
Microsoft\VisualStudio\SxS\VS7
向下滚动几行,ProcessMonitor会显示需要删除的键
我有一个更简单的方法:
1 - 在命令行中使用 /uninstall /force 开关运行安装程序,例如:
c:\vs_professional_ENU.exe /uninstall /force
2 - 正常重新运行安装程序。
我在Windows 10下使用VS2015进行了此操作。参考链接:链接
例如,我的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中创建联接链接的页面链接:http://www.howtogeek.com/howto/windows-vista/using-symlinks-in-windows-vista/
我没有足够的声望来评论上面的帖子。虽然他在这些命令开关的语法方面是正确的,但是该程序存在错误,无法使用选择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“在您指定的目录中安装所有可重新定位包。”这可能意味着,在您的根驱动器上它可以安装所有可安装的内容,但很难确定,而且我的SSD上的空间有限。
在我尝试Hard Junction之前,我也可以尝试上面的方法,看看会发生什么,如果需要,然后卸载它。将发布结果
/p CustomInstallPath="[your_path]"
例如:
vs_ultimate.exe /p CustomInstallPath="C:\MyDirectory"
我之前安装了VS 2012测试控制器。卸载它后,我才能更改安装路径。
我不得不将创建的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驱动器的价值在于无需记住哪些文件夹被链接,哪些可能需要恢复以还原dev环境。
考虑将其视为一种环境,用于强制性的非自主绝对可审计保证,以实现可重复安全构建的要求。为了达到这个核心目标,它必须仅在实际需要时才可用,并且在不需要时必须得到保护。对于我来说,最终的Visual Studio 2012想要安装到与(未安装的)beta相同的路径中。我删除了HKLM中大部分与设置目录完全匹配(以\
结尾,例如C:\VS11Beta\
)的内容,然后安装程序让我重新选择。
可能不是OP的解决方案(M:\Program Files
听起来太通用了,不能删除),但对于其他遇到此问题的人可能有帮助。
查看您安装的程序,看是否已经安装了 Visual Studio 实例,如果是,请删除它并重新运行设置。
CACBC777BA2175A47A35A4D7324B483D
。 - Quolonel Questions