2016-06-14 6 views
1

私はVisual Studio 2010セットアッププロジェクトを持っており、私のソフトウェアの新しいバージョンへのアップグレードを作成しようとしています。Visual Studio 2010セットアッププロジェクト:ファイルが変更されても上書きしますか?

アップグレードプロセスは、です。バージョン番号が正しく更新されたため、製品コードが更新されました。 RemovePreviousVersionsもTrueです。

私のソフトウェアをアップグレードすると、ソフトウェアの実行中にローカルファイルシステム上で変更されたファイルが1つあります。ファイルが変更されたため、インストーラは上書きを拒否します。
私のインストーラはになります。このファイルは新しいバージョンで上書きされます。

Visual Studio内で、Orcaを使用して、またはそれ以外の方法で、ファイルが変更されても強制的に上書きすることはできますか?

UPDATE: Orcaでは、「File」テーブルに「FileSize」列が含まれていることに気付きました。私はこれがファイルが無視されている理由であると信じています。ファイルのサイズが変更された場合、それは一致しません。これを無効にする方法はありますか?

答えて

2

Windowsインストーラの置換ルールを安全に変更することはできませんが、アップグレードメカニズムは古い製品(ソフトウェア置換ルールを呼び出す)の上にまずアップグレードをインストールしてから古い製品ref製品をカウントダウンして取り除く。それは問題の「上に」あります。 InstallExecuteSequenceのRemoveExistingProductsをInstallFinalizeの直前からInstallInitializeの直後に移動すると、古い製品を完全にアンインストールしてから新しいアップグレードをインストールします。それはあなたがデータファイルを保持することを期待している場合、動作しない可能性があります。

そうしないと、OrcaでRemoveFileテーブルを使用できます。ファイルに対応するコンポーネント名を対象としたエントリを追加します(ファイルテーブルを参照し、例としてRemoveFileテーブルにいくつかのエントリが存在する可能性があります)。インストール時に値を[削除]に設定します。 RemoveFilesアクションは、新しいファイルがインストールされる前に実行されるため、正常に動作するはずです。

+0

RemoveFileテーブルで遊んで、RemoveExistingProductsステップを以前に移動しましたが、 "変更なし"またはシーケンスエラーメッセージが表示されました。しかし、その正確な場所にRemoveExistingProductsを置くことはそれをするように見えた! – Josh

関連する問題