检测Visual Studio的存在(任何版本,任何版本)

时间:2012-06-08 09:21:42

标签: visual-studio runtime nsis

我创建了一个setup.exe,它可以是distributable.it对visual studio的可分发文件有一定的依赖性。因此我想安装以下2个依赖项(如NSIS代码中所选,如果不存在那么它将会安装),但如果有任何版本/版本的Visual Studio,那么我不需要安装这些依赖项。

所以我想知道如何以编程方式检查系统上是否存在任何版本/版本的visual studio,如果不是,我将使用以下NSIS脚本自行安装我的依赖项。 有人可以给我一些想法,检查系统中存在的Visual Studio的任何版本/版本或不使用NSIS .......

Section "VS05 Redist (required)" MVR1
  ReadRegStr $STRING_REDIST HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{837B34E3-7C30-493C-8F6A-2B0F04E2912C}" "UninstallString"
  StrCmp $STRING_REDIST "MsiExec.exe /X{837B34E3-7C30-493C-8F6A-2B0F04E2912C}" +3 0
  File "vcredist_x86ATL.exe"
  ExecWait "$INSTDIR\vcredist_x86ATL.exe"
SectionEnd

Section "VS08 Redist (required)" MVR2
 ReadRegStr $STRING_REDIST HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}" "UninstallString"
 StrCmp $STRING_REDIST "MsiExec.exe /X{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}" +3 0
 File "vcredist_x86VS2008.exe"
 ExecWait "$INSTDIR\vcredist_x86VS2008.exe"
SectionEnd

上面的代码只检查VS5的分配和VS08分布,而我想查找是否存在任何版本的VS ....

1 个答案:

答案 0 :(得分:2)

您可以在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio中测试是否存在任何子键。如果有,它会给你版本号。