3

Msiパッケージをブートストラッパーに含めることはできますが、外部ファイルを含めることはできませんか?

したがって、私のmsiインストーラーにはファイルがあります。

<Component Directory="INSTALLDIR">
    <File Id="DatabaseBackup"
          Name="Database.bak"
          Source="Database.bak"
          Compressed="no" />
  </Component>

出力:

  • Installer.msi
  • Database.bak

ここで、書き込みチェーンをmsiパッケージを含めるように設定した場合:

<MsiPackage SourceFile="$(var.Installer.TargetPath)" />

「Database.bak」ファイルも結果のexeに圧縮されます。msiを圧縮することはできますが、.bakファイルを圧縮することはできませんか?

誰かが私よりもこの質問にうまく答えることができない場合、私はこれを行う必要はまったくありません!:)

4

1 に答える 1

4

この目的でPayload要素を使用しました...あなたの例では、MsiPackage要素を次のように変更します。

<MsiPackage SourceFile="$(var.Installer.TargetPath)" >
  <Payload Compressed="no" SourceFile="{path_to_bak_file}\Database.bak"  />
</MsiPackage>

次に、MSIはファイルを取得し、期待どおりに使用します。

これを条件付きまたは柔軟にする方法が見つかりませんでした。私の場合、これは重要ではない構成ファイルですが、ファイルが見つからない場合、セットアップは失敗します(最初にファイルを開くダイアログを開いてそのファイルを探します)。 -もちろん、これは私が作成したMSIの詳細によって異なります。

お役に立てれば

于 2012-08-21T02:50:03.767 に答える