Null Soft インストーラの使い方
忘れやすいのでメモ。
ダウンロード型インストーラーの作り方
■今回使用したソフト
nullsoft scriptable install system 2.44(nullsoft install system)
URL:http://nsis.sourceforge.net/Download
HM NIS Edit 2.0.3
URL:http://hmne.sourceforge.net/
■手順
まずnullsoft scriptable install system 2.44とHM NIS Edit 2.0.3をインストール。
インストールが終了したら、HM NIS Editを起動させます。
起動したら ファイル → ウィザードから作成 を選択し、インストーラーの外側の部分を作成する。
作成が完了すると 「新規スクリプトファイル 01」 というファイルが作成されソースが表示される。
このソースを元にダウンロード型のインストーラーに変更していきます。
※NSISの作り方はこのページを参考。URL http://www.open-it.net/index.php?NSIS%E3%81%AE%E8%AA%BF%E6%9F%BB
基本のパラメータ
"" 内はサンプルです。
!define PRODUCT_NAME "QRIソフト" //ダウンロードされるソフト名
!define PRODUCT_VERSION "4.0" //ダウンロードされるソフトのバージョン
!define PRODUCT_PUBLISHER "QRI company, Inc." //提供元
!define PRODUCT_WEB_SITE "http://www.qri.co.jp //提供元URL
!insertmacro MUI_PAGE_LICENSE "c:\License.txt" //ダウンロード時に表示されるライセンス
!insertmacro MUI_LANGUAGE "Japanese" //ダウンロード時の言語
!define URL_DOTNET "http://shisouken.jp/Firefox.exe" //ダウンロードするアプリ
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" //ダウンロード時に表示されるソフト名とバージョン
OutFile "Setup.exe" //ダウンロードアプリ(今回生成する.exe)
InstallDir "$DESKTOP" //インストールするフォルダ ※今回は無視
ダウンロードを開始するセクションの作成を作成する。
Section -Post
NSISdl::download /TIMEOUT=30000 "${URL_DOTNET}" "$DESKTOP\firefox.exe"
Pop $R0
StrCmp $R0 success DownloadOK
DetailPrint "ダウンロードに失敗しました" ;download no
Abort ;installation stop
DownloadOK:
SectionEnd
◆Section -Post
セクション名は適当に。確か"-"がいったハズ。
◆NSISdl::download /TIMEOUT=30000 "${URL_DOTNET}" "$DESKTOP\firefox.exe"
NSISdl::download がダウンロードを開始するスクリプト。
第一引数?にダウンロードするURL。
第二引数?にダウンロードした.exeを置く場所。
◆Pop $R0
ダウンロードの実行結果の返り値。
返り値を取得する。
◆StrCmp $R0 success DownloadOK
StrCmp = 条件分岐? if みたいなものだと思う。
$R0の返り値が "success" ならば DownloadOK:に移動する。
このセクション内ではダウンロードが完了した時点では何も処理は行わない。
◆DetailPrint "ダウンロードに失敗しました"
ダウンロードに失敗した時に表示するエラーメッセージ。
◆Abort
失敗した時点でダウンロードを強制終了させる。
ここまででダウンロードの処理は終了。
ここからがダウンロードが成功した後の処理。
function .onInstSuccess
Exec '"$DESKTOP\firefox.exe"'
functionend
◆function .onInstSuccess
.onInstSuccess今回のダウンロードが成功した時に実行されるnullsoft側で用意されている関数
※このファンクション名じゃないとダウンロードが成功した後に動きません。
◆Exec '"$DESKTOP\firefox.exe"'
Exec が ".exe" を実行させるコマンド。
最後に今回はインストールではなく、ダウンロードがメインなので本来インストールとでる文言を変える。
変えるファイルは
C:\Program Files\NSIS\Contrib\Language files 内のファイル
Japanese.nlf
Japanese.nsh
をインストールをダウンロードに変える。
(他に方法がありそうだが..今回は無理矢理です)
以上で終了です。