;-------------------------------- ;Include Modern UI !include "MUI.nsh" ;-------------------------------- ;General ;Name and file !define VERSION "9.1" Name "Amaya WX ${VERSION}" OutFile "amaya-WinXP-${VERSION}.exe" ;Use lzma to compress (better than zip) SetCompressor lzma ;Default installation folder InstallDir "$PROGRAMFILES\AmayaWX" ;Get installation folder from registry if available InstallDirRegKey HKCU "Software\AmayaWX" "" ;-------------------------------- ;Variables Var STARTMENU_FOLDER ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING ;-------------------------------- ;Language Selection Dialog Settings ;Remember the installer language !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" !define MUI_LANGDLL_REGISTRY_KEY "Software\AmayaWX" !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" ;-------------------------------- ;Pages !insertmacro MUI_PAGE_LICENSE "amaya\COPYRIGHT" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY ;Start Menu Folder Page Configuration !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\AmayaWX" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER !insertmacro MUI_PAGE_INSTFILES !define MUI_FINISHPAGE_LINK "Visit the Amaya site for the latest news, FAQs and support" !define MUI_FINISHPAGE_LINK_LOCATION "http://www.w3.org/Amaya" !define MUI_FINISHPAGE_RUN "$INSTDIR\WindowsWX\bin\amaya.exe" !define MUI_FINISHPAGE_NOREBOOTSUPPORT !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Spanish" ; !insertmacro MUI_LANGUAGE "SimpChinese" ; !insertmacro MUI_LANGUAGE "TradChinese" ; !insertmacro MUI_LANGUAGE "Japanese" ; !insertmacro MUI_LANGUAGE "Korean" ; !insertmacro MUI_LANGUAGE "Italian" ; !insertmacro MUI_LANGUAGE "Dutch" ; !insertmacro MUI_LANGUAGE "Danish" ; !insertmacro MUI_LANGUAGE "Swedish" ; !insertmacro MUI_LANGUAGE "Norwegian" ; !insertmacro MUI_LANGUAGE "Finnish" ; !insertmacro MUI_LANGUAGE "Greek" !insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Portuguese" ; !insertmacro MUI_LANGUAGE "PortugueseBR" ; !insertmacro MUI_LANGUAGE "Polish" ; !insertmacro MUI_LANGUAGE "Ukrainian" ; !insertmacro MUI_LANGUAGE "Czech" ; !insertmacro MUI_LANGUAGE "Slovak" ; !insertmacro MUI_LANGUAGE "Croatian" ; !insertmacro MUI_LANGUAGE "Bulgarian" ; !insertmacro MUI_LANGUAGE "Hungarian" ; !insertmacro MUI_LANGUAGE "Thai" ; !insertmacro MUI_LANGUAGE "Romanian" ; !insertmacro MUI_LANGUAGE "Latvian" ; !insertmacro MUI_LANGUAGE "Macedonian" ; !insertmacro MUI_LANGUAGE "Estonian" !insertmacro MUI_LANGUAGE "Turkish" ; !insertmacro MUI_LANGUAGE "Lithuanian" ; !insertmacro MUI_LANGUAGE "Catalan" ; !insertmacro MUI_LANGUAGE "Slovenian" ; !insertmacro MUI_LANGUAGE "Serbian" ; !insertmacro MUI_LANGUAGE "SerbianLatin" ; !insertmacro MUI_LANGUAGE "Arabic" ; !insertmacro MUI_LANGUAGE "Farsi" ; !insertmacro MUI_LANGUAGE "Hebrew" ; !insertmacro MUI_LANGUAGE "Indonesian" ; !insertmacro MUI_LANGUAGE "Mongolian" ; !insertmacro MUI_LANGUAGE "Luxembourgish" ; !insertmacro MUI_LANGUAGE "Albanian" ;-------------------------------- ;Reserve Files ;These files should be inserted before other files in the data block ;Keep these lines before any File command ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA) !insertmacro MUI_RESERVEFILE_LANGDLL ;-------------------------------- ;Installer Sections Section "Amaya" SecAmaya SetDetailsPrint textonly DetailPrint "Testing supported OS..." SetDetailsPrint listonly ;XXXXXXXXXXXXXXXXXXXXXXXXXX ;Test the platform ;XXXXXXXXXXXXXXXXXXXXXXXXXX ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion StrCmp $R0 "" lbl_notwinnt lbl_winnt ; we are not NT lbl_notwinnt: ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber StrCpy $R1 $R0 1 StrCmp $R1 '4' 0 lbl_error StrCpy $R1 $R0 3 StrCmp $R1 '4.0' lbl_win32_95 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 lbl_win32_95: Abort "Win95 not supported" lbl_win32_98: Abort "Win98 not supported" lbl_win32_ME: Abort "WinME not supported" lbl_winnt: StrCpy $R1 $R0 1 StrCmp $R1 '3' lbl_winnt_x StrCmp $R1 '4' lbl_winnt_x StrCpy $R1 $R0 3 StrCmp $R1 '5.0' lbl_winnt_2000 StrCmp $R1 '5.1' lbl_winnt_XP StrCmp $R1 '5.2' lbl_winnt_2003 Goto lbl_error lbl_winnt_x: StrCpy $R0 "NT $R0" 6 Goto lbl_done lbl_winnt_2000: Strcpy $R0 '2000' Goto lbl_done lbl_winnt_XP: Strcpy $R0 'XP' Goto lbl_done lbl_winnt_2003: Strcpy $R0 '2003' Goto lbl_done lbl_error: Abort "Only WinXP/2k/NT are supported" lbl_done: ;XXXXXXXXXXXXXXXXXXXXXXXXXX ;This section is required : readonly mode SectionIn RO SetDetailsPrint textonly DetailPrint "Installing Amaya binaries and wxWidgets DLL" SetDetailsPrint listonly SetOutPath "$INSTDIR\WindowsWX\bin" File WindowsWX\bin\amaya.exe File WindowsWX\bin\wxmsw*u_xrc_vc_custom.dll File WindowsWX\bin\wxmsw*u_html_vc_custom.dll File WindowsWX\bin\wxmsw*u_core_vc_custom.dll File WindowsWX\bin\wxmsw*u_adv_vc_custom.dll File WindowsWX\bin\wxmsw*u_gl_vc_custom.dll File WindowsWX\bin\wxbase*u_vc_custom.dll File WindowsWX\bin\wxbase*u_xml_vc_custom.dll ; File WindowsWX\bin\thotprinter.exe SetDetailsPrint textonly DetailPrint "Installing Amaya resources : icons, dialogues" SetDetailsPrint listonly SetOutPath "$INSTDIR\resources\icons\misc" File resources\icons\misc\*.png File resources\icons\misc\*.gif File resources\icons\misc\*.ico SetOutPath "$INSTDIR\resources\icons\16x16" File resources\icons\16x16\*.png File resources\icons\16x16\*.gif File resources\icons\16x16\*.ico SetOutPath "$INSTDIR\resources\icons\22x22" File resources\icons\22x22\*.png File resources\icons\22x22\*.gif File resources\icons\22x22\*.ico SetOutPath "$INSTDIR\resources\xrc" File resources\xrc\*.xrc SetOutPath "$INSTDIR\amaya\wxdialog" File amaya\wxdialog\appicon.ico File amaya\wxdialog\amaya.rc SetDetailsPrint textonly DetailPrint "Installing Amaya schemas" SetDetailsPrint listonly SetOutPath "$INSTDIR\amaya" File amaya\COPYRIGHT File amaya\*.png File amaya\*.gif File amaya\*.css File amaya\*.html* File amaya\*.PRS File amaya\*.STR File amaya\*.TRA File amaya\*.conf File amaya\*.en File amaya\*.trans* File amaya\*.ico File amaya\*.svg SetDetailsPrint textonly DetailPrint "Installing annotlib schemas" SetDetailsPrint listonly SetOutPath "$INSTDIR\annotlib" File annotlib\*.png File annotlib\*.gif File annotlib\*.PRS File annotlib\*.STR File annotlib\*.TRA File annotlib\*.en SetDetailsPrint textonly DetailPrint "Installing Amaya config files" SetDetailsPrint listonly SetOutPath "$INSTDIR\config\libconfig" File config\libconfig\*.png File config\libconfig\*.svg File config\libconfig\*.css File config\libconfig\*.lhtml SetOutPath "$INSTDIR\config" File config\*-amayadialogue File config\*-libdialogue File config\*-amayamsg File config\*-libdialogue File config\lib_files.dat File config\fonts.* File config\amaya.kb File config\amaya.profiles File config\*.rdf File config\annot.schemas File config\win-thot.rc SetDetailsPrint textonly DetailPrint "Installing Amaya dictionnaries" SetDetailsPrint listonly SetOutPath "$INSTDIR\dicopar" File dicopar\alphabet File dicopar\*.ptn File dicopar\clavier File dicopar\*.dic SetDetailsPrint textonly DetailPrint "Installing Amaya documentation" SetDetailsPrint listonly SetOutPath "$INSTDIR\doc\WX" File doc\WX\* SetOutPath "$INSTDIR\doc\WX\HTML-elements" File doc\WX\HTML-elements\* SetOutPath "$INSTDIR\doc\html" File doc\html\* SetOutPath "$INSTDIR\doc\html\accessibility_in_amaya" File doc\html\accessibility_in_amaya\* SetOutPath "$INSTDIR\doc\html\attaching_annotations" File doc\html\attaching_annotations\* SetOutPath "$INSTDIR\doc\html\browsing" File doc\html\browsing\* SetOutPath "$INSTDIR\doc\html\configuring_amaya" File doc\html\configuring_amaya\* SetOutPath "$INSTDIR\doc\html\editing_attributes" File doc\html\editing_attributes\* SetOutPath "$INSTDIR\doc\html\editing_documents" File doc\html\editing_documents\* SetOutPath "$INSTDIR\doc\html\editing_iso-latin-1_characters" File doc\html\editing_iso-latin-1_characters\* SetOutPath "$INSTDIR\doc\html\editing_mathematics" File doc\html\editing_mathematics\* SetOutPath "$INSTDIR\doc\html\editing_tables" File doc\html\editing_tables\* SetOutPath "$INSTDIR\doc\html\elements" File doc\html\elements\* SetOutPath "$INSTDIR\doc\html\HTML-elements" File doc\html\HTML-elements\* SetOutPath "$INSTDIR\doc\html\linking" File doc\html\linking\* SetOutPath "$INSTDIR\doc\html\printing" File doc\html\printing\* SetOutPath "$INSTDIR\doc\html\saving_and_publishing_documents" File doc\html\saving_and_publishing_documents\* SetOutPath "$INSTDIR\doc\html\searching_and_replacing_text" File doc\html\searching_and_replacing_text\* SetOutPath "$INSTDIR\doc\html\selecting" File doc\html\selecting\* SetOutPath "$INSTDIR\doc\html\spell_checking" File doc\html\spell_checking\* SetOutPath "$INSTDIR\doc\html\style_sheets" File doc\html\style_sheets\* SetOutPath "$INSTDIR\doc\html\using_graphics" File doc\html\using_graphics\* SetOutPath "$INSTDIR\doc\html\using_image_maps" File doc\html\using_image_maps\* SetOutPath "$INSTDIR\doc\html\using_the_makebook_function" File doc\html\using_the_makebook_function\* SetOutPath "$INSTDIR\doc\html\using_xml" File doc\html\using_xml\* SetOutPath "$INSTDIR\doc\html\viewing" File doc\html\viewing\* SetOutPath "$INSTDIR\doc\images" File doc\images\* SetDetailsPrint textonly DetailPrint "Installing Amaya ttf fonts" SetDetailsPrint listonly SetOutPath "$INSTDIR\fonts" File fonts\* SetDetailsPrint textonly DetailPrint "Writting registry keys" SetDetailsPrint listonly ;Store installation folder WriteRegStr HKCU "Software\AmayaWX" "" $INSTDIR WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AmayaWX" "UninstallString" '"$INSTDIR\Uninstall.exe"' WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AmayaWX" "InstallLocation" "$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AmayaWX" "DisplayName" "Amaya" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AmayaWX" "DisplayIcon" "$INSTDIR\WindowsWX\bin\amaya.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AmayaWX" "DisplayVersion" "${VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AmayaWX" "URLInfoAbout" "http://www.w3.org/Amaya" ; Associate files to amaya WriteRegStr HKCR "Amaya" "" "Amaya Files" WriteRegStr HKCR "Amaya\DefaultIcon" "" "$INSTDIR\WindowsWX\bin\amaya.exe" ReadRegStr $R0 HKCR "Amaya\shell\open\command" "" StrCmp $R0 "" 0 no_amayaopen WriteRegStr HKCR "Amaya\shell" "" "open" WriteRegStr HKCR "Amaya\shell\open\command" "" '"$INSTDIR\WindowsWX\bin\amaya.exe" "%1"' no_amayaopen: ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" ;Start Menu !insertmacro MUI_STARTMENU_WRITE_BEGIN Application ;Create shortcuts CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Amaya.lnk" "$INSTDIR\WindowsWX\bin\amaya.exe" !insertmacro MUI_STARTMENU_WRITE_END ;Create desktop link CreateShortCut "$DESKTOP\AmayaWX.lnk" "$INSTDIR\WindowsWX\bin\amaya.exe" SectionEnd SubSection "File association" SecFileAss Section ".html (HyperText Markup Language)" SecAssHTML WriteRegStr HKCR ".html" "" "Amaya" SectionEnd Section ".xml (eXtensible Markup Language)" SecAssXML WriteRegStr HKCR ".xml" "" "Amaya" SectionEnd Section ".svg (Scalable Vector Graphics)" SecAssSVG WriteRegStr HKCR ".svg" "" "Amaya" SectionEnd Section ".mml (MathML)" SecAssMML WriteRegStr HKCR ".mml" "" "Amaya" SectionEnd Section ".css (Cascading Style Sheets)" SecAssCSS WriteRegStr HKCR ".css" "" "Amaya" SectionEnd SubSectionEnd ;-------------------------------- ;Installer Functions Function .onInit !insertmacro MUI_LANGDLL_DISPLAY FunctionEnd ;-------------------------------- ;Descriptions ;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC ;Assign descriptions to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecAmaya} "Amaya." !insertmacro MUI_DESCRIPTION_TEXT ${SecFileAss} "Amaya files associations." !insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ;Uninstaller Section Section "Uninstall" SetDetailsPrint textonly DetailPrint "Uninstalling Amaya..." SetDetailsPrint listonly IfFileExists $INSTDIR\WindowsWX\bin\amaya.exe amaya_installed MessageBox MB_YESNO "It does not appear that Amaya is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES amaya_installed Abort "Uninstall aborted by user" amaya_installed: SetDetailsPrint textonly DetailPrint "Deleting Files..." SetDetailsPrint listonly ReadRegStr $STARTMENU_FOLDER HKCU "Software\AmayaWX" "Start Menu Folder" IfFileExists "$SMPROGRAMS\$STARTMENU_FOLDER\Amaya.lnk" amaya_smp_installed Goto amaya_smp_notinstalled amaya_smp_installed: Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Amaya.lnk" Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" RMDir "$SMPROGRAMS\$STARTMENU_FOLDER" Delete "$DESKTOP\AmayaWX.lnk" amaya_smp_notinstalled: RMDir /r "$INSTDIR" SetDetailsPrint textonly DetailPrint "Deleting Registry Keys..." SetDetailsPrint listonly DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AmayaWX" DeleteRegKey HKLM "Software\AmayaWX" DeleteRegKey HKCR "Amaya" DeleteRegKey HKCU "Software\AmayaWX" SectionEnd ;-------------------------------- ;Uninstaller Functions Function un.onInit !insertmacro MUI_UNGETLANGUAGE FunctionEnd