そこで、いくつかの Microsoft Sql サーバー dll を使用するコードを作成しました。これらの dll は、いくつかの C++ ライブラリに依存しています。最初はクライアントのマシンでコードが機能していませんでしたが、C++ 再頒布可能パッケージをインストールすると正常に機能しました。
私の質問は、これらの依存関係を自分のコードと一緒にインストールするにはどうすればよいかということです。ソフトウェアのインストールに WIX を使用しています。
ありがとう、アリ
そこで、いくつかの Microsoft Sql サーバー dll を使用するコードを作成しました。これらの dll は、いくつかの C++ ライブラリに依存しています。最初はクライアントのマシンでコードが機能していませんでしたが、C++ 再頒布可能パッケージをインストールすると正常に機能しました。
私の質問は、これらの依存関係を自分のコードと一緒にインストールするにはどうすればよいかということです。ソフトウェアのインストールに WIX を使用しています。
ありがとう、アリ
これを行う:
まず、C++ 再頒布可能パッケージ (MSM ファイル) のマージ モジュールを取得します。通常、これらは Merge Modules フォルダー ( c:\ProgramFiles\Common Files\Merge Modules
) 内にあります (win x64 C:\Program Files (x86)\Common Files\Merge Modules の場合)。それらの名前は、アーキテクチャ (32/64 ビット) と VC++ バージョンに基づいています。
ターゲット ディレクトリのタグに、次の属性を持つノードを<DirectoryRef>
追加します。<Merge>
<DirectoryRef>
<Merge
Id="MSVCRedist" DiskId="1" Language="0"
SourceFile="Microsoft_VC90_CRT_x86.msm"/>
</DirectoryRef>
次を追加し<Feature>
ます。
<Feature
Id="VCRedist" AllowAdvertise="no" Display="hidden" Level="1"
Title="Visual C++ 9.0 Runtime"/>
定義内の<MergeRef>
前に追加された<Merge>
セクションへの参照を追加します。<Feature>
<MergeRef Id="MSVCRedist"/>
例はhere から抽出されています。