2012-01-12 7 views
2

を適用すると、次のコードが存在し、すべてのファイルを削除します。ウィックス - ウィックスによって作成されたインストーラの以前のバージョンでは、主要な特殊なアップデート

<InstallExecuteSequence> 
<RemoveExistingProducts After="InstallInitialize" /> 
</InstallExecuteSequence> 

をWindowsインストーラのバグを回避するためには、このknowledge base articleコードであり説明しました修正されて:

<InstallExecuteSequence> 
<RemoveExistingProducts After="InstallFinalize" /> 
</InstallExecuteSequence> 

しかしを、今、私は最初のコードでインストーラを使用してプログラムをインストールしてから削除インストールプログラムすることなく、第2のコードでインストーラを使用してプログラムをインストールした場合、すべてのファイルを削除して、私のパスは両方に空のフォルダ(すべてのファイルを存在しますインストーラにはequaがあります私の名前)。

2番目のインストーラを開き、[修復]を押すと、すべてのファイルが表示されます。

何が問題なのですか?

P.S.

答えて

2

:(私の英語のため申し訳ありませんただ、推測は:それは、第1および第2のセットアップが同じファイルをインストールしたが異なるコンポーネントIDのとコンポーネントの一部としてのように聞こえるこれを確認するには、両方のMSIを開くことができますファイルがorca.exeであり、コンポーネントIDが比較されます

コンポーネントのIDは正しく参照できるように同じにしてください。そうでないと、異なるファイルが同じファイルを管理しようとします。いずれかのコンポーネントをアンインストールするとファイルが消えます。

コンポーネントの内容を決して変更しないでください(つまり、ファイルを削除または追加しないでください)、wixによって生成されたコンポーネントのGUIDは自動的に安定した状態に保たれます。これは、ファイルごとに1つのコンポーネントを持つことが最善の理由の1つです。

+0

ファイルの名前は同じですが、ファイルは異なります(ファイルのハッシュが異なります)。 ComponentIdsは同じです。 –

+0

@ amlet.fb:componentIdsが同じ場合、私の答えは何も説明しません。申し訳ありません。 –

関連する問題