-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstaller.nsi
More file actions
121 lines (86 loc) · 3.59 KB
/
installer.nsi
File metadata and controls
121 lines (86 loc) · 3.59 KB
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
110
111
112
113
114
115
116
117
118
119
120
121
!include "MUI2.nsh"
!include "x64.nsh"
!include "Library.nsh"
!ifndef VERSION
!error "VERSION must be defined. Use /DVERSION=<version>"
!endif
Name "Uo Keyboard"
OutFile "uo_keyboard_setup.exe"
RequestExecutionLevel admin
SetCompressor /SOLID lzma
VIProductVersion "${VERSION}.0"
VIAddVersionKey "ProductName" "Uo Keyboard"
VIAddVersionKey "ProductVersion" "${VERSION}"
VIAddVersionKey "FileVersion" "${VERSION}"
VIAddVersionKey "FileDescription" "Uo Keyboard Installer"
VIAddVersionKey "LegalCopyright" "© 2026 Muhammad Ragib Hasin"
; --- MARK: MUI Settings
ManifestDPIAware true
Unicode true
!define MUI_ABORTWARNING
!define MUI_ICON "resources/IME.ico"
!define MUI_UNICON "resources/IME.ico"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "LICENSE"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro MUI_LANGUAGE "English"
Function .onInit
${If} ${IsNativeIA32}
StrCpy $INSTDIR "$PROGRAMFILES\Uo Keyboard"
${Else}
StrCpy $INSTDIR "$PROGRAMFILES64\Uo Keyboard"
${EndIf}
FunctionEnd
; --- MARK: INSTALL
Section "Install" SEC_MAIN
SetOutPath $INSTDIR
!insertmacro InstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED "target\i686-pc-windows-msvc\release\uo_keyboard.dll" "$INSTDIR\uo_keyboard_x86.dll" "$INSTDIR"
IfErrors 0 continue_after_x86
Abort "Failed to register x86 IME DLL."
continue_after_x86:
File "/oname=uo_keyboard_x86.pdb" "target\i686-pc-windows-msvc\release\uo_keyboard.pdb"
${If} ${RunningX64}
!define LIBRARY_X64
!insertmacro InstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED "target\release\uo_keyboard.dll" "$INSTDIR\uo_keyboard_amd64.dll" "$INSTDIR"
IfErrors 0 continue_after_amd64
!undef LIBRARY_X64
!insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED "target\i686-pc-windows-msvc\release\uo_keyboard.dll"
Abort "Failed to register amd64 IME DLL."
continue_after_amd64:
File "/oname=uo_keyboard_amd64.pdb" "target\release\uo_keyboard.pdb"
${EndIf}
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\uo_keyboard" "DisplayName" "Uo Keyboard"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\uo_keyboard" "DisplayVersion" "${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\uo_keyboard" "Publisher" "Your Name"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\uo_keyboard" "UninstallString" '"$INSTDIR\uo_keyboard_uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\uo_keyboard" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\uo_keyboard" "NoRepair" 1
WriteUninstaller "$INSTDIR\uo_keyboard_uninstall.exe"
SectionEnd
; --- MARK: UNINSTALL
Section "Uninstall"
SetOutPath $INSTDIR
!insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED "uo_keyboard_x86.dll"
IfErrors 0 continue_after_x86
Abort "Failed to unregister x86 IME DLL."
continue_after_x86:
Delete "uo_keyboard_x86.pdb"
${If} ${RunningX64}
!define LIBRARY_X64
!insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED "uo_keyboard_amd64.dll"
IfErrors 0 continue_after_amd64
!undef LIBRARY_X64
!insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED "uo_keyboard_x86.dll"
Abort "Failed to unregister amd64 IME DLL."
continue_after_amd64:
Delete "uo_keyboard_amd64.pdb"
${EndIf}
Delete "$INSTDIR\uo_keyboard_uninstall.exe"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\uo_keyboard"
SectionEnd