👍[Update] Model : Add Installer
This commit is contained in:
108
installer/Install.nsi
Normal file
108
installer/Install.nsi
Normal file
@@ -0,0 +1,108 @@
|
||||
# Modern UI
|
||||
!include MUI2.nsh
|
||||
# nsDialogs
|
||||
!include nsDialogs.nsh
|
||||
# LogicLib
|
||||
!include LogicLib.nsh
|
||||
|
||||
# アプリケーション名
|
||||
Name "VRCT Setup"
|
||||
# 作成されるインストーラ
|
||||
OutFile "VRCT_Setup.exe"
|
||||
|
||||
RequestExecutionLevel admin
|
||||
ShowInstDetails show
|
||||
|
||||
# 圧縮メソッド
|
||||
SetCompressor lzma
|
||||
# インストールされるディレクトリ
|
||||
InstallDir "$PROGRAMFILES\VRCT"
|
||||
# XPマニフェスト
|
||||
XPStyle on
|
||||
# ページ
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
Page custom OptionPage OptionPageLeave
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
# アンインストーラ ページ
|
||||
!insertmacro MUI_UNPAGE_WELCOME
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
# 日本語UI
|
||||
!insertmacro MUI_LANGUAGE "Japanese"
|
||||
# インターフェース 設定
|
||||
!define MUI_ABORTWARNING
|
||||
# 変数
|
||||
Var Checkbox_InstallDocs
|
||||
Var Dialog_Options
|
||||
Var InstallDocs
|
||||
Var Label_DescriptionOptions
|
||||
|
||||
# 初期化時コールバック
|
||||
Function .onInit
|
||||
# オプション値を初期化します。
|
||||
StrCpy $InstallDocs ${BST_CHECKED}
|
||||
FunctionEnd
|
||||
|
||||
# オプション ページ
|
||||
Function OptionPage
|
||||
# nsDialogsを作成します。
|
||||
nsDialogs::Create 1018
|
||||
# 作成されたnsDialogsを変数に代入します。
|
||||
Pop $Dialog_Options
|
||||
|
||||
${If} $Dialog_Options == error
|
||||
# ダイアログの作成に失敗した場合には終了します。
|
||||
Abort
|
||||
${EndIf}
|
||||
|
||||
# ラベルを作成します。
|
||||
${NSD_CreateLabel} 0 0 100% 12u "オプションを選択してください。"
|
||||
# ラベルを変数に代入します。
|
||||
Pop $Label_DescriptionOptions
|
||||
|
||||
${NSD_CreateCheckbox} 0 13u 100% 12u "ドキュメントをインストールする(&D)"
|
||||
Pop $Checkbox_InstallDocs
|
||||
|
||||
${If} $InstallDocs == ${BST_CHECKED}
|
||||
# チェックが入力済の場合、チェックボックスにチェックを入れます。
|
||||
${NSD_Check} $Checkbox_InstallDocs
|
||||
${EndIf}
|
||||
nsDialogs::Show
|
||||
FunctionEnd
|
||||
|
||||
# オプション ページ退出コールバック
|
||||
Function OptionPageLeave
|
||||
${NSD_GetState} $Checkbox_InstallDocs $InstallDocs
|
||||
FunctionEnd
|
||||
|
||||
# デフォルト セクション
|
||||
Section
|
||||
# 出力先を指定します。
|
||||
SetOutPath "$INSTDIR"
|
||||
# インストールされるファイル
|
||||
File "..\dist\VRCT.exe"
|
||||
|
||||
${If} $InstallDocs == ${BST_CHECKED}
|
||||
# ドキュメントをインストールする場合
|
||||
# 出力先を指定します。
|
||||
SetOutPath "$INSTDIR\docs"
|
||||
# インストールされるファイル
|
||||
File "..\dist\README.txt"
|
||||
${EndIf}
|
||||
|
||||
# アンインストーラを出力
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
# スタート メニューにショートカットを登録
|
||||
CreateDirectory "$SMPROGRAMS\VRCT"
|
||||
SetOutPath "$INSTDIR"
|
||||
CreateShortcut "$SMPROGRAMS\VRCT\VRCT.lnk" "$INSTDIR\VRCT.exe" ""
|
||||
# レジストリに登録
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VRCT" "DisplayName" "VRCT"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VRCT" "UninstallString" '"$INSTDIR\Uninstall.exe"'
|
||||
SectionEnd
|
||||
|
||||
# アンインストーラ
|
||||
!include Uninstall.nsi
|
||||
14
installer/Uninstall.nsi
Normal file
14
installer/Uninstall.nsi
Normal file
@@ -0,0 +1,14 @@
|
||||
# アンインストーラ
|
||||
Section "Uninstall"
|
||||
# アンインストーラを削除
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
# ファイルを削除
|
||||
Delete "$INSTDIR\VRCT.exe"
|
||||
# ディレクトリを削除
|
||||
RMDir /r "$INSTDIR"
|
||||
# スタート メニューから削除
|
||||
Delete "$SMPROGRAMS\VRCT\VRCT.lnk"
|
||||
RMDir "$SMPROGRAMS\VRCT"
|
||||
# レジストリ キーを削除
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VRCT"
|
||||
SectionEnd
|
||||
Reference in New Issue
Block a user