# Auto-generated by EclipseNSIS Script Wizard # Jan 31, 2006 6:47:50 PM Name Slate # Defines !define REGKEY "SOFTWARE\$(^Name)" !define VERSION 0.4 !define COMPANY "Brian T. Rice" !define URL http://slate.tunes.org/ # MUI defines !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-full.ico" !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_LICENSEPAGE_RADIOBUTTONS !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM !define MUI_STARTMENUPAGE_NODISABLE !define MUI_STARTMENUPAGE_REGISTRY_KEY Software\Slate !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup !define MUI_STARTMENUPAGE_DEFAULT_FOLDER Slate !define MUI_FINISHPAGE_RUN $INSTDIR\vm.exe !define MUI_FINISHPAGE_RUN_PARAMETERS "-i $INSTDIR\slate.image" !define MUI_FINISHPAGE_SHOWREADME "start $INSTDIR\README.txt" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-full.ico" !define MUI_UNFINISHPAGE_NOAUTOCLOSE !define MUI_LANGDLL_REGISTRY_ROOT HKLM !define MUI_LANGDLL_REGISTRY_KEY ${REGKEY} !define MUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage # Included files !include Sections.nsh !include MUI.nsh # Reserved Files !insertmacro MUI_RESERVEFILE_LANGDLL # Variables Var StartMenuGroup # Installer pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE ..\..\..\..\Slate\endian\LICENSE.txt !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES # Installer languages !insertmacro MUI_LANGUAGE English !insertmacro MUI_LANGUAGE Albanian !insertmacro MUI_LANGUAGE Arabic !insertmacro MUI_LANGUAGE Belarusian !insertmacro MUI_LANGUAGE Bosnian !insertmacro MUI_LANGUAGE Breton !insertmacro MUI_LANGUAGE Bulgarian !insertmacro MUI_LANGUAGE Catalan !insertmacro MUI_LANGUAGE Croatian !insertmacro MUI_LANGUAGE Czech !insertmacro MUI_LANGUAGE Danish !insertmacro MUI_LANGUAGE Dutch !insertmacro MUI_LANGUAGE Estonian !insertmacro MUI_LANGUAGE Farsi !insertmacro MUI_LANGUAGE Finnish !insertmacro MUI_LANGUAGE French !insertmacro MUI_LANGUAGE German !insertmacro MUI_LANGUAGE Greek !insertmacro MUI_LANGUAGE Hebrew !insertmacro MUI_LANGUAGE Hungarian !insertmacro MUI_LANGUAGE Icelandic !insertmacro MUI_LANGUAGE Indonesian !insertmacro MUI_LANGUAGE Italian !insertmacro MUI_LANGUAGE Japanese !insertmacro MUI_LANGUAGE Korean !insertmacro MUI_LANGUAGE Kurdish !insertmacro MUI_LANGUAGE Latvian !insertmacro MUI_LANGUAGE Lithuanian !insertmacro MUI_LANGUAGE Luxembourgish !insertmacro MUI_LANGUAGE Macedonian !insertmacro MUI_LANGUAGE Malay !insertmacro MUI_LANGUAGE Mongolian !insertmacro MUI_LANGUAGE Norwegian !insertmacro MUI_LANGUAGE Polish !insertmacro MUI_LANGUAGE Portuguese !insertmacro MUI_LANGUAGE PortugueseBR !insertmacro MUI_LANGUAGE Romanian !insertmacro MUI_LANGUAGE Russian !insertmacro MUI_LANGUAGE Serbian !insertmacro MUI_LANGUAGE SerbianLatin !insertmacro MUI_LANGUAGE SimpChinese !insertmacro MUI_LANGUAGE Slovak !insertmacro MUI_LANGUAGE Slovenian !insertmacro MUI_LANGUAGE Spanish !insertmacro MUI_LANGUAGE Swedish !insertmacro MUI_LANGUAGE Thai !insertmacro MUI_LANGUAGE TradChinese !insertmacro MUI_LANGUAGE Turkish !insertmacro MUI_LANGUAGE Ukrainian # Installer attributes OutFile SlateSetup.exe InstallDir $PROGRAMFILES\Slate CRCCheck on XPStyle on ShowInstDetails show VIProductVersion 0.4.0.0 VIAddVersionKey /LANG=${LANG_ENGLISH} ProductName Slate VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey /LANG=${LANG_ENGLISH} CompanyName "${COMPANY}" VIAddVersionKey /LANG=${LANG_ENGLISH} CompanyWebsite "${URL}" VIAddVersionKey /LANG=${LANG_ENGLISH} FileVersion "" VIAddVersionKey /LANG=${LANG_ENGLISH} FileDescription "" VIAddVersionKey /LANG=${LANG_ENGLISH} LegalCopyright "" InstallDirRegKey HKLM "${REGKEY}" Path ShowUninstDetails show # Installer sections Section !Main SEC0000 SetOutPath $INSTDIR SetOverwrite on File ..\..\..\..\Slate\endian\vm.c File ..\..\..\..\Slate\endian\vm.exe File ..\..\..\..\Slate\endian\vm.h File ..\..\..\..\Slate\endian\AutoLoad File ..\..\..\..\Slate\endian\slate.image File ..\..\..\..\Slate\endian\kernel.image SetOutPath $INSTDIR\lib File /r ..\..\..\..\Slate\endian\lib\* SetOutPath $INSTDIR File ..\..\..\..\Slate\endian\VERSION File ..\..\..\..\Slate\endian\BUGS File ..\..\..\..\Slate\endian\CREDITS File ..\..\..\..\Slate\endian\NEWS File ..\..\..\..\Slate\endian\INSTALL.txt File ..\..\..\..\Slate\endian\LICENSE.txt File ..\..\..\..\Slate\endian\README.txt WriteRegStr HKLM "${REGKEY}\Components" Main 1 SectionEnd SectionGroup /e "Library Sources" SECGRP0000 Section "Standard Libaries" SEC0001 SetOutPath $INSTDIR\src\lib SetOverwrite on File /r ..\..\..\..\Slate\endian\src\lib\* WriteRegStr HKLM "${REGKEY}\Components" "Standard Libaries" 1 SectionEnd Section Mobius SEC0002 SetOutPath $INSTDIR\src\mobius SetOverwrite on File /r ..\..\..\..\Slate\endian\src\mobius\* WriteRegStr HKLM "${REGKEY}\Components" Mobius 1 SectionEnd Section Internationalization SEC0003 SetOutPath $INSTDIR\src\i18n SetOverwrite on File /r ..\..\..\..\Slate\endian\src\i18n\* WriteRegStr HKLM "${REGKEY}\Components" Internationalization 1 SectionEnd SectionGroupEnd Section Plugins SEC0004 SetOutPath $INSTDIR\src\plugins SetOverwrite on File /r ..\..\..\..\Slate\endian\src\plugins\* WriteRegStr HKLM "${REGKEY}\Components" Plugins 1 SectionEnd Section /o Tests SEC0005 SetOutPath $INSTDIR\tests SetOverwrite on File /r ..\..\..\..\Slate\endian\tests\* WriteRegStr HKLM "${REGKEY}\Components" Tests 1 SectionEnd Section Documentation SEC0006 SetOutPath $INSTDIR\doc SetOverwrite on File ..\..\..\..\Slate\endian\doc\* File ..\..\..\..\Slate\endian\doc\smalltalk_readme.html File ..\..\..\..\Slate\endian\doc\adaptive.txt File ..\..\..\..\Slate\endian\doc\benchmarks.txt File ..\..\..\..\Slate\endian\doc\bytecode.txt File ..\..\..\..\Slate\endian\doc\gc.txt File ..\..\..\..\Slate\endian\doc\image.txt File ..\..\..\..\Slate\endian\doc\ir2mr.txt File ..\..\..\..\Slate\endian\doc\ir_notes.txt File ..\..\..\..\Slate\endian\doc\mode_notes.txt File ..\..\..\..\Slate\endian\doc\mr_notes.txt File ..\..\..\..\Slate\endian\doc\objects.txt File ..\..\..\..\Slate\endian\doc\slate.bnf File ..\..\..\..\Slate\endian\doc\slate_notes.txt File ..\..\..\..\Slate\endian\doc\progman.pdf WriteRegStr HKLM "${REGKEY}\Components" Documentation 1 SectionEnd Section -post SEC0007 WriteRegStr HKLM "${REGKEY}" Path $INSTDIR WriteUninstaller $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_BEGIN Application SetOutPath $SMPROGRAMS\$StartMenuGroup CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^UninstallLink).lnk" $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_END WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 SectionEnd # Macro for selecting uninstaller sections !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID Push $R0 ReadRegStr $R0 HKLM "${REGKEY}\Components" "${SECTION_NAME}" StrCmp $R0 1 0 next${UNSECTION_ID} !insertmacro SelectSection "${UNSECTION_ID}" GoTo done${UNSECTION_ID} next${UNSECTION_ID}: !insertmacro UnselectSection "${UNSECTION_ID}" done${UNSECTION_ID}: Pop $R0 !macroend # Uninstaller sections Section /o un.Documentation UNSEC0006 Delete /REBOOTOK $INSTDIR\doc\progman.pdf Delete /REBOOTOK $INSTDIR\doc\slate_notes.txt Delete /REBOOTOK $INSTDIR\doc\slate.bnf Delete /REBOOTOK $INSTDIR\doc\objects.txt Delete /REBOOTOK $INSTDIR\doc\mr_notes.txt Delete /REBOOTOK $INSTDIR\doc\mode_notes.txt Delete /REBOOTOK $INSTDIR\doc\ir_notes.txt Delete /REBOOTOK $INSTDIR\doc\ir2mr.txt Delete /REBOOTOK $INSTDIR\doc\image.txt Delete /REBOOTOK $INSTDIR\doc\gc.txt Delete /REBOOTOK $INSTDIR\doc\bytecode.txt Delete /REBOOTOK $INSTDIR\doc\benchmarks.txt Delete /REBOOTOK $INSTDIR\doc\adaptive.txt Delete /REBOOTOK $INSTDIR\doc\smalltalk_readme.html Delete /REBOOTOK $INSTDIR\doc\* RmDir /REBOOTOK $INSTDIR\doc DeleteRegValue HKLM "${REGKEY}\Components" Documentation SectionEnd Section /o un.Tests UNSEC0005 RmDir /r /REBOOTOK $INSTDIR\tests DeleteRegValue HKLM "${REGKEY}\Components" Tests SectionEnd Section /o un.Plugins UNSEC0004 RmDir /r /REBOOTOK $INSTDIR\src\plugins DeleteRegValue HKLM "${REGKEY}\Components" Plugins SectionEnd Section /o un.Internationalization UNSEC0003 RmDir /r /REBOOTOK $INSTDIR\src\i18n DeleteRegValue HKLM "${REGKEY}\Components" Internationalization SectionEnd Section /o un.Mobius UNSEC0002 RmDir /r /REBOOTOK $INSTDIR\src\mobius DeleteRegValue HKLM "${REGKEY}\Components" Mobius SectionEnd Section /o "un.Standard Libaries" UNSEC0001 RmDir /r /REBOOTOK $INSTDIR\src\lib DeleteRegValue HKLM "${REGKEY}\Components" "Standard Libaries" SectionEnd Section /o un.Main UNSEC0000 Delete /REBOOTOK $INSTDIR\README.txt Delete /REBOOTOK $INSTDIR\LICENSE.txt Delete /REBOOTOK $INSTDIR\INSTALL.txt Delete /REBOOTOK $INSTDIR\NEWS Delete /REBOOTOK $INSTDIR\CREDITS Delete /REBOOTOK $INSTDIR\BUGS Delete /REBOOTOK $INSTDIR\VERSION RmDir /r /REBOOTOK $INSTDIR\lib Delete /REBOOTOK $INSTDIR\kernel.image Delete /REBOOTOK $INSTDIR\slate.image Delete /REBOOTOK $INSTDIR\AutoLoad Delete /REBOOTOK $INSTDIR\vm.h Delete /REBOOTOK $INSTDIR\vm.exe Delete /REBOOTOK $INSTDIR\vm.c DeleteRegValue HKLM "${REGKEY}\Components" Main SectionEnd Section un.post UNSEC0007 DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^UninstallLink).lnk" Delete /REBOOTOK $INSTDIR\uninstall.exe DeleteRegValue HKLM "${REGKEY}" StartMenuGroup DeleteRegValue HKLM "${REGKEY}" Path DeleteRegKey /IfEmpty HKLM "${REGKEY}\Components" DeleteRegKey /IfEmpty HKLM "${REGKEY}" RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup RmDir /REBOOTOK $INSTDIR SectionEnd # Installer functions Function .onInit InitPluginsDir !insertmacro MUI_LANGDLL_DISPLAY FunctionEnd # Uninstaller functions Function un.onInit ReadRegStr $INSTDIR HKLM "${REGKEY}" Path ReadRegStr $StartMenuGroup HKLM "${REGKEY}" StartMenuGroup !insertmacro MUI_UNGETLANGUAGE !insertmacro SELECT_UNSECTION Main ${UNSEC0000} !insertmacro SELECT_UNSECTION "Standard Libaries" ${UNSEC0001} !insertmacro SELECT_UNSECTION Mobius ${UNSEC0002} !insertmacro SELECT_UNSECTION Internationalization ${UNSEC0003} !insertmacro SELECT_UNSECTION Plugins ${UNSEC0004} !insertmacro SELECT_UNSECTION Tests ${UNSEC0005} !insertmacro SELECT_UNSECTION Documentation ${UNSEC0006} FunctionEnd # Installer Language Strings # TODO Update the Language Strings with the appropriate translations. LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_ALBANIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_ARABIC} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_BELARUSIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_BOSNIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_BRETON} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_BULGARIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_CATALAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_CROATIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_CZECH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_DANISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_DUTCH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_ESTONIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_FARSI} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_FINNISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_FRENCH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_GERMAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_GREEK} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_HEBREW} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_HUNGARIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_ICELANDIC} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_INDONESIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_ITALIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_JAPANESE} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_KOREAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_KURDISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_LATVIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_LITHUANIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_LUXEMBOURGISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_MACEDONIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_MALAY} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_MONGOLIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_NORWEGIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_POLISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_PORTUGUESE} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_PORTUGUESEBR} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_ROMANIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_RUSSIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_SERBIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_SERBIANLATIN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_SIMPCHINESE} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_SLOVAK} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_SLOVENIAN} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_SPANISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_SWEDISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_THAI} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_TRADCHINESE} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_TURKISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_UKRAINIAN} "Uninstall $(^Name)"