!include "MUI2.nsh" !include x64.nsh !include "FileFunc.nsh" Name "@PACKAGE@" Caption "@PACKAGE@ - @PACKAGE_DESCRIPTION@" !ifdef WITHGTK outfile "@PACKAGE@-@PACKAGE_VERSION@-gtk-@GTK_MODVERSION@-@host_cpu@.exe" !else outfile "@PACKAGE@-@PACKAGE_VERSION@-requires-gtk-@GTK_MODVERSION@-@host_cpu@.exe" !endif XPStyle on installDir "$@PROGRAMFILES@\@PACKAGE@" #define the installer icon !define MUI_ICON "@PACKAGE@.ico" !define MUI_UNICON "@PACKAGE@.ico" icon "@PACKAGE@.ico" # Get installation folder from registry if available InstallDirRegKey HKLM "Software\@PACKAGE@" "InstallLocation" RequestExecutionLevel admin # Properties VIProductVersion "@PACKAGE_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@" VIAddVersionKey "ProductName" "@PACKAGE@" VIAddVersionKey "FileDescription" "@PACKAGE_DESCRIPTION@" VIAddVersionKey "FileVersion" "@PACKAGE_VERSION@" VIAddVersionKey "LegalCopyright" "GPL-2.0" # Interface !define MUI_ABORTWARNING # !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "../LICENSE" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES # !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES # !insertmacro MUI_UNPAGE_FINISH # Languages !insertmacro MUI_LANGUAGE "English" # Section scripts !include Sections.nsh # default section SubSection "@PACKAGE@" SecMain Section "Core" SecCore SetRegView @WINARCH@ ${DisableX64FSRedirection} # define the output path for this file setOutPath $INSTDIR SetShellVarContext all createShortCut "$SMPROGRAMS\@PACKAGE@.lnk" "$INSTDIR\@PACKAGE@.exe" createShortCut "$DESKTOP\@PACKAGE@.lnk" "$INSTDIR\@PACKAGE@.exe" # Binary files file "/oname=$INSTDIR\@PACKAGE@.exe" "..\.bin\Release\@PACKAGE@.exe" file "/oname=$INSTDIR\@PACKAGE@.ico" "@PACKAGE@.ico" file "/oname=$INSTDIR\lib3270.dll.@PACKAGE_VERSION@" "..\.bin\Release\lib3270.dll.@PACKAGE_VERSION@" file "/oname=$INSTDIR\@PACKAGE@.dll.@PACKAGE_VERSION@" "..\.bin\Release\@PACKAGE@.dll.@PACKAGE_VERSION@" # Configuration files file "/oname=$INSTDIR\@PACKAGE@-logo.png" "..\.bin\@PACKAGE@-logo.png" file "/oname=$INSTDIR\@PACKAGE@.png" "..\.bin\@PACKAGE@.png" file "/oname=$INSTDIR\colors.conf" "..\conf\colors.conf" # Documentation files #file "/oname=$INSTDIR\ChangeLog" "..\ChangeLog" file "/oname=$INSTDIR\AUTHORS" "..\AUTHORS" file "/oname=$INSTDIR\LICENSE" "..\LICENSE" # Misc folders CreateDirectory "$INSTDIR\certs" CreateDirectory "$INSTDIR\plugins" # UI definition files CreateDirectory "$INSTDIR\ui" file "/oname=$INSTDIR\ui\00default.xml" "..\ui\00default.xml" # Locale files CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES" file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\@PACKAGE@.mo" "..\.bin\locale\pt_BR\LC_MESSAGES\@PACKAGE@.mo" # Save DataDir SetRegView @WINARCH@ WriteRegStr HKLM "Software\@PACKAGE@" "datadir" "$INSTDIR" WriteRegStr HKLM "Software\@PACKAGE@" "appName" "$INSTDIR\@PACKAGE@.exe" # define uninstaller name SetRegView 32 writeUninstaller $INSTDIR\uninstall.exe WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" \ "DisplayName" "@PACKAGE@ - @PACKAGE_DESCRIPTION@" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" \ "DisplayIcon" "$INSTDIR\@PACKAGE@.ico" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" \ "DisplayVersion" "@PACKAGE_VERSION@" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" \ "UninstallString" "$INSTDIR\uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" \ "InstallLocation" "$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" \ "NoModify" "1" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" \ "NoRepair" "1" # Save instalation dir WriteRegStr HKCU "Software\@PACKAGE@" "" $INSTDIR sectionEnd SubSection "Plugins" SecPLugin Section /o "HLLAPI" HLLAPIPlugin setOutPath $INSTDIR CreateDirectory "$INSTDIR\plugins" file "/oname=$INSTDIR\plugins\hllapi.dll" "..\.bin\Release\plugins\hllapi.dll" file "/oname=$SYSDIR\libhllapi.dll" "..\.bin\Release\libhllapi.dll.@PACKAGE_VERSION@" file "/oname=$SYSDIR\libwinpthread-1.dll" "..\.bin\runtime\libwinpthread-1.dll" sectionEnd SubSectionEnd SubSection "Menus, Keypads & Toolbars" SecMenu Section "Keypad" KeypadMenu file "/oname=$INSTDIR\ui\10keypad.xml" "..\ui\10keypad.xml" sectionEnd Section "Functions" FunctionsMenu file "/oname=$INSTDIR\ui\10functions.xml" "..\ui\10functions.xml" sectionEnd Section /o "View trace Menu" TraceMenu file "/oname=$INSTDIR\ui\98trace.xml" "..\ui\98trace.xml" sectionEnd Section /o "Application debug" DBGMenu file "/oname=$INSTDIR\ui\99debug.xml" "..\ui\99debug.xml" sectionEnd SubSectionEnd SubSectionEnd !ifdef WITHGTK Section /o "GTK+ Runtime" SecGTK setOutPath $INSTDIR file /r "..\.bin\runtime\*.*" SectionEnd !endif Section "Uninstall" # Always delete uninstaller first delete $INSTDIR\uninstaller.exe # Set SMPROGRAMS and DESKTOP path SetShellVarContext all # now delete installed files delete $INSTDIR\@PACKAGE@.exe delete $SMPROGRAMS\@PACKAGE@.lnk delete $DESKTOP\@PACKAGE@.lnk RMDir /r "$INSTDIR\locale" RMDir /r "$INSTDIR\share" RMDir /r "$INSTDIR\etc" RMDir /r "$INSTDIR\plugins" RMDir /r "$INSTDIR\sdk" RMDir /r "$INSTDIR\gtk2-runtime" # Delete all files delete "$INSTDIR\*.dll" # Remove registry SetRegView 32 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE@" DeleteRegKey HKLM "Software\@PACKAGE@" SetRegView @WINARCH@ DeleteRegKey HKLM "Software\@PACKAGE@" # Delete System libraries delete $SYSDIR\libhllapi.dll RMDir /r "$INSTDIR" SectionEnd Function .onInit #---[ Verifica opção de instalação HLLAPI ]---------------------------------------------------------- Push $0 ${GetParameters} $R0 ClearErrors ${GetOptions} $R0 /HLLAPI= $0 ${if} $0 == "NO" SectionGetFlags "${HLLAPIPlugin}" $0 IntOp $0 $0 & ${SECTION_OFF} SectionSetFlags "${HLLAPIPlugin}" $0 ${else} SectionGetFlags "${HLLAPIPlugin}" $0 IntOp $0 $0 | ${SF_SELECTED} SectionSetFlags "${HLLAPIPlugin}" $0 ${EndIf} Pop $0 !ifdef WITHGTK #---[ Verifica se precisa instalar GTK ]------------------------------------------------------------- SetRegView @WINARCH@ ReadRegStr $4 HKLM "Software\gtkwin\@GTK_MODVERSION@" "path" ${if} $4 == "" SectionGetFlags "SecGTK" $0 IntOp $0 $0 | ${SF_SELECTED} SectionSetFlags "SecGTK" $0 ${Else} ${if} ${FileExists} `$4\*.*` SectionGetFlags "SecGTK" $0 IntOp $0 $0 & ${SECTION_OFF} SectionSetFlags "SecGTK" $0 ${Else} SectionGetFlags "SecGTK" $0 IntOp $0 $0 | ${SF_SELECTED} SectionSetFlags "SecGTK" $0 ${EndIf} ${EndIf} !endif FunctionEnd