;NSIS MUI v.1.67 ;ÄSKULAB21 CLIENT SETUP ;DENIZ TURHAN / 16.12.2003 ;-------------------------------- ;MODERN UI AKTIVIEREN ;-------------------------------- !include "MUI.nsh" ;-------------------------------- ;KONFIGURATION ;-------------------------------- ShowInstDetails show ;DEFINIERT DAS ICON FÜR DIE SETUP-DATEI Icon "${NSISDIR}\Contrib\Graphics\Icons\nsis1-install.ico" ;DEFINIERT DIE "CAPTION" DES INSTALLERS Caption "ÄSKULAB21 Setup" ; OBEN UNTEN SCHRIFT BGGradient 3399FF 000099 FFFFFF ;DEAKTIVIERT DIE BRANDMARKE AM UNTEREN RAND DES INSTALLATIONSFENSTERS BrandingText " " ;AKTIVIERT AUF XP RECHNERN DEN XP-STYLE XPStyle on ; NAME DES INSTALLERS Name "ÄSKULAB21 Client" ; Name der Setupdatei - Standard ist Setup.Exe, änderungen sind aber möglich OutFile "Ä21fasttest.exe" ; Standard Installationsverzeichnis InstallDir $PROGRAMFILES\Test\UniSoft\AESKULAB21 ; Registry key um den Installationspfad zu prüfen(Wenn man das Program erneut installiert, ;überschreibt es automatisch die alte Installation InstallDirRegKey HKLM "Software\ÄSKULAB21" "" ;-------------------------------- ;SETUP TYPEN ;-------------------------------- InstType "Lokale Installation" InstType "Serverbasierte Installation" InstType "Notebook Installation" ;Deaktiviert die Option "Benutzerdefiniert" InstType /NOCUSTOM ;-------------------------------- ;STRINGS ;-------------------------------- !define PRODUCT_NAME "ÄSKULAB 21" !define PRODUCT_VERSION "1.4.48.2" !define PRODUCT_PUBLISHER "UniSoft®" !define PRODUCT_WEB_SITE "http://www.unisoft.de" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" ;-------------------------------- ;MUI EINSTELLUNGEN ;-------------------------------- !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\nsis1-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\nsis1-uninstall.ico" !define MUI_HEADERIMAGE !define MUI_ABORTWARNING !define MUI_COMPONENTSPAGE_SMALLDESC ;-------------------------------- ;INSTALLATIONS DIALOGE ;-------------------------------- !insertmacro MUI_PAGE_WELCOME Page custom CustomPageA ;!insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY Page custom CustomPageA !insertmacro MUI_PAGE_INSTFILES ;-------------------------------- ;DEINSTALLATIONS DIALOGE ;-------------------------------- !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;-------------------------------- ;Languages ;-------------------------------- !insertmacro MUI_LANGUAGE "German" ;-------------------------------- ;Reserve Files ;-------------------------------- ;These files should be inserted before other files in the data block ;Keep these lines before any File command ;Only for BZIP2 (solid) compression ReserveFile "user.ini" ReserveFile "ioC.ini" !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;-------------------------------- ;Variables ;-------------------------------- ;muhaha es funktioniert*g* nach x-Tests und Fehlermeldungen gehts endlich ;aber dafür nicht richtig *args* Var "PATH" ; !define USERINF ${INSTDIR} ;-------------------------------- ;Installer Functions ;-------------------------------- ; Convert an NSIS string to a form suitable for use by InstallOptions ; Usage: ; Push ; Call Nsis2Io ; Pop Function Nsis2Io Exch $0 ; The source Push $1 ; The output Push $2 ; Temporary char StrCpy $1 "" ; Initialise the output loop: StrCpy $2 $0 1 ; Get the next source char StrCmp $2 "" done ; Abort when none left StrCpy $0 $0 "" 1 ; Remove it from the source StrCmp $2 "\" "" +3 ; Back-slash? StrCpy $1 "$1\\" Goto loop StrCmp $2 "$\r" "" +3 ; Carriage return? StrCpy $1 "$1\r" Goto loop StrCmp $2 "$\n" "" +3 ; Line feed? StrCpy $1 "$1\n" Goto loop StrCmp $2 "$\t" "" +3 ; Tab? StrCpy $1 "$1\t" Goto loop StrCpy $1 "$1$2" ; Anything else Goto loop done: StrCpy $0 $1 Pop $2 Pop $1 Exch $0 FunctionEnd Function .onInit ;Extract InstallOptions INI files !insertmacro MUI_INSTALLOPTIONS_EXTRACT "user.ini" Push "$INSTDIR" call Nsis2Io Pop "${PATH}" !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 2" "State" "Installationspfad:\r\n\r\n ${PATH}" FunctionEnd LangString TEXT_IO_TITLE ${LANG_GERMAN} "Installations Informationen" LangString TEXT_IO_SUBTITLE ${LANG_GERMAN} "Hier sehen Sie nochmal alle wichtigen Informationen im Überblick." Function CustomPageA MessageBox MB_ICONEXCLAMATION|MB_OK $INSTDIR !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)" !insertmacro MUI_INSTALLOPTIONS_DISPLAY "user.ini" FunctionEnd ;-------------------------------- ;The stuff to install ;-------------------------------- Section "ÄSKULAB21(Anwendung)" SecAnwendung SectionIn RO ; Set output path to the installation directory. SetOutPath $INSTDIR ; Put file there File "C:\Aeskulab dateien\Aeskulab21\aeskulab21.ini" ; File "C:\Aeskulab dateien\Aeskulab21\AESKULAB21.mdb" ; File "C:\Aeskulab dateien\Aeskulab21\PinsICD10.mde" ; File "C:\Aeskulab dateien\Aeskulab21\PINSSystem.mde" ; File "C:\Aeskulab dateien\Aeskulab21\PINSXMLReport_10.mde" File "C:\Aeskulab dateien\Aeskulab21\unisoft.mdw" File "C:\Aeskulab dateien\Aeskulab21\ÄSKULAB21.EXE" File "C:\Aeskulab dateien\Aeskulab21\ÄSKULAB21.ICO" WriteRegStr HKLM SOFTWARE\AESKULAB21 "Install_Dir" "$INSTDIR" ; Write the uninstall keys for Windows WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AESKULAB21" "DisplayName" "ÄSKULAB21" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AESKULAB21" "UninstallString" '"$INSTDIR\uninstall.exe"' WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AESKULAB21" "NoModify" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AESKULAB21" "NoRepair" 1 WriteUninstaller "uninstall.exe" DetailPrint "----------------------------------------------------------------------------------" DetailPrint " Anwendung erstellt und in Registry eingetragen" DetailPrint "----------------------------------------------------------------------------------" SectionEnd ;-------------------------------- ;Datenbank ;-------------------------------- Section "Datenbank" CreateDirectory "$INSTDIR\DB" ; Set output path to the installation directory. SetOutPath $INSTDIR\DB\ File "C:\Aeskulab dateien\Aeskulab21\DB\AESKULAB21.dmp" SectionEnd ; Optional section (can be disabled by the user) Section "Startmenü und Desktop Verknüpfungen" CreateDirectory "$SMPROGRAMS\UniSoft\ÄSKULAB 21" CreateShortCut "$SMPROGRAMS\UniSoft\ÄSKULAB 21\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 CreateShortCut "$SMPROGRAMS\UniSoft\ÄSKULAB 21\ÄSKULAB21.lnk" "$INSTDIR\ÄSKULAB21.exe" "" "$INSTDIR\ÄSKULAB21.exe" 0 DetailPrint "----------------------------------------------------------------------------------" DetailPrint " Verknüpfungen im Startmenü erstellt" DetailPrint "----------------------------------------------------------------------------------" SectionEnd ;-------------------------------- ;-------------------------------- ; Uninstaller Section "Uninstall" ;legt das Icon für den Uninstaller fest ;UninstallIcon "${NSISDIR}\Contrib\Graphics\Icons\nsis1-uninstall.ico" ; Remove registry keys DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AESKULAB21" DeleteRegKey HKLM SOFTWARE\AESKULAB21 ; Remove files and uninstaller Delete $INSTDIR\aeskulab21.ini Delete $INSTDIR\AESKULAB21.mdb Delete $INSTDIR\PinsICD10.mde Delete $INSTDIR\PINSSystem.mde Delete $INSTDIR\PINSXMLReport_10.mde Delete $INSTDIR\unisoft.mdw Delete $INSTDIR\ÄSKULAB21.EXE Delete $INSTDIR\ÄSKULAB21.ICO Delete $INSTDIR\DB\AESKULAB21.dmp Delete $INSTDIR\uninstall.exe ; Remove shortcuts, if any Delete "$SMPROGRAMS\UniSoft\ÄSKULAB 21\Uninstall.lnk" Delete "$SMPROGRAMS\UniSoft\ÄSKULAB 21\ÄSKULAB21.lnk" ; Remove directories used RMDir "$SMPROGRAMS\UniSoft\ÄSKULAB 21" RMDir "$SMPROGRAMS\UniSoft" RMDir "$INSTDIR\DB" RMDir "$INSTDIR" SectionEnd