我创建了一个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 ....
答案 0 :(得分:2)
您可以在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio
中测试是否存在任何子键。如果有,它会给你版本号。