1

私は配布可能なsetup.exeを作成しました.それはビジュアルスタジオの配布可能なファイルに依存しています.そのため、次の2つの依存関係をインストールしたいです(NSISコードでチェックされているように、存在しない場合はインストールされます) 、しかし、ビジュアルスタジオのエディション/バージョンがあれば、これらの依存関係をインストールする必要はありません。

そのため、システムに 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

上記のコードは、VS05ディストリビューションとVS08ディストリビューションのみをチェックしますが、VSのバージョンが存在するかどうかを確認したい....

4

1 に答える 1

2

のサブキーの存在をテストできますHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio。ある場合は、バージョン番号が表示されます。

于 2012-06-08T09:52:41.070 に答える