Top 10k strings from fuse.nsi in <root> / bin / pc / Emulators / fuse-hc2000-hacks.7z / src / fuse / ui / win32 / installer /

Back to the directory listing

  12 ;--------------------------------
   3 sectionEnd
   3   ReadRegStr $0 HKLM "Software\Classes\$R0" ""
   3   Exch $R0 ;extension
   2 SectionEnd
   2 FunctionEnd
   2   ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$R0" "Progid"
   2   Push `${_EXTENSION}`
   2     ; Installation files
   1 section "uninstall"
   1 section "Start Menu and Desktop links" SecShortcuts
   1 section "!Fuse Core Files (required)" SecCore
   1 outFile "${SETUP_FILE}"
   1 installDir "$PROGRAMFILES\Fuse"
   1 XPStyle on
   1 SetCompressor lzma
   1 SetCompress force
   1 SectionGroupEnd
   1 SectionGroup /e "Register File Extensions" SecFileExt
   1 Section "-Register Application"
   1 NoLocalRestore:
   1 NoLocalBackup:
   1 Name "${DISPLAY_NAME}"
   1 Function un.DeleteConfigFile
   1 Function .onInit
   1 Caption "${DISPLAY_NAME}"
   1 ;Version Information
   1 ;Languages
   1 ;Interface Settings
   1 ;Include Modern UI
   1 ;File association functions
   1 ;Descriptions
   1 ; uninstaller section start
   1 ; start default section
   1 ; [Additional Installer Settings ]
   1 ; Uninstall previous version
   1 ; Register common file extensions
   1 ; Create shortcuts
   1 ## with this program; if not, write to the Free Software Foundation, Inc.,
   1 ## the Free Software Foundation; either version 2 of the License, or
   1 ## it under the terms of the GNU General Public License as published by
   1 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
   1 ## You should have received a copy of the GNU General Public License along
   1 ## This program is free software; you can redistribute it and/or modify
   1 ## This program is distributed in the hope that it will be useful,
   1 ## NSIS (nsis.sf.net) script to produce installer for win32 platform
   1 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   1 ## GNU General Public License for more details.
   1 ## E-mail: [email protected]
   1 ## Copyright (c) 2009 Marek Januszewski
   1 ## Author contact information:
   1 ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
   1 ## (at your option) any later version.
   1 !macro UnRegisterExtension_
   1 !macro UnRegisterExtensionCall _EXTENSION
   1 !macro SelectUnregisteredExt_
   1 !macro SelectUnregisteredExtCall _EXTENSION _SECTION
   1 !macro RegisterExtension_
   1 !macro RegisterExtensionCall _EXTENSION
   1 !macro NewSecExtensionCall _EXTENSION _DESCRIPTION
   1 !macro AddOpenWithListCall _EXTENSION
   1 !insertmacro MUI_FUNCTION_DESCRIPTION_END
   1 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
   1 !include "Util.nsh"
   1 !include "Sections.nsh"
   1 !include "MUI2.nsh"
   1 !define UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
   1 !define SelectUnregisteredExt `!insertmacro SelectUnregisteredExtCall`
   1 !define SETUP_FILENAME "fuse-${FUSE_VERSION}-setup"
   1 !define SETUP_FILE "${SETUP_FILENAME}.exe"
   1 !define RegisterExtension `!insertmacro RegisterExtensionCall`
   1 !define PROG_ID "Fuse.Files.1"
   1 !define NewSecExtension `!insertmacro NewSecExtensionCall`
   1 !define HKLM_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Fuse"
   1 !define FUSE_VERSION "1.0.0" ; could have letters like -RC1
   1 !define FUSE_FULL_VERSION "1.0.0.0" ; must have four numeric tokens
   1 !define DISPLAY_NAME "Free Unix Spectrum Emulator (Fuse) ${FUSE_VERSION}"
   1 !define AddOpenWithList `!insertmacro AddOpenWithListCall`
   1  Section "" SecUninstallPrevious
   1   WriteRegStr HKLM "Software\Classes\Applications\fuse.exe" "NoOpenWith" ""
   1   WriteRegStr HKLM "Software\Classes\${_EXTENSION}\OpenWithProgids" "${PROG_ID}" ""
   1   WriteRegStr HKLM "Software\Classes\${PROG_ID}\shell\open\command" "" '"$INSTDIR\fuse.exe" "%1"'
   1   WriteRegStr HKLM "Software\Classes\${PROG_ID}\shell" "" "open"
   1   WriteRegStr HKLM "Software\Classes\${PROG_ID}\DefaultIcon" "" "$INSTDIR\fuse.exe,0"
   1   WriteRegStr HKLM "Software\Classes\$R0" "backup_val" "$0"
   1   WriteRegStr HKLM "Software\Classes\$R0" "" $0
   1   WriteRegStr HKLM "Software\Classes\$R0" "" "${PROG_ID}"
   1   WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$R0" "backup_val" "$0"
   1   WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$R0" "Progid" "${PROG_ID}"
   1   WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$R0" "Progid" "$0"
   1   VIProductVersion ${FUSE_FULL_VERSION}
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${FUSE_VERSION}"
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Fuse - the Free Unix Spectrum Emulator"
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "OriginalFilename" "${SETUP_FILE}"
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "(c) 1999-2012 Philip Kendall and others"
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "InternalName" "${SETUP_FILENAME}"
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${FUSE_VERSION}"
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Fuse"
   1   VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" ""
   1   System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
   1   StrCmp $0 ${PROG_ID} 0 NoOwn ; only do this if we own it
   1   StrCmp $0 "${PROG_ID}" Select 0 
   1   StrCmp $0 "" Select NoSelect
   1   StrCmp $0 "" 0 Restore ; if backup="" then delete the whole key
   1   StrCmp "$0" "${PROG_ID}" NoLocalBackup ; is it our own
   1   StrCmp "$0" "${PROG_ID}" NoBackup ; is it our own
   1   StrCmp "$0" "${PROG_ID}" 0 NoLocalRestore ; is it our own
   1   StrCmp "$0" "" NoLocalRestore ; is it empty
   1   StrCmp "$0" "" NoLocalBackup ; is it empty
   1   StrCmp "$0" "" NoBackup  ; is it empty
   1   StrCmp "$0" "" 0 +2 ; if no backup -> delete
   1   SectionEnd
   1   Section /o "${_DESCRIPTION} File" SEC_${_DESCRIPTION}
   1   ReadRegStr $0 HKLM "Software\Classes\$R0" "backup_val"
   1   ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$R0" "backup_val"
   1   Push `${_SECTION}`
   1   Push "${_EXTENSION}"
   1   Goto NoOwn
   1   Exch $R1 ;section
   1   DeleteRegValue HKLM "Software\Classes\$R0\OpenWithProgids" "${PROG_ID}"
   1   DeleteRegValue HKLM "Software\Classes\$R0" "backup_val"
   1   DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$R0" "backup_val"
   1   DeleteRegKey HKLM "Software\Classes\${PROG_ID}";
   1   DeleteRegKey HKLM "Software\Classes\$R0"
   1   DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$R0"
   1   ;Select if available
   1   ;Select if already associated with FUSE, i.e., reinstallation
   1   ; Unregister OpenWith recommendation
   1   ; Try to delete current file association
   1   ; Set global file association
   1   ; Set current user (custom) file association
   1   ; Select extensions not associated with other applications
   1   ; Recommend Fuse for known extensions
   1   ; Read global file association
   1   ; Delete programmatic identifier
   1   ; Delete current user (custom) file association
   1   ; Backup current value
   1   ${SelectUnregisteredExt} ".z80" ${SEC_Z80}
   1   ${SelectUnregisteredExt} ".tzx" ${SEC_TZX}
   1   ${SelectUnregisteredExt} ".tap" ${SEC_TAP}
   1   ${SelectUnregisteredExt} ".szx" ${SEC_SZX}
   1   ${SelectUnregisteredExt} ".sna" ${SEC_SNA}
   1   ${SelectUnregisteredExt} ".rzx" ${SEC_RZX}
   1   ${SelectUnregisteredExt} ".pzx" ${SEC_PZX}
   1   ${NewSecExtension} ".z80" "Z80"
   1   ${NewSecExtension} ".tzx" "TZX"
   1   ${NewSecExtension} ".tap" "TAP"
   1   ${NewSecExtension} ".szx" "SZX"
   1   ${NewSecExtension} ".sna" "SNA"
   1   ${NewSecExtension} ".rzx" "RZX"
   1   ${NewSecExtension} ".pzx" "PZX"
   1   ${CallArtificialFunction} UnRegisterExtension_
   1   ${CallArtificialFunction} SelectUnregisteredExt_
   1   ${CallArtificialFunction} RegisterExtension_
   1   ${AddOpenWithList} ".z80"
   1   ${AddOpenWithList} ".tzx"
   1   ${AddOpenWithList} ".tap"
   1   ${AddOpenWithList} ".szx"
   1   ${AddOpenWithList} ".sna"
   1   ${AddOpenWithList} ".rzx"
   1   ${AddOpenWithList} ".pzx"
   1   !insertmacro SelectSection $R1
   1   !insertmacro MUI_UNPAGE_INSTFILES
   1   !insertmacro MUI_UNPAGE_FINISH
   1   !insertmacro MUI_UNPAGE_CONFIRM
   1   !insertmacro MUI_PAGE_LICENSE "COPYING"
   1   !insertmacro MUI_PAGE_INSTFILES
   1   !insertmacro MUI_PAGE_FINISH
   1   !insertmacro MUI_PAGE_DIRECTORY
   1   !insertmacro MUI_PAGE_COMPONENTS
   1   !insertmacro MUI_LANGUAGE "English"
   1   !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Adds icons to your start menu and your desktop for easy access"
   1   !insertmacro MUI_DESCRIPTION_TEXT ${SecFileExt} "Register common file extensions with Fuse: pzx, rzx, sna, szx, tap, tzx and z80"
   1   !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core files required to use Fuse (program, libraries, ROMs, etc.)"
   1   !define MUI_FINISHPAGE_SHOWREADME_TEXT "Delete configuration file"
   1   !define MUI_FINISHPAGE_SHOWREADME_FUNCTION un.DeleteConfigFile
   1   !define MUI_FINISHPAGE_SHOWREADME_CHECKED
   1   !define MUI_FINISHPAGE_SHOWREADME ""
   1   !define MUI_FINISHPAGE_RUN "$INSTDIR\fuse.exe"
   1   !define MUI_FINISHPAGE_NOREBOOTSUPPORT
   1   !define MUI_COMPONENTSPAGE_SMALLDESC
   1   !define MUI_ABORTWARNING
   1     writeUninstaller "$INSTDIR\uninstall.exe"
   1     setOutPath "$INSTDIR"
   1     WriteRegStr HKLM "${HKLM_REG_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
   1     WriteRegStr HKLM "${HKLM_REG_KEY}" "HelpLink" "http://fuse-emulator.sourceforge.net"
   1     WriteRegStr HKLM "${HKLM_REG_KEY}" "DisplayVersion" "${FUSE_VERSION}"
   1     WriteRegStr HKLM "${HKLM_REG_KEY}" "DisplayName" "${DISPLAY_NAME}"
   1     WriteRegDWORD HKLM "${HKLM_REG_KEY}" "NoRepair" 1
   1     WriteRegDWORD HKLM "${HKLM_REG_KEY}" "NoModify" 1
   1     System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
   1     SetOutPath $INSTDIR\lib
   1     SetOutPath "$INSTDIR\roms"
   1     SectionIn RO
   1     ReadRegStr $R0 HKLM "${HKLM_REG_KEY}" "UninstallString"
   1     RMDir "$INSTDIR"
   1     RMDir  "$SMPROGRAMS\Fuse"
   1     RMDir  "$INSTDIR\roms"
   1     RMDir  "$INSTDIR\lib"
   1     Push $R0
   1     Pop $R0
   1     File "roms\*"
   1     File "lib\*"
   1     File "fuse.html"
   1     File "fuse.exe"
   1     File "COPYING"
   1     File "AUTHORS"
   1     File "*.dll"
   1     DetailPrint "Installing Fuse Core Files..."
   1     DetailPrint "Deleting Uninstaller..."
   1     DetailPrint "Deleting Shortcuts..."
   1     DetailPrint "Deleting Registry Keys..."
   1     DetailPrint "Deleting Files..."
   1     DetailPrint "Creating Shortcuts..."
   1     DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Fuse"
   1     DeleteRegKey HKLM "Software\Classes\Applications\fuse.exe"
   1     DeleteRegKey HKLM "Software\Classes\${PROG_ID}"
   1     Delete "$SMPROGRAMS\Fuse\Uninstall.lnk"
   1     Delete "$SMPROGRAMS\Fuse\Manual.lnk"
   1     Delete "$SMPROGRAMS\Fuse\Fuse.lnk"
   1     Delete "$PROFILE\fuse.cfg"
   1     Delete "$INSTDIR\uninstall.exe"
   1     Delete "$INSTDIR\roms\*"
   1     Delete "$INSTDIR\lib\*"
   1     Delete "$INSTDIR\fuse.html"
   1     Delete "$INSTDIR\fuse.exe"
   1     Delete "$INSTDIR\COPYING"
   1     Delete "$INSTDIR\AUTHORS"
   1     Delete "$INSTDIR\*.dll"
   1     Delete "$DESKTOP\Fuse.lnk"
   1     CreateShortCut "$SMPROGRAMS\Fuse\Uninstall.lnk" "$INSTDIR\uninstall.exe"
   1     CreateShortCut "$SMPROGRAMS\Fuse\Manual.lnk" "$INSTDIR\fuse.html"
   1     CreateShortCut "$SMPROGRAMS\Fuse\Fuse.lnk" "$INSTDIR\fuse.exe"
   1     CreateShortCut "$DESKTOP\Fuse.lnk" "$INSTDIR\fuse.exe"
   1     CreateDirectory "$SMPROGRAMS\Fuse"
   1     ; set the installation directory as the destination for the following actions
   1     ; create the uninstaller
   1     ; Write the uninstall keys for Windows
   1     ; Unregister file extensions association (if owned)
   1     ; Unregister Application
   1     ; Delete the uninstaller and remove the uninstall keys for Windows
   1     ; Delete the links
   1     ; Check if we are upgrading a previous installation
   1     ${unregisterExtension} ".z80"
   1     ${unregisterExtension} ".tzx"
   1     ${unregisterExtension} ".tap"
   1     ${unregisterExtension} ".szx"
   1     ${unregisterExtension} ".sna"
   1     ${unregisterExtension} ".rzx"
   1     ${unregisterExtension} ".pzx"
   1     ${registerExtension} "${_EXTENSION}"
   1     ${If} $R0 == '"$INSTDIR\uninstall.exe"'
   1     ${EndIf}
   1         ExecWait '"$INSTDIR\uninstall.exe" /S _?=$INSTDIR'
   1         DetailPrint "Removing previous installation..."
   1         ; Run the uninstaller silently