# Auto-generated by EclipseNSIS Script Wizard # 01.02.2008 13:45:33 SetCompressor /SOLID bzip2 # Defines !define REGKEY "SOFTWARE\$(^Name)" !define PRODUCT_NAME "xx" !define VERSION 1 !define COMPANY xx !define URL http://www.x.de !define LANG_DE "deutsch" !define LANG_EN "english" # MUI defines !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup !define MUI_STARTMENUPAGE_DEFAULTFOLDER "${PRODUCT_NAME}" !define MUI_UNFINISHPAGE_NOAUTOCLOSE !define MUI_LANGDLL_REGISTRY_ROOT HKLM !define MUI_LANGDLL_REGISTRY_KEY ${REGKEY} !define MUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage # Included files, plugins, directories !include Sections.nsh !include MUI.nsh !include LogicLib.nsh !include nsDialogs.nsh !addplugindir .\plugins !addincludedir .\plugins !include defines.nsh !include macros.nsh #Custom page variables Var Dialog Var BrowseButton Var ClearButton Var File Var ListBox Var Path # Reserved Files !insertmacro MUI_RESERVEFILE_LANGDLL # Variables Var StartMenuGroup # Installer pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY Page custom DriverPage !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 German # Installer attributes OutFile reportal-designer-210-setup.exe InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" CRCCheck on XPStyle on ShowInstDetails show VIProductVersion 2.1.0.0 VIAddVersionKey /LANG=${LANG_ENGLISH} ProductName "${PRODUCT_NAME}" VIAddVersionKey /LANG=${LANG_ENGLISH} ProductVersion "${VERSION}" VIAddVersionKey /LANG=${LANG_ENGLISH} CompanyName "${COMPANY}" VIAddVersionKey /LANG=${LANG_ENGLISH} CompanyWebsite "${URL}" VIAddVersionKey /LANG=${LANG_ENGLISH} FileVersion "${VERSION}" 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 # Designer and Docs #File /r "exportedProject\eclipse\*" #File /r "exportedProject\docs\*.pdf" # Driver !insertmacro MakeDirBase "$INSTDIR\driver" #CopyFiles $File "$INSTDIR\driver" Sendmessage $ListBox ${LB_GETCOUNT} 0 0 $0 StrCpy $1 0 MessageBox mb_ok $1 #loop: #MessageBox mb_ok "$1 of $0" #System::Call user32::SendMessage(i$ListBox,i${LB_GETTEXT},i$1,t.r3) #IntOp $1 $1 + 1 #${ifthen} $1 < $0 ${|} goto loop ${|} WriteRegStr HKLM "${REGKEY}\Components" Main 1 SectionEnd Section -post SEC0001 WriteRegStr HKLM "${REGKEY}" Path $INSTDIR SetOutPath $INSTDIR WriteUninstaller $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_BEGIN Application SetOutPath $SMPROGRAMS\$StartMenuGroup CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^UninstallLink).lnk" $INSTDIR\uninstall.exe CreateShortcut "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} (${LANG_DE}).lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "-nl de" CreateShortcut "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} (${LANG_EN}).lnk" "$INSTDIR\${PRODUCT_NAME}" "-nl en" CreateShortcut "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} Dokumentation (${LANG_DE}).lnk" "$INSTDIR\${PRODUCT_NAME} Benutzer Dokumentation.pdf" CreateShortcut "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} Documentation (${LANG_EN}).lnk" "$INSTDIR\${PRODUCT_NAME} User Documentation.pdf" !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.Main UNSEC0000 DeleteRegValue HKLM "${REGKEY}\Components" Main SectionEnd Section -un.post UNSEC0001 DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^UninstallLink).lnk" Delete /REBOOTOK $INSTDIR\uninstall.exe Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} (${LANG_DE}).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} (${LANG_EN}).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} Dokumentation (${LANG_DE}).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\${PRODUCT_NAME} Documentation (${LANG_EN}).lnk" DeleteRegValue HKLM "${REGKEY}" StartMenuGroup DeleteRegValue HKLM "${REGKEY}" Path DeleteRegKey /IfEmpty HKLM "${REGKEY}\Components" DeleteRegKey /IfEmpty HKLM "${REGKEY}" RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup RmDir /r /REBOOTOK $INSTDIR Push $R0 StrCpy $R0 $StartMenuGroup 1 StrCmp $R0 ">" no_smgroup no_smgroup: Pop $R0 SectionEnd # Installer functions Function .onInit InitPluginsDir !insertmacro MUI_LANGDLL_DISPLAY FunctionEnd Function DriverPage nsDialogs::Create /NOUNLOAD 1018 Pop $Dialog ${If} $Dialog == error Abort ${EndIf} #Create header with description,the title, the Label and the Buttons with event-handling ${If} $LANGUAGE == 1033 #Title !insertmacro MUI_HEADER_TEXT "Driver-Selection" "Please select the driver the designer should be installed with." #Label ${NSD_CreateLabel} 0 0 100% 28 "The driver are available after the Installation. You can also add additional driver after the Installation." #ClearButton ${NSD_CreateButton} 230 31 69u 15u "Clear List" Pop $ClearButton GetFunctionAddress $0 ClearPressed nsDialogs::OnClick /NOUNLOAD $ClearButton $0 #BrowseButton ${NSD_CreateButton} 345 31 69u 15u "Browse..." Pop $BrowseButton GetFunctionAddress $0 BrowsePressed nsDialogs::OnClick /NOUNLOAD $BrowseButton $0 ${Else} #Title !insertmacro MUI_HEADER_TEXT "Treiber-Auswahl" "Bitte wählen Sie die Treiber die mit dem Designer installiert werden sollen." #Label ${NSD_CreateLabel} 0 0 100% 28 "Die ausgewählten Treiber stehen nach der Installation im Designer zur Verfügung. Es können auch nachträglich weitere Treiber installiert werden." #ClearButton ${NSD_CreateButton} 230 31 69u 15u "Liste Löschen" Pop $ClearButton GetFunctionAddress $0 ClearPressed nsDialogs::OnClick /NOUNLOAD $ClearButton $0 #BrowseButton ${NSD_CreateButton} 345 31 69u 15u "Durchsuchen..." Pop $BrowseButton GetFunctionAddress $0 BrowsePressed nsDialogs::OnClick /NOUNLOAD $BrowseButton $0 ${EndIf} ${NSD_CreateListBox} 0 62 100% 70% "" Pop $ListBox # Disable next button or enable and fill list if one file has been selected ${If} $File == "" !insertmacro NEXTBUTTONACTIVE 0 ${Else} SendMessage $ListBox ${LB_ADDSTRING} 0 "STR:$File" ${EndIf} nsDialogs::Show FunctionEND Function ClearPressed SendMessage $ListBox ${LB_RESETCONTENT} 0 0 !insertmacro NEXTBUTTONACTIVE 0 FunctionEND Function BrowsePressed # Get File From User and initialize the dialog whereever the user had choosen a previous file ${If} $LANGUAGE == 1033 ${If} $Path == "" Dialogs::Open "Jar Files (*.jar)|*.jar|" "1" "Choose a driver to be installed" $EXEDIR ${VAR_6} ${Else} Dialogs::Open "Jar Files (*.jar)|*.jar|" "1" "Choose a driver to be installed" $path ${VAR_6} ${EndIf} ${Else} ${If} $Path == "" Dialogs::Open "Jar Files (*.jar)|*.jar|" "1" "Bitte einen Treiber wählen der mit installiert werden soll" $EXEDIR ${VAR_6} ${Else} Dialogs::Open "Jar Files (*.jar)|*.jar|" "1" "Bitte einen Treiber wählen der mit installiert werden soll" $Path ${VAR_6} ${EndIf} ${EndIf} StrCpy $File $6 # Resolve directory !insertmacro GetCleanParentDir $File Pop $path # If OK pressed add to list ${If} $File != 0 !insertmacro NEXTBUTTONACTIVE 1 SendMessage $ListBox ${LB_ADDSTRING} 0 "STR:$File" ${EndIf} FunctionEND # Uninstaller functions Function un.onInit ReadRegStr $INSTDIR HKLM "${REGKEY}" Path !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup !insertmacro MUI_UNGETLANGUAGE !insertmacro SELECT_UNSECTION Main ${UNSEC0000} FunctionEnd # Installer Language Strings # TODO Update the Language Strings with the appropriate translations. LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall $(^Name)" LangString ^UninstallLink ${LANG_GERMAN} "Uninstall $(^Name)"