write ahead log

ロールフォワード用

Visual Studio Installer Projectで上書きインストールができない

インストーラを作りたい

昔々, Visual Studio にはInstaller Projectというインストーラを作成するためのプロジェクトを作成する機能がありました.

機能が少なくても標準でついてきていたので非常に便利だったようなのですが2005くらいから消えてしまったそうです.

(伝聞なのは私自身使ったことがないためです)

しかし未だにVS2017が出てもなお, 私はWindowsフォームアプリケーションをせっせと作るお仕事をしているので, インストーラが標準で作れないのは非常に不便です.

と思ったらVS2015からアドオンとして復活しています.

Visual Studio: Marketplace - Microsoft Visual Studio 2015 Installer Projects

具体的な使い方は他サイトにたくさんあるので参照してみてください.

おすすめです.

Microsoft Visual Studio 2015 Installer Projects をインストールする (Visual Studioの使い方 Tips)

Microsoft Visual Studio 2015 Installer Projects を利用してインストーラーを作成する

バージョンアップインストールが出来ない

上記で作れたのは良いのですが, インストール済みのプログラムを更新する方法がわからなくて困っていました.

解決したのでメモしておきます.

因みにこの問題, 海外でも結構困っている人が多いようです.

Visual Studio forum - Setup project does not uninstall previous version

解決法

スクリーンショットを取るのが面倒なのでテキストでだけ.

重要なのは以下の3つです.

  • インストーラプロジェクトのプロパティウィンドウで「RemovePreviousVersions」をtrueに設定する
  • リリースの度にインストーラプロジェクトのプロパティウィンドウで「Version」を向上させてやる
  • 入れ替えるDLLやexeのプロジェクトのプロパティウィンドウで「ファイルバージョン」を向上させてやる

最後のがハマりました.

アセンブリバージョンを一生懸命変えていたのですが, どうもインストーラプロジェクトが見るのは「ファイルバージョン」の様です.

アセンブリバージョンはビルドの度に簡単に番号を向上させる方法もあったりするのですが, ファイルバージョンはなさそうなので中々面倒です.

とはいえ, 目的は達せられたのでよしとします.