top / index / prev / next / target / source

2007-01-15 diary: シンプルな NSIS (Nullsoft Scriptable Install System) 利用サンプル

いがぴょん画像(小) 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

シンプルな NSIS (Nullsoft Scriptable Install System) 利用サンプル

NSIS という Windows インストーラ作成ソフトの簡単な利用サンプルを作成しました。 , 会社事務所の室温が異常に高い

シンプルな NSIS (Nullsoft Scriptable Install System) 利用サンプル

NSIS という Windows インストーラ作成ソフトの簡単な利用サンプルを作成しました。

このサンプルの簡単な仕様など

;;-------------------------------------------------------------------
;; シンプルな 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 が最も最初に検討すべきソフトウェアであると考えています。

関連する日記

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 (温度・湿度計付き電波時計) で計測しました。事務所全体が均質に この室温になっているわけでは無いと考えられます)

このところの室温推移は、ウォームビズというよりクールビズを思い起こさせるような室温です。パソコンが多く またこの冬は暖冬であることも影響しているのでしょう。難しいですね…。


この日記について