インストールの一部としてvcredist_x86.exe(バージョン9.0.xx)を実行するインストーラーを作成しました。ただし、インストールする前に、ユーザーのシステムに既に存在するかどうかを確認したいと思います。基本的に、DLLが存在することだけでなく、それらが正しいバージョン番号を持っていることを検出する必要があります。それを行うための信頼できる方法はありますか?
私はNSISを使用していますが、どんな解決策でも歓迎します。
インストールの一部としてvcredist_x86.exe(バージョン9.0.xx)を実行するインストーラーを作成しました。ただし、インストールする前に、ユーザーのシステムに既に存在するかどうかを確認したいと思います。基本的に、DLLが存在することだけでなく、それらが正しいバージョン番号を持っていることを検出する必要があります。それを行うための信頼できる方法はありますか?
私はNSISを使用していますが、どんな解決策でも歓迎します。
これを試して:
!include "x64.nsh" セクション var / GLOBAL hasCRT !CRTCHECKDLLmsvcr80.dllを定義します !define CRTCHECKNAME'Microsoft.VC80.CRT、version = "8.0.50727.6195"、type = "win32"、processorArchitecture = "x86"、publicKeyToken = "1fc8b3b9a1e18e3b"' '${CRTCHECKDLL}'をプッシュします '${CRTCHECKNAME}'をプッシュします WinSxS_HasAssemblyを呼び出す pop $ hasCRT DetailPrint $ {CRTCHECKDLL} = $ hasCRT SectionEnd
それを行う簡単な方法はないので、パッケージがすでにインストールされているかどうかに関係なく、常にパッケージをインストールすることになりました。とにかく小さなインストールなので、大きな違いはありません。