どれだけの痛みと苦しみがあったかを神だけが知った後、WIX を使用して、アセンブリとパブリッシャー ポリシーの両方を GAC に正常にインストールしました。しかし、MSI の後続のバージョンをインストールしたときに、ポリシーが更新されていないことに気付きました。
これは、WIX がポリシー アセンブリの変更を認識していなかったためだと考えたため、ビルド時にポリシー アセンブリの FileVersion と ProductVersion の両方を設定しました (AL.EXE コマンド ライン スイッチを使用)。
これはうまくいくようです。ただし、GAC を見ると、発行者ポリシーの複数のバージョンとアセンブリの複数のバージョンが並んでいます。
- MyAssembly
- v4.0_1.0.0.10_strongname
- v4.0_1.0.0.11_strongname
- v4.0_1.0.0.12_strongname
- Policy.1.0.MyAssembly
- v4.0_1.0.0.10_strongname
- v4.0_1.0.0.11_strongname
- v4.0_1.0.0.12_strongname
等...
すべてが機能しているように見え、バインドはインストールされているアセンブリの新しいバージョンにリダイレクトされます。ただし、これが問題を引き起こすかどうかは誰にもわかりませんか? ポリシー アセンブリのファイル名の仕様は理解していますが、ポリシー アセンブリのバージョン番号がどうあるべきかについては、実際にはどこにも書かれていません。明らかに、それらが異なる場合、GAC は (上記のように) サイド バイ サイド バージョンを許可します。FileVersion だけを変更する必要がありますか?