Visual Studio 2012 安装失败:程序兼容性模式已开启

72

我正试图安装Visual Studio 2012 Express for Windows Desktop,但每次运行安装程序都会出现以下错误:

"Windows程序兼容性模式已开启,请关闭后再试。"

我检查了文件属性,发现兼容性模式已经关闭。我在Google上搜索到可以将文件名更改为 "vs_premium.exe" 或 "vs_ultimate.exe",或者更改注册表键值来解决问题,但更改文件名没有效果,也没有要删除的注册表键值。我已经多次重启机器,但仍无法解决。

对我而言,更换为Visual Studio 2013不是一个选项,因为我的工作电脑上安装了 Visual Studio 2012,他们将不会升级到2013,并且我需要在两台计算机上都处理我的项目。

我正在使用一台运行Windows 8.1的HP Pavilion g6计算机。我已经安装了Visual Studio 2013 for Windows Desktop,Web和Windows,以及Professional的30天试用版本(最近已过期)。我还安装了Visual Studio 2012 for Windows Phone,但尚未使用。

16个回答

132

之前的帖子已经正确地指出了兼容性模式似乎完全基于文件名称。有一种简单的方法可以确定Windows期望的确切名称:

右键单击文件,选择属性并导航到详细信息选项卡。应该有一个标记为“原始文件名”的条目。只需相应地重命名文件,它就可以愉快地运行。

截图:


1
这只是修复了安装VS2015社区版时出现的相同问题...而我并没有更改文件名,原始名称类似于bootstr.exe,甚至与从microsoft.com发送的“vs_community_ENU.exe”不太相似。 - Alejandro B.
对我没用(Microsoft Windows [版本10.0.10586]) - Alex Erygin
一旦您按照上述更改名称并运行.exe文件,可能会出现一个文件名错误的弹出窗口--选择“忽略”,安装应该可以正常进行。 - Grant Shannon
这是微软的一个有趣操作,而且它还能正常工作。测试是在VS2013安装中完成的。 - Júlio César Schincariol Filho

94

2
我知道将VS2012重命名为wdexpress_full_2012.exe而不是wdexpress_full.exe。此外,我说过第一次尝试后我试图将其重命名为vs_premium.exe和vs_ultimate.exe。无论如何,我找到了一个解决方法。 - einsteinsci
1
似乎任何文件名的变体都会导致应用程序被标记为在兼容模式下运行。例如,win1express_full.exe也无法工作,但win8express_full.exe可以正常工作。这是一个非常晦涩的问题。 - Will B.
所以那么容易吗...同样的问题也会发生在VS工具中。 - Sebastian 506563
请注意,我发现查看兼容性检查的预期名称最快的方法是查看UAC提示使用的可执行文件名称来描述程序。 - Tetsujin no Oni
同样适用于从MSDN下载的vs_teamExplorer.exe - Alan
1
连接链接现在已经失效了,很遗憾。 - jrh

25

我只需要重命名设置名称。我将设置文件重命名为vs_ultimate,然后它就可以工作了。


1
如果你已经进行了多次下载,这也适用于Visual Studio SDK。即将vssdk_full(1).exe重命名为vssdk_full.exe,它对我来说运行良好。我的情况是Visual Studio 2012 SDK。 - Dave Jellison
难以置信,只需要将setup.exe重命名为vs_ultimate.exe,不需要做其他任何操作。 - saber tabatabaee yazdi

17
如果您已经安装了它,请先提取内容再安装。这对我有效。
在Windows 10上安装vs_ultimate时遇到了同样的问题,它告诉我要关闭兼容模式,但我不知道该怎么做。在尝试了上面所有的解决方法都无效后,我能够自己解决了。
我挂载了.iso文件进行安装,这给我带来了问题,但是后来当我将其提取到桌面文件夹中时,它成功安装了。

6

我找不到解决方案,但我找到了一个变通方法。我下载了离线安装程序(ISO),然后运行它。这不是一个解决方案,但在这种情况下应该可以工作。


我刚刚下载了离线版本。 - Vlad

5
我遇到了这个问题,我的解决方法是将文件重新命名为原来的名称。我下载的文件名为 "vs2012sdk_full.exe",但原始名称为 "vssdk_full.exe"。当我以 "vs2012sdk_full.exe" 运行它时,出现了兼容性模式错误。一旦我将它重新命名为原始的 "vssdk_full.exe",它就可以正常运行。

我认为你的答案只是这里大多数点赞最高的答案的一个例子 ;). - shA.t
尝试安装VS 2013 Pro的SDK,下载了一个文件,文件名很长。将其重命名为“vssdk_full.exe”,一切都很顺利。 - Kevin B Burns

4
  1. 打开运行 (Win+R) 并输入 Services.msc
    找到“程序兼容性助手服务”,然后禁用该服务并停止它。

  2. 打开运行 (Win+R) 并输入 Gpedit.msc
    用户配置-->管理模板-->Windows 组件-->应用程序兼容性
    勾选启用按钮,然后重新启动系统。


3

以管理员身份运行。对于我的2013安装程序,我将其重命名为vs_professional.exe。

这样就可以了。


1
挂载ISO文件并从磁盘运行设置。

1
我发现了系统上的问题,但需要绕个弯路。检查安装程序的属性。因为我的是从另一个系统下载的,所以被阻止了。点击“取消阻止”即可。如果找不到安装程序的位置,请再次运行它。当它失败时,让它继续运行。打开任务管理器,在安装程序上右键单击,然后选择“打开文件位置”。这将带您进入包含您安装程序的文件夹。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接