2012-06-08 49 views
1

我已经创建了一个setup.exe,它可以distributable.it有一些依赖于Visual Studio的可分发文件。因此,我想安装以下2依赖项(如在NSIS代码中检查,如果没有,那么它将被安装),但是如果任何版本的visual studio在那里,那么我不需要安装这些依赖项。检测到存在的Visual Studio(任何版本,任何版本)

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

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 

上面的代码将只检查forVS05 diistribution VS08分配,而我想查找是否有任何版本的VS不存在....

回答

2

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

相关问题