1

WIX ファイルで定義されているすべてのバイナリ ファイル (.dll および .exe) は、Product要素からバージョンと言語を継承しているようです。他のすべてのファイル (.ps1、.txt など) はバージョンを継承せず、アップグレード時に置き換えられません。アップグレード時に上書きできるように、非バイナリ ファイルをバージョン管理できるようにする必要があります。ファイル要素にDefaultVersionを設定すると、すべてが正常に機能し、アップグレード時にファイルが置き換えられます。


<Component Id="Eula.txt" Guid="14285C13-A70C-474B-B2AE-06F68D4E170B">
   <File Id="Eula.txt" DiskId="1" Name="Eula.txt" Source="$(var.NeutralBinRoot)\" DefaultVersion="$(var.MsiProductVersion)"/>
</Component>

ただし、コンパイル中に次の警告が表示されます。

警告 LGHT1103 : バージョンのないファイル 'Eula.txt' に DefaultVersion '1.1.1' が使用されました。
このファイルのエントリは、MsiFileHash テーブルには配置されません。
バージョン管理されていないファイルの場合、実際のファイルとは異なるバージョンを指定すると、修復中またはパッチ適用中に予期しないバージョン管理動作が発生する可能性があります。
リソースをバージョン管理して、この警告を解消してください。

非バイナリ リソースをバージョン管理する適切な方法は何ですか?

4

1 に答える 1

1

ドキュメントによると、CompanionFile属性を使用して元のアセンブリにリンクする必要があるようです。私はこれを自分で使用したことがないので、100% うまくいくかどうかはわかりませんが、試してみる価値はあります!

于 2012-10-10T10:24:15.427 に答える