2012-03-15 7 views
3

インストーラを生成するためのwixスクリプトが付属しているPandion(オープンソースのXMPPクライアント)で作業しています。WIXで生成されたMSIは、実行可能ファイルをコピーせず、他のファイルをコピーします。

これまでのところ、パッチをリリースしました:私は、wixバイナリを実行し、msiを作成したバッチファイルを実行します。

しかし、最新のアップデートでは、インストーラは実行ファイル(Pandion.exe)をインストールディレクトリにコピーしなくなりました。その他の400以上のファイルはすべて正しくコピーされます。

EDIT:更新によって、私はいくつかのjavascriptファイルに限定された変更を意味します。 wixファイルはすべて変更されていません。

私は問題の原因を解明しようとしていましたが、私はwix/msiで経験したことがなく、実際にどこを見ているのか分かりません。

冗長なログが有効になっており、実行可能ファイル以外のすべてのファイルがコピーされていることが確認されています。自動生成されたcomponent.wxsには、コンポーネントとして実行可能ファイルが含まれています。インストーラはまず、実行可能ファイルを含むすべてのコンポーネントを登録しますが、ファイルのコピーを開始すると、ファイルをスキップして次のファイルに移動します。

インストーラを再度実行してインストールを修復すると、実行ファイルが正しくコピーされます。

すべてをアンインストールして最初のインストーラから再インストールすると、以前のすべてのパッチが正常に動作します。

答えて

6

特定のファイル(Pandion.exe)のバージョンが以前のインストールよりも大きいかどうかを確認してください。

アップデートのインストール中
  • 、WiXのはの.dllのバージョン管理を見て、
  • バージョンの場合は.exes:何らかの理由でファイルが低いバージョンである場合ので、それはインストールされないことがありますインストールされているファイル(Pandion.exe)がインストールしようとしているファイル(Pandion.exe)よりも大きい場合、そのマシンに新しいバージョンが存在することが示されます。
  • 以前のバージョンの削除中に、すべてのファイルが削除されます。
  • 更新プログラムのインストール中に、Pandion.exeにフラグが設定されているため、インストールされません。
  • 再インストール/修復中に、Pandion.exeが存在しないことが判明してインストールされます。
+0

これはまさに何が起こったかです。約30分後にソースを以前のリビジョンと比較すると、ファイルバージョンを宣言したヘッダーが変更され、バージョンは1.0.0.0に設定されていました。これを以前のバージョンより上のバージョンに変更すると、問題が解決されました。 – carpat

関連する問題