私はちょうどこれを通過し、それは痛みでした。私たちはVS 2005を使用してMSIを構築しています。何らかの理由で私は最後のリリースでアップグレードコードを誤って変更しました。これにより、RemovePreviousVersionsフラグが設定されているにもかかわらず、プログラムがプログラムの追加と削除ダイアログに2回表示されました。私はルージュ更新コードのエントリを入れるためにアップグレードテーブルを編集しなければならないことが分かりました。
このプロセスはInstallShieldで簡単に行えるはずですが、場合によっては使用する必要のあるVS命令も含めることにします。
VS 2005では、アップグレードテーブルを編集する権限がありません(少なくとも私は見つかりませんでした)ので、Microsoft Orcaと呼ばれるプログラムをインストールする必要がありました(MSにはすばらしいコード名がありますが、恐ろしい製品名)。それはWindows SDKに付属しているので、私は既に自分のコンピュータ上に持っていた。 http://msdn.microsoft.com/en-us/library/aa370557%28v=vs.85%29.aspx
そのプログラムでMSIファイルを開くと、リストの一番下にアップグレードが表示されます。対処したいアップグレードコードの新しいエントリを追加する必要があります。ここではそれを説明するリンクです: http://msdn.microsoft.com/en-us/library/aa372379%28VS.85%29.aspx
私は4の属性(msidbUpgradeAttributesIgnoreRemoveFailure)とPREVIOUSVERSIONSINSTALLEDのActionPropertyで、正しいバージョン番号で、削除したいのアップグレードコードで新しい行を作りました。
私がこれを正しく理解していれば、基本的にMSIに、RemovePreviousVersionsフラグと一緒にこの他のアップグレードコードを検討して削除するように指示しました。それは私の場合に働いたので、うまくいけばこれのいくつかがあなたに役立つでしょう。
幸運を祈る!
ありがとうございましたChristopher ...次の数日でこれに取り組んでいきます。私は本当にあなたが時間を取っていただきありがとうございます! – Jamie