.NET Visual Studio Installerを使ったインストーラの作成
Visual Studio .NET には作成したソフトを配布するときに使うインストーラ作成機能があります。
どんなことができるかといいますと、色々簡単に作れますし、様々なカスタマイズも行えます。
ソフトにInstallerを付ける スタートメニューにショートカットを登録 スタートメニューにソフトへのショートカットを作成する方法です。[ファイルシステム]タブの左側から[ユーザーのプログラムメニュー]を開きます。 ![]() 右側で右クリックし、[追加]-[フォルダ]を選びます。フォルダの名前を入力します。通常はソフト名でしょう。 ![]() 今作ったフォルダの中(右側)を右クリックし、[新しいショートカットの作成]を開きます。 [アプリケーションフォルダ]にはいり、「〜のプライマリ出力」を選択して[OK]をクリックします。 ![]() ショートカットの名前を付ければスタートメニューへのショートカット登録は完了です。 ![]() デスクトップにショートカットを作成 こちらはデスクトップにソフトへのショートカットを作成する方法です。[ファイルシステム]タブの左側から[ユーザーのデスクトップ]を開きます。 右側を右クリックし、[新しいショートカットの作成]を開きます。 [アプリケーションフォルダ]にはいり、「〜のプライマリ出力」を選択して[OK]をクリックします。 ショートカットの名前を付ければデスクトップにソフトへのショートカットアイコンがインストール時に作成されます。 そのプロパティウインドウで以下を設定します。 拡張子をファイルに関連づける これはデータファイルをソフトに関連付ける設定です。[ファイルの種類]タブを開きます。 ![]() [対象コンピュータ上のファイルの種類]上で右クリックし、[ファイルの種類の追加]をクリックします。 ![]() 名前を入力します。これは拡張子とはまた別で、半角英数の方がよいようです。 そして、プロパティを以下のように設定します。 ![]()
市販されているソフトのようにシリアル番号入力 この機能を使えば、商用ソフトやシェアウェアなど、不正コピーを少しでも減らすためプロダクトキーを入力しない限りインストールが続行できなくする機能があります。ただし、このシリアル番号設定はかなり特殊です。 1文字1文字指定するのではなくて特定の指定したパターンに当てはめて検査するだけです。 そのパターンは次の2つです。 「%%%%」は数字で、4つの数字を合計して7で割った場合の余りが0になる数字 なら何であっても通ってしまいます。 「????」は文字列であれば何でも構わないようです。 例)「%%%%-????-????-%%%%-%%%%」 このパターンに当てはまるシリアルは、一例として 「5180 UQAL FRHF 8346 2973」「4296 YEAL QZMP 3211 3452」などかなりあります。 これを知っている人ですと簡単に解けるのではっきりいって危ないです。 1文字1文字指定するシリアルチェック機能はプログラムの方で自作して初回起動時にチェックするなどを実装するほかなさそうです。 ちょっと頼りないですが、このシリアル番号を導入するには、[ユーザーインターフェイス]タブを開きます。 ![]() [開始]の上で右クリックし、[ダイアログの追加]を選びます。 ![]() ユーザー情報を選択して[OK]ボタンをクリックします。 ![]() [ユーザー情報]というのができるので位置を移動させておきます。 ![]() プロパティを次のように設定します。 ![]()
.NETFrameworkがインストールされてない場合は自動インストール .NETアプリケーションを実行するには.NET Frameworkのランタイムがインストールされている必要があります。デフォルトでも.NET Frameworkが入っていないことを検知してダウンロードページへ飛ぶようですが、20MB超のファイルをダウンロードしてもらうにはユーザーの負荷が大きいのでパッケージソフトなどの場合は.NET Frameworkもパッケージに含めることになると思います。 それには、Setup.exe Bootstrapper を使うか、手動で関連付けをします。 Bootstrapper Bootstrapperのダウンロード ダウンロードしたあとに、インストールしてください。Visual Studioを再起動する必要もあります。 このBootstrapperをインストールすると、Releaseモードでビルドした際に.NET Frameworkのファイル[dotnetfx.exeなど]がインストーラーと共に生成されます。 できた[setup.exe]を最初に開けば.NET Frameworkのインストール+ソフトのインストールが行えますが、最初にソフトのインストーラー(拡張子.msi)を開いてしまうとBootstrapperを使ってもダウンロードページに飛ばされてしまいます。 そこで、ダウンロードページをURLでなくて、直接[setup.exe]と、ファイル名を指定することで、ダウンロードページの代わりに同じフォルダにある.NET Frameworkのインストールをはじめられます。 ![]() 参考:MSDN
以前のバージョンのファイルがあるかどうか確認して、存在しない場合だけファイルをコピーする
Conditionプロパティは式になっていて、Trueの場合にそのファイルがインストールされます。 この場合は検索した結果が何も無い場合にインストールするので、[FILEEXISTS1==""]と設定します。 インストーラ参考 MSDN 宇宙仮面のC# Programming Windows.Forms インストーラの作成(ディプロイメント) | |||||||||||||||||||||||||