1; Script generated by the HM NIS Edit Script Wizard.
2
3; HM NIS Edit Wizard helper defines
4!define PRODUCT_NAME "OpenVanilla"
5!define PRODUCT_VERSION "0.7.2rc1-20051116"
6!define PRODUCT_PUBLISHER "openvanilla.org"
7!define PRODUCT_WEB_SITE "http://openvanilla.org"
8!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
9!define PRODUCT_UNINST_ROOT_KEY "HKLM"
10!define IME_ROOT_KEY "HKLM"
11!define IME_KEY "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\"
12!define IME_KEY_USER "Keyboard Layout\Preload"
13
14SetCompressor lzma
15
16; MUI 1.67 compatible ------
17!include "MUI.nsh"
18
19; MUI Settings
20!define MUI_ABORTWARNING
21!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
22!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
23
24; Language Selection Dialog Settings
25!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
26!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
27!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
28
29; Welcome page
30!insertmacro MUI_PAGE_WELCOME
31; License page
32!insertmacro MUI_PAGE_LICENSE "..\..\..\Documents\OSX\Installer\zh_TW.lproj\License.rtf"
33; Directory page
34;!insertmacro MUI_PAGE_DIRECTORY
35; Instfiles page
36!insertmacro MUI_PAGE_INSTFILES
37; Finish page
38!insertmacro MUI_PAGE_FINISH
39
40; Uninstaller pages
41!insertmacro MUI_UNPAGE_INSTFILES
42
43; Language files
44!insertmacro MUI_LANGUAGE "English"
45!insertmacro MUI_LANGUAGE "TradChinese"
46
47; Reserve files
48!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
49
50; MUI end ------
51
52Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
53OutFile "OpenVanilla-Win32.exe"
54InstallDir "$WINDIR\OpenVanilla"
55ShowInstDetails show
56ShowUnInstDetails show
57
58Function .onInit
59  ReadRegStr $0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Key"
60  StrCmp $0 "" +3 0
61	  MessageBox MB_ICONINFORMATION|MB_OK "������w�w�� OpenVanilla �A�в����᭫�s�w�ˡC"
62	  Abort
63  !insertmacro MUI_LANGDLL_DISPLAY
64FunctionEnd
65
66Section "MainSection" SEC01
67  SetOutPath "$SYSDIR"
68  SetOverwrite ifnewer
69  File "System32\OVIME.ime"
70  File "System32\libltdl3.dll"
71  File "System32\libiconv-2.dll"
72  File "System32\tinyxml.dll"
73  File "System32\OVIMEUI.DLL"
74  File "System32\OVIME.ime"
75SectionEnd
76
77Section "Modules" SEC02
78  SetOutPath "$WINDIR\OpenVanilla"
79  SetOVerwrite ifnewer
80  File /r "zh_TW"
81  File "OVPreferences.exe"
82  File "OVPreferences.exe.manifest"
83  File "CSharpFormLibrary.dll"
84  SetOutPath "$WINDIR\OpenVanilla\Modules"
85  File "Modules\OVIMRoman.DLL"
86SectionEnd
87
88Section -AdditionalIcons
89  SetOutPath $INSTDIR
90  CreateDirectory "$SMPROGRAMS\OpenVanilla"
91  CreateShortCut "$SMPROGRAMS\OpenVanilla\Uninstall.lnk" "$INSTDIR\uninst.exe"
92  CreateShortCut "$SMPROGRAMS\OpenVanilla\OVPreferences.lnk" "$WINDIR\OpenVanilla\OVPreferences.exe"
93SectionEnd
94
95Section -Post
96  WriteUninstaller "$INSTDIR\uninst.exe"
97  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
98  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
99  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
100  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
101  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
102  System::Call 'imm32::ImmInstallIME(t "$SYSDIR\OVIME.ime", t "���� (�c��) - OpenVanilla")'
103  registry::Open /NOUNLOAD "${IME_ROOT_KEY}\${IME_KEY}" /N="OVIME.ime" /G=1 /T=REG_SZ .r0
104  registry::Find /NOUNLOAD .r1 .r2 .r3 .r4
105  StrLen $5 "${IME_KEY}"
106  StrCpy $6 $1 "" $5
107  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Key" "$6"
108  System::Call "user32::LoadKeyboardLayout(t $6, i 1)"
109#  Exec "$WINDIR\OpenVanilla\OVPreferences.exe"
110  MessageBox MB_YESNO "�Y�z�O�즸�w�ˡA�h�����s�}���C�O�_�n�ߨ譫�}���H" IDNO noreboot
111    Reboot
112noreboot:
113SectionEnd
114
115
116Function un.onUninstSuccess
117  HideWindow
118  MessageBox MB_ICONINFORMATION|MB_OK "OpenVanilla �w���\�a�q�A���q�������C"
119FunctionEnd
120
121Function un.onInit
122!insertmacro MUI_UNGETLANGUAGE
123  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "�A�T�w�n�������� OpenVanilla �A��ΩҦ�������H" IDYES +2
124  Abort
125FunctionEnd
126
127Section Uninstall
128  Delete "$INSTDIR\uninst.exe"
129  Delete "$SYSDIR\libltdl3.dll"
130  Delete "$SYSDIR\libiconv-2.dll"
131  Delete "$SYSDIR\tinyxml.dll"
132  Delete "$SYSDIR\OVIMEUI.DLL"
133  Delete "$SYSDIR\OVIME.ime"
134  Delete "$WINDIR\OpenVanilla\OVPreferences.exe"
135  Delete "$WINDIR\OpenVanilla\OVPreferences.exe.manifest"
136  RMDir /r "$WINDIR\OpenVanilla\zh_TW"
137  Delete "$WINDIR\OpenVanilla\Modules\OVIMRoman.DLL"
138  RMDir "$WINDIR\OpenVanilla\Modules"
139
140  Delete "$SMPROGRAMS\OpenVanilla\Uninstall.lnk"
141  Delete "$SMPROGRAMS\OpenVanilla\OVPreferences.lnk"
142
143  RMDir "$SMPROGRAMS\OpenVanilla"
144
145  ReadRegStr $0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Key"
146  DeleteRegKey ${IME_ROOT_KEY} "${IME_KEY}$0"
147  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
148
149  SetAutoClose true
150SectionEnd
151