;NSIS Modern User Interface ;Catalex ;--------------------------------------- SetCompressor /SOLID lzma ; GetParent ; input, top of stack (e.g. C:\Program Files\Poop) ; output, top of stack (replaces, with e.g. C:\Program Files) ; modifies no other variables. ; ; Usage: ; Push "C:\Program Files\Directory\Whatever" ; Call GetParent ; Pop $R0 ; ; at this point $R0 will equal "C:\Program Files\Directory" Function un.GetParent Exch $R0 Push $R1 Push $R2 Push $R3 StrCpy $R1 0 StrLen $R2 $R0 loop: IntOp $R1 $R1 + 1 IntCmp $R1 $R2 get 0 get StrCpy $R3 $R0 1 -$R1 StrCmp $R3 "\" get Goto loop get: StrCpy $R0 $R0 -$R1 Pop $R3 Pop $R2 Pop $R1 Exch $R0 FunctionEnd Function .onInit System::Call 'kernel32::CreateMutexA(i 0, i 0, t "Catalex") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK|MB_ICONEXCLAMATION "Il programma di installazione è già avviato." Abort FunctionEnd ;Include Modern UI !include "MUI.nsh" ;------------------------------- ;General !define VERSION "1.0" ;Name and file Name "Catalex ${VERSION}" OutFile "Catalex Setup - ${VERSION}.exe" ;Default installation folder InstallDir "$PROGRAMFILES\Elektrongraph" ;Include interface !include "MUI.nsh" ;Interface Settings !define MUI_ICON "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Catalex\bin\Catalex.ico" !define MUI_UNICON "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Catalex\bin\Catalex.ico" !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Adds\logoe.bmp" !define MUI_HEADERIMAGE_UNBITMAP "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Adds\logoe.bmp" !define MUI_ABORTWARNING !define MUI_WELCOMEFINISHPAGE_BITMAP "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Adds\elekwelcome.bmp" !define MUI_UNWELCOMEFINISHPAGE_BITMAP "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Adds\elekwelcome.bmp" !define XPStyle on LicenseForceSelection checkbox ;Get installation folder from registry if available InstallDirRegKey HKCU "Software\Catalex" "" ;-------------------------------- ;Definizione variabili Var MUI_TEMP Var STARTMENU_FOLDER ;-------------------------------- ;Pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Adds\License.rtf" !insertmacro MUI_PAGE_DIRECTORY ;Start Menu Folder Page Configuration !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Elektrongraph\Catalex" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Catalex" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "StartMenu Folder" !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "Italian" ;-------------------------------- ;Installer Sections Section "Dummy Section" SecDummy SetOutPath "$INSTDIR" ;ADD YOUR OWN FILES HERE... File /a /r "C:\Documents and Settings\Federico\Desktop\Elektrongraph\Catalex" ;Store installation folder WriteRegStr HKCU "Software\Catalex" "" $INSTDIR ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application ;Create shortcuts CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" CreateShortCut "$DESKTOP\Catalex.lnk" "$INSTDIR\Catalex\bin\Catalex.xls" "" "$INSTDIR\Catalex\bin\Catalex.ico" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Catalex.lnk" "$INSTDIR\Catalex\bin\Catalex.xls" "" "$INSTDIR\Catalex\bin\Catalex.ico" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Immagini Prodotti OnLine.lnk" "http://81.114.242.116/chalconet/?app=1" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Catalex\bin\Uninstall.ico" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd ;-------------------------------- ;Uninstaller Section Section "Uninstall" Delete "$INSTDIR\Uninstall.exe" Push "$INSTDIR" RMDir /r "$INSTDIR" Call un.GetParent Pop $R0 RMDir "$R0" !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" Delete "$SMPROGRAMS\$MUI_TEMP\Immagini Prodotti OnLine.lnk" Delete "$SMPROGRAMS\$MUI_TEMP\Catalex.lnk" Delete "$DESKTOP\Catalex.lnk" ;Delete empty start menu parent diretories StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" startMenuDeleteLoop: ClearErrors RMDir $MUI_TEMP GetFullPathName $MUI_TEMP "$MUI_TEMP\.." IfErrors startMenuDeleteLoopDone StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop startMenuDeleteLoopDone: DeleteRegKey /ifempty HKCU "Software\Catalex" SectionEnd