Python PTV不';无法检测已安装的VS2010

Python PTV不';无法检测已安装的VS2010,python,windows-installer,ptvs,visual-studio-2010,Python,Windows Installer,Ptvs,Visual Studio 2010,我想为Visual Studio 10安装PTV。每次我运行名为“PTVS 2.0 VS 2010”的msi包时,都会显示一个错误,即我必须先安装VS2010,但我已经安装了VS2010 express 我在internet上检查了一些解决方案,但它对我不起作用。例如,我在注册表中添加了InstallDir,但仍然出现错误。您可以使用快速版安装PTV(我已经安装了)。看见请参阅“安装VS&PTVS”一节中的第2点。为了使用VS的快速版安装PTV,您必须安装“PTV集成”软件包。您没有开发PTV

我想为Visual Studio 10安装PTV。每次我运行名为“PTVS 2.0 VS 2010”的msi包时,都会显示一个错误,即我必须先安装VS2010,但我已经安装了VS2010 express


我在internet上检查了一些解决方案,但它对我不起作用。例如,我在注册表中添加了InstallDir,但仍然出现错误。

您可以使用快速版安装PTV(我已经安装了)。看见请参阅“安装VS&PTVS”一节中的第2点。为了使用VS的快速版安装PTV,您必须安装“PTV集成”软件包。

您没有开发PTV MSI,因此这不是开发问题,而是用户问题。您应该向项目提交一个bug,并让他们查看它

也就是说,我反编译了MSI,它正在查找注册表值:

VSINSTALLPATH=RegLocator(HKLM\Software\Microsoft\VisualStudio\10.0\@InstallDir)

它在32位而不是64位配置单元中查找它,因此如果您正在HKLM\SOFTWARE\Wow6232Node\Microsoft下进行64位操作系统检查


稍后,如果属性没有值,则在启动条件中使用属性VSINSTALLPATH来阻止安装。

扩展不适用于Visual Studio Express。对于这些类型的扩展,您需要使用最不专业或更高的版本。它不是“使用快速版的PTV”-而是使用VisualStudioShell的PTV。Shell与Express是分开的,也有别于Express。但是,它也是免费的,因此最终的结果基本相同,除非您关心Express支持的其他语言,但Shell不支持(尽管在这种情况下,您仍然可以让Express与Shell并排运行)。这不是问题,它会在32位或64位操作系统上找到VS。问题是Express是一个独立的SKU,将使用完全不同的注册表项。我们不支持,因为Express不支持扩展。那么您应该在启动条件中特别声明。您只需简单地说“必须安装Visual Studio 2010”。没有任何限制,这会让用户感到困惑,因为从他们的角度来看,这是正确的。我已将installdir添加到Registry中的所有VS 10文件夹中,包括64位和32位。是的,这一点很好。实际上,我们为VS2013展示了一条更为详细的消息,它指导您使用集成Shell(受支持),但它仍然没有提到express。我将提交一个bug。顺便说一句,安装程序作为产品的一部分也是开源的-这里是检查的地方: