4

そこで、いくつかの Microsoft Sql サーバー dll を使用するコードを作成しました。これらの dll は、いくつかの C++ ライブラリに依存しています。最初はクライアントのマシンでコードが機能していませんでしたが、C++ 再頒布可能パッケージをインストールすると正常に機能しました。

私の質問は、これらの依存関係を自分のコードと一緒にインストールするにはどうすればよいかということです。ソフトウェアのインストールに WIX を使用しています。

ありがとう、アリ

4

1 に答える 1

6

これを行う:

まず、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 から抽出されています。

于 2012-06-29T13:10:39.873 に答える