forked from crash5band/MikuMikuWorld
-
Notifications
You must be signed in to change notification settings - Fork 41
/
Copy pathinstallerBase.nsi
109 lines (91 loc) · 4.44 KB
/
installerBase.nsi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
;-------------------------------------------------------------------------------
; Includes
!include "MUI2.nsh"
!include "LogicLib.nsh"
!include "WinVer.nsh"
!include "x64.nsh"
;-------------------------------------------------------------------------------
; Constants
!define PRODUCT_NAME "MikuMikuWorld for Chart Cyanvas"
!define PRODUCT_DESCRIPTION "MikuMikuWorld for Chart Cyanvas"
!define COPYRIGHT "Copyright (c) 2022 Crash5b, 2024 Nanashi."
!define PRODUCT_VERSION "{version}.0"
!define SETUP_VERSION "{version}.0"
;-------------------------------------------------------------------------------
; Attributes
Name "MikuMikuWorld for Chart Cyanvas"
OutFile "build/mmw4cc-{version}-setup.exe"
InstallDir "$LOCALAPPDATA\Programs\mmw4cc"
InstallDirRegKey HKCU "Software\mmw4cc" ""
RequestExecutionLevel user
;-------------------------------------------------------------------------------
; Version Info
VIProductVersion "${PRODUCT_VERSION}"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "FileDescription" "${PRODUCT_DESCRIPTION}"
VIAddVersionKey "LegalCopyright" "${COPYRIGHT}"
VIAddVersionKey "FileVersion" "${SETUP_VERSION}"
;-------------------------------------------------------------------------------
; Modern UI Appearance
!define MUI_ICON "MikuMikuWorld\mmw_icon.ico"
;-------------------------------------------------------------------------------
; Variables
Var StartMenuFolder
;-------------------------------------------------------------------------------
; Installer Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\mmw4cc"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;-------------------------------------------------------------------------------
; Uninstaller Pages
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_DIRECTORY
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;-------------------------------------------------------------------------------
; Languages
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Japanese"
;-------------------------------------------------------------------------------
; Installer Sections
Section "MikuMikuWorld for Chart Cyanvas" Mmw4cc
SetOutPath "$INSTDIR"
File /r "build\MikuMikuWorld\*.*"
WriteUninstaller "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\MikuMikuWorld for Chart Cyanvas.lnk" "$INSTDIR\MikuMikuWorld.exe"
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\mmw4cc" \
"DisplayName" "MikuMikuWorld for Chart Cyanvas"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\mmw4cc" \
"UninstallString" "$\"$INSTDIR\uninstall.exe$\""
WriteRegStr HKCU "Software\Classes\.usc" "" "MikuMikuWorld.usc"
WriteRegStr HKCU "Software\Classes\MikuMikuWorld.usc" "" "Universal Sekai Chart File"
WriteRegStr HKCU "Software\Classes\MikuMikuWorld.usc\DefaultIcon" "" "$INSTDIR\MikuMikuWorld.exe"
WriteRegStr HKCU "Software\Classes\MikuMikuWorld.usc\shell\open\command" "" "$INSTDIR\MikuMikuWorld.exe $\"%1$\""
WriteRegStr HKCU "Software\Classes\.ccmmws" "" "MikuMikuWorld.ccmmws"
WriteRegStr HKCU "Software\Classes\MikuMikuWorld.ccmmws" "" "MMW4CC Chart File"
WriteRegStr HKCU "Software\Classes\MikuMikuWorld.ccmmws\DefaultIcon" "" "$INSTDIR\MikuMikuWorld.exe"
WriteRegStr HKCU "Software\Classes\MikuMikuWorld.ccmmws\shell\open\command" "" "$INSTDIR\MikuMikuWorld.exe $\"%1$\""
SectionEnd
;-------------------------------------------------------------------------------
; Uninstaller Sections
Section "Uninstall"
RMDir /r "$INSTDIR"
Delete "$INSTDIR\Uninstall.exe"
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\mmw4cc"
DeleteRegKey HKCU "Software\Classes\.usc"
DeleteRegKey HKCU "Software\Classes\MikuMikuWorld.usc"
DeleteRegKey HKCU "Software\Classes\.ccmmws"
DeleteRegKey HKCU "Software\Classes\MikuMikuWorld.ccmmws"
RMDir /r "$SMPROGRAMS\$StartMenuFolder"
SectionEnd