Jskad/source/nsi/TranslationTool.nsi
2005-05-13 04:24:03 +00:00

280 lines
No EOL
9.3 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; Script generated by the HM NIS Edit Script Wizard.
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "The Tibetan Translation Tool"
!define PRODUCT_VERSION "3.1.2"
!define PRODUCT_PUBLISHER "Andres Montano in collaboration with THDL, University of Virginia"
!define PRODUCT_WEB_SITE "www.people.virginia.edu/~am2zb/tibetan/"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
!define PATH_TO_DIC "..\..\..\..\..\install-tibetan\TranslationTool\free"
!define PATH_TO_LIC "..\..\license"
!define PATH_TO_INSTALLERS "..\..\..\Fieldling\internal-stuff\programs"
!define JRE_INSTALLER "jre-1_5_0_02-windows-i586-p.exe"
; MUI 1.67 compatible ------
!include "MUI.nsh"
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; Language Selection Dialog Settings
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE "${PATH_TO_LIC}\amp_license.txt"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Start menu page
var ICONS_GROUP
!define MUI_STARTMENUPAGE_NODISABLE
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "THDL Tools"
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}"
!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Setup-TranslationTool.exe"
InstallDir "$PROGRAMFILES\Translation Tool"
ShowInstDetails show
ShowUnInstDetails show
XPStyle on
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
Section "MainSection" SEC01
SetOverwrite ifnewer
call GetJRE
SetOutPath "$INSTDIR"
File "${PATH_TO_LIC}\amp_license.txt"
File "${PATH_TO_LIC}\opl_license.txt"
File "${PATH_TO_LIC}\Readme.txt"
File "${PATH_TO_LIC}\thdl_license.txt"
File "${PATH_TO_LIC}\thdl_rationale.html"
File "${PATH_TO_DIC}\free.dic"
File "${PATH_TO_DIC}\free.def"
File "${PATH_TO_DIC}\free.wrd"
File "..\..\dist\lib-vanilla\DictionarySearchStandalone.jar"
File "TranslationTool.ico"
; Shortcuts
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd
Section -AdditionalIcons
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
Pop $R0
StrCpy $R0 '$R0\bin\javaw.exe'
StrCpy $R1 '-jar DictionarySearchStandalone.jar -firsttime free'
push $R0
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\${PRODUCT_NAME}.lnk" "$R0" "$R1" "$INSTDIR\TranslationTool.ico"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Translation Tool Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall Translation Tool.lnk" "$INSTDIR\uninst.exe"
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd
Section -InstallFonts
IfFileExists "$FONTS\timwn.ttf" nofont
SetOutPath "$FONTS"
File "C:\WINDOWS\Fonts\timwn.ttf"
File "C:\WINDOWS\Fonts\timwn1.ttf"
File "C:\WINDOWS\Fonts\timwn2.ttf"
File "C:\WINDOWS\Fonts\timwn3.ttf"
File "C:\WINDOWS\Fonts\timwn4.ttf"
File "C:\WINDOWS\Fonts\timwn5.ttf"
File "C:\WINDOWS\Fonts\timwn6.ttf"
File "C:\WINDOWS\Fonts\timwn7.ttf"
File "C:\WINDOWS\Fonts\timwn8.ttf"
File "C:\WINDOWS\Fonts\timwn9.ttf"
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentVersion"
IfErrors 0 lbl_nt
StrCpy $0 'SOFTWARE\Microsoft\Windows\CurrentVersion\Fonts'
Goto regfont
lbl_nt:
StrCpy $0 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts'
regfont:
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb (TrueType)" "timwn.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb1 (TrueType)" "timwn1.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb2 (TrueType)" "timwn2.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb3 (TrueType)" "timwn3.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb4 (TrueType)" "timwn4.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb5 (TrueType)" "timwn5.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb6 (TrueType)" "timwn6.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb7 (TrueType)" "timwn7.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb8 (TrueType)" "timwn8.ttf"
WriteRegStr HKEY_LOCAL_MACHINE "$0" "TibetanMachineWeb9 (TrueType)" "timwn9.ttf"
nofont:
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd
Function GetJRE
; Find JRE (Javaw.exe)
; 1 - in JAVA_HOME environment variable
; 2 - in the registry
Push $R0
Push $R1
;ClearErrors
;ReadEnvStr $R0 "JAVA_HOME"
;IfErrors 0 JreFound
ClearErrors
ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome"
IfErrors 0 JreFound
; Was not found. Install.
StrCmp $LANGUAGE "1033" wantjre_eng
; message in chinese
MessageBox MB_ICONEXCLAMATION|MB_YESNO \
'<27><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>װ<EFBFBD><D7B0>Java<76><61><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>$\n\
û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>${PRODUCT_NAME}<7D><>$\n$\n\
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' \
IDYES InstallJre
Abort
wantjre_eng:
MessageBox MB_ICONEXCLAMATION|MB_YESNO \
'Could not find a Java Runtime Environment installed on $\n\
your computer. Without it you cannot run ${PRODUCT_NAME}. $\n$\n\
Would you like to install it now?' \
IDYES InstallJre
Abort
InstallJre:
StrCmp $LANGUAGE "1033" jrewarning_eng
; warning in Chinese
MessageBox MB_OK \
'<27><>װ<EFBFBD><D7B0><EFBFBD>򽫿<EFBFBD>ʼ<EFBFBD><CABC>װJava<76><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$\n$\n\
<20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NO(<28><>)$\n\
ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ${PRODUCT_NAME}<7D><>'
goto resume_after_jrewarning
jrewarning_eng:
MessageBox MB_OK \
'The installer for the Java Runtime Enviroment will begin now. $\n$\n\
IMPORTANT: If it asks to restart the computer please click NO$\n\
in order to complete the ${PRODUCT_NAME} installation.'
resume_after_jrewarning:
SetOutPath "$TEMP"
File "${PATH_TO_INSTALLERS}\${JRE_INSTALLER}"
ExecWait "$TEMP\${JRE_INSTALLER}"
Delete "$TEMP\${JRE_INSTALLER}"
; Now find the path again
;ClearErrors
;ReadEnvStr $R0 "JAVA_HOME"
;IfErrors 0 JreFound
ClearErrors
ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome"
IfErrors 0 JreFound
StrCmp $LANGUAGE "1033" abortjre_eng
; Abort in Chinese
Abort 'δ<><CEB4><EFBFBD>ҵ<EFBFBD>Java<76><61><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װʧ<D7B0>ܡ<EFBFBD>'
abortjre_eng:
Abort 'Unable to find Java Runtime Environment.$\n\
Installation failed.'
JreFound:
Pop $R1
Exch $R0
FunctionEnd
Function un.onUninstSuccess
HideWindow
StrCmp $LANGUAGE "1033" removesuccess_eng
; Ask in Chinese
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳɹ<D1B3>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>"
Goto resume_after_remove
removesuccess_eng:
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
resume_after_remove:
FunctionEnd
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
StrCmp $LANGUAGE "1033" askifsure_eng
; ask in Chinese
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "<22><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ȫɾ<C8AB><C9BE>$(^Name) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" IDYES issure
Abort
askifsure_eng:
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES issure
Abort
issure:
FunctionEnd
Section Uninstall
!insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\amp_license.txt"
Delete "$INSTDIR\opl_license.txt"
Delete "$INSTDIR\Readme.txt"
Delete "$INSTDIR\thdl_license.txt"
Delete "$INSTDIR\thdl_rationale.html"
Delete "$INSTDIR\free.dic"
Delete "$INSTDIR\free.def"
Delete "$INSTDIR\free.wrd"
Delete "$INSTDIR\DictionarySearchStandalone.jar"
Delete "$INSTDIR\TranslationTool.ico"
Delete "$SMPROGRAMS\$ICONS_GROUP\${PRODUCT_NAME}.lnk"
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall Translation Tool.lnk"
Delete "$SMPROGRAMS\$ICONS_GROUP\Translation Tool Website.lnk"
RMDir "$SMPROGRAMS\$ICONS_GROUP"
RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd