0

WiXで作成されたMSIファイルがあります。これは、実行可能ファイルをインストールし、MSI ファイルの近くに配置された構成ファイルをコピーします。インストール前に構成ファイルを変更でき、変更されたバージョンがインストールフォルダーにコピーされます。

<Component Id="ProductComponent" 
           Guid="714DCBE1-F792-401E-9DDC-67BC1853BE14">
    ....
    <File Source="Chiffa.exe.config" 
          Compressed='no'/>
</Component>

それが私が望んでいることであり、私は満足していますが、満足していません。なぜなら、この MSI ファイルと一緒に他のパッケージをインストールする必要があるからです。そこで、WiX でバンドル プロジェクトを作成し、素敵な MSI パッケージをすべてそのチェーンに配置しました。

<Chain>
    .....
    <MsiPackage Compressed="yes"
                SourceFile="$(var.ChiffaSetup.TargetPath)"
                Vital="yes"
                Visible="no">
        <Payload SourceFile="Chiffa.exe.config"
                 Compressed="no"/>
    </MsiPackage>
</Chain>

1 つの小さなことを除いて、すべてが正常に動作します。バンドルが MSI パッケージの一貫性をチェックし、「ハッシュ コード」の問題で失敗するため、構成ファイルを変更できません。

4

2 に答える 2

0

「ハッシュ コード」は、不完全または破損したダウンロードを検出するため、非常に重要な機能です。構成ファイルに任意の変更が必要な場合は、変更ごとにバンドルを再構築するだけです。

XmlConfigただし、変更のアルゴリズムを定義できる場合は、Setup プロジェクトの要素と共にインストールされるか、独自のカスタム アクションを使用して、構成ファイルを変更できます。変更のデータは、アルゴリズム内で完全に定義することも、さまざまなメカニズムを介して渡すこともできます。UI またはコマンドライン引数を介して設定された Windows インストーラ プロパティ。コマンドライン引数を介して設定すると、カスタム BootstrapperApplication UI またはそのコマンドラインからそれらを取得できるバンドルから渡すことができます。

于 2013-07-05T02:49:51.440 に答える