2016-09-07 15 views
0

2つのファイルとレジストリエンティティからなるパッチをインストールするMSIがあります。最初のインストールで正常に動作しますが、再インストールしようとすると、必要なファイルが置き換えられません。 MSIが修復モードではなく修復モードに入るようにWiXを強制する方法がありますか(私はそれが何を入力していると思いますか)?WiX:以前にインストールされている場合、インストーラによるファイルの再インストール

編集: 私は以下のコメントのコピーを使用することを明確にするように頼まれました。

ここでは、このパッチを含め、クライアントにすべてのソフトウェアがインストールされていることを想定しています。何かが動作しないので、すべてをアンインストールしてソフトウェアを再インストールしようとします。そうすると、このパッチ(msi)は再インストールされません。既にインストールされていることがわかり、修復モードに入ります。そこから、ファイルが存在していることがわかります。ファイルが古いことを気にせず、更新されません。パッチが現在インストールされているかどうかを問わず、更新されたファイルが必要です。

+0

パッチを作成する場合は、.MSIではなく.MSPを作成する必要があります。 2番目のMSIを作成し、元のインストール済みMSIを修復する場合、ファイルが正しく処理されていません。 http://wixtoolset.org/documentation/manual/v3/patching/ – ProjectNapalm

+0

ありがとうございます、私はこれを調べます。 –

答えて

0

これが問題となっていることを正確に述べたとお伝えいただければ役に立ちます。

パッチをインストールすると、ファイル(など)が置き換えられ、パッチは製品の一部であり、再適用可能な別のものではありません。修復が最初の製品とパッチに基づいて行われるため、修復が必要なファイルは修復されるため、再適用するときに修復モードに入るのは問題ありません。同じMSIファイルを2回インストールすることはできません。すでにインストールされています。したがって、あなたが見ていることについての私の質問は問題です。それは正しく修復されていませんか?

編集内容を確認した後、パッチはMSIファイルではなく、mspファイルです。すべてをアンインストールするには、両方のMSI製品をアンインストールする必要があります。

+0

ここでは、このパッチを含め、クライアントにすべてのソフトウェアがインストールされていることを示しています。何かが動作しないので、すべてをアンインストールしてソフトウェアを再インストールしようとします。そうすると、このパッチ(msi)は再インストールされません。既にインストールされていることがわかり、修復モードに入ります。そこから、ファイルが存在していることがわかります。ファイルが古いことを気にせず、更新されません。パッチが現在インストールされているかどうかを問わず、更新されたファイルが必要です。 –

+1

これはローカルの問題のように聞こえます。シナリオが動作する方法ではありません。製品をアンインストールすると、それに適用されたすべてのパッチがアンインストールされます。その後、製品を再度インストールすると、パッチを適用せずに製品を再インストールし、パッチを適用することができます。これが単一のクライアントであり、クリーンなシステムで再現できない場合は、クライアントがクリーンアンインストールを実行せず、MsiZapのようなものを使用して製品をアンインストールしようとしたと思われます。 – PhilDW

関連する問題