/ .NET

image
業務で.NETデスクトップアプリの配布用インストーラを作成することがあります。
少し前までは.NET Framework 2.0ベースのアプリ開発が主流で、インストーラもVisual Studio 2005のセットアップウィザードを利用して作成していたわけですが、Windows 7がようやく主流になった昨今は.NET 4ベースのアプリをVS2010で作るようになってきています。
これに合わせてインストーラもVS2010のセットアップウィザードプロジェクトテンプレートを使おうと思ったのですが、実際に試してみるとインストール後の各ファイルのタイムスタンプがビルド時の日時ではなくインストーラ作成時の日時に変わってしまう不具合に遭遇。
こちらのフォーラムでも触れられているように、Windows XP上のVS2010でインストーラを作るとなぜか事象発生しないことは判明したのですが、いまさらXPを使うわけにもいかないので他の方策を検討することに。

最初に調べたのは最新のVS2013とひとつ前のVS2012ではどうなっているか、ということ。
しかし、2012以降のVisual Studioには従来のセットアッププロジェクトテンプレートは含まれておらず、ディスコン扱いになっている様子。
代わりに付いてくるInstall Shieldのサブセット版を試してみるも細かい設定ができないようでこれも却下。
諸事情により有償のフルセット版を使うこともできないため、一時はVM上のXPを使ってビルドするなどして凌いできたわけですが、少し前にようやく問題解決のソリューションを発見。

その名も「Visual Studio 2013 Installer Projects」というアドインです。
VS2013の拡張機能として登録するだけで、Windows Installer形式のインストーラが作成できます。
Windows 8.1上のVS2013に入れて試した限りでは、従来とほぼ同様の操作でインストーラの設定ができて、インストールしたファイルのタイムスタンプ問題も発生しない模様。
英語版しかないものの、作成したインストーラはこれまでどおり日本語表示されるので、特に問題なく乗り換えられそうです。
モノ自体はMicrosoftの中の人が作っているようですし、今後登場するVS2015への対応も期待できそうなので、当面これでやっていけそうです。



コメントを残す

メールアドレスが公開されることはありません。