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