top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
NSIS という Windows インストーラ作成ソフトの簡単な利用サンプルを作成しました。 , 会社事務所の室温が異常に高い
NSIS という Windows インストーラ作成ソフトの簡単な利用サンプルを作成しました。
このサンプルの簡単な仕様など
この例では アイコン登録処理などは 省略されています。
動作確認は NSIS 2,23 というバージョンに対して実施しました。
※注意!: このサンプルを動作させるとファイルのコピーやレジストリアクセスなどが発生します。 (そもそも インストーラとは そういうものです) SimpleNsis.nsi
;;-------------------------------------------------------------------
;; シンプルな NSIS インストーラ サンプル
;;
;; Copyright (C) 2007 いがぴょん
;;
;; このサンプルは NSIS というインストーラ作成ソフトのためのシンプルなサンプルです。
;;-------------------------------------------------------------------
;------------------
; 一般
; プロダクト名
!Define Product "SimpleNsis"
Name "${Product}"
; インストーラーのファイル名
OutFile "${Product}.exe"
; インストール先ディレクトリ
InstallDir "$PROGRAMFILES\${Product}"
; このプログラムのレジストリ
InstallDirRegKey HKCU "Software\${Product}" ""
; Windowsのアンインストールレジストリ
!Define RegUninstall "Software\Microsoft\Windows\CurrentVersion\Uninstall\${Product}"
;------------------
; モダンUI を利用
!Include "MUI.nsh"
;------------------
; ページ
; ライセンス契約書画面 (ほんとうはここでライセンスに関するテキストファイルを指定します)
!InsertMacro MUI_PAGE_LICENSE "SimpleNsis.nsi"
; コンポーネント選択画面
!InsertMacro MUI_PAGE_COMPONENTS
; インストール先ディレクトリ選択画面
!InsertMacro MUI_PAGE_DIRECTORY
; ファイルのインストール (インストーラにとっては主たる処理)
!InsertMacro MUI_PAGE_INSTFILES
; アンインストーラの確認画面
!InsertMacro MUI_UNPAGE_CONFIRM
; アンインストーラのアンインストール
!InsertMacro MUI_UNPAGE_INSTFILES
;------------------
; 言語選択 (日本語のみ利用可能)
!InsertMacro MUI_LANGUAGE "Japanese"
;------------------
; インストーラ・セクション
Section "Standard" SecStandard
SetOutPath "$INSTDIR"
; とりあえず自分自身をインストール
File "SimpleNsis.nsi"
; インストール先ディレクトリを記憶
WriteRegStr HKCU "Software\${Product}" "" $INSTDIR
; アンインストーラを作成
WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "${RegUninstall}" "DisplayName" "${Product}"
WriteRegStr HKLM "${RegUninstall}" "UninstallString" "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "${RegUninstall}" "HelpLink" "http://homepage2.nifty.com/igat/igapyon/diary/2007/ig070115.html"
WriteRegDWORD HKLM "${RegUninstall}" "NoModify" 1
WriteRegDWORD HKLM "${RegUninstall}" "NoRepair" 1
SectionEnd
;------------------
; アンインストーラ・セクション
Section "Uninstall"
; インストーラがインストールしたファイルを削除
Delete "$INSTDIR\SimpleNsis.nsi"
; アンインストーラ自身を削除
Delete "$INSTDIR\Uninstall.exe"
DeleteRegKey HKLM "${RegUninstall}"
; インストール先ディレクトリを削除
RmDir "$INSTDIR"
SectionEnd
下記のページによって NSISに興味を持ったのがきっかけです。素晴らしいソフトと出会うきっかけを与えてくださったことを感謝します。
NSIS は Inno Setup に比べて、細かい記述が実現可能であることについて、私も確認しました。
2007.10.24追記 現時点では、オープンソースによる Windows インストーラ作成ソフトとしては、NSIS が最も最初に検討すべきソフトウェアであると考えています。
関連する日記
2007.01.16追記 ショートカットの追加についても その後調べました。これをメモしておきます。 ショートカットの登録
; ショートカットの登録
; デスクトップアイコンの登録
CreateShortCut "$DESKTOP\${Product}.lnk" "$INSTDIR\uninstall.exe" ""
; スタートメニューの登録
CreateDirectory "$SMPROGRAMS\${Product}"
CreateShortCut "$SMPROGRAMS\${Product}\${Product}.lnk" "$INSTDIR\uninstall.exe" ""
※インストーラ・セクションに追加します。ショートカットの削除
; ショートカットの削除
; デスクトップアイコンの削除
Delete "$DESKTOP\${Product}.lnk"
; スタートメニューの削除
Delete "$SMPROGRAMS\${Product}\${Product}.lnk"
RmDir "$SMPROGRAMS\${Product}"
※アンインストーラ・セクションに追加します。
この冬は 会社の東京事務所が非常に暑いです。純粋に室温が高いです。
私の会社の東京事務所は 基本的に夏寒く 冬暑い傾向があります。夏の室温 < 冬の室温 になっている日すら あります。かねてより これには閉口していたのですが、この冬は特にすざまじいです。
室温の最高記録の数々。(手元の簡易な室温計 セイコークロック SQ650S (温度・湿度計付き電波時計) で計測しました。事務所全体が均質に この室温になっているわけでは無いと考えられます)
2006.12.21 摂氏 29.8度
2007.01.12 摂氏 28.6度
2007.01.16 摂氏 27.4度 (2007.01.16追記)
2007.03.09 摂氏 29.7度 (2007.03.11追記)
このところの室温推移は、ウォームビズというよりクールビズを思い起こさせるような室温です。パソコンが多く またこの冬は暖冬であることも影響しているのでしょう。難しいですね…。