2017-02-28 8 views
1

実行時に以前のバージョンをアンインストールするmsiインストーラを作成します。私は、DetectNewerInstalledVersion = TrueとRemovePreviousVersions = TrueのVS 2013でセットアッププロジェクトを持っています。私がしていることは次のとおりです。C#以前のバージョンを削除しないセットアッププロジェクトインストーラ

  1. 私はバージョン番号を変更します(1.0.3から1.0.4など)。
  2. ProductCodeが変更され、UpgradeCodeが変更されていないことを確認します。
  3. セットアッププロジェクトを右クリックし、[ビルド]をクリックします。
  4. 私は、デバッグフォルダ内のmsiファイルを実行します。

msiは正常に動作しますが、古いEXEはプログラムフォルダに残ります。それは新しいインストールの場合でも、プログラムを正常にインストールします。私は間違って何をしていますか?

+0

通常、あなただけのリリースバージョンとデバッグバージョン用のインストーラを作成する必要があり、ローカルに使用する必要がありますつかいます。 – Phil1970

答えて

3

私は結局答えを実際に見つけました。そして、私はこれを偶然見つけた人のためにここに投稿します。ここに私が逃した一歩があります:

あなたのプロジェクトのProperties> AssemblyInfo.csに行き、AssemblyVersionとAssemblyFileVersionの番号を更新する必要があります。そうしないと、このプロジェクトのEXEは実際には更新されません。お役に立てれば!バックアップにカスタムアクションを植えると、追加の安全のために、以前のインストールフォルダを削除しないのはなぜ

+0

WindowsインストーラはAssemblyFileVersionのみを使用します。特にAssemblyVersionを変更する必要はありません。 – PhilDW

関連する問題