NSIS scripts. File association. Changed path to start-menu. Fixed uninstall
method. --HG-- branch : develop
This commit is contained in:
parent
d2f0fb993b
commit
1731637b7b
190
dist/nsis/headers/FileAssociation.nsh
vendored
190
dist/nsis/headers/FileAssociation.nsh
vendored
|
@ -1,190 +0,0 @@
|
||||||
/*
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
File Association
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
Based on code taken from http://nsis.sourceforge.net/File_Association
|
|
||||||
|
|
||||||
Usage in script:
|
|
||||||
1. !include "FileAssociation.nsh"
|
|
||||||
2. [Section|Function]
|
|
||||||
${FileAssociationFunction} "Param1" "Param2" "..." $var
|
|
||||||
[SectionEnd|FunctionEnd]
|
|
||||||
|
|
||||||
FileAssociationFunction=[RegisterExtension|UnRegisterExtension]
|
|
||||||
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
${RegisterExtension} "[executable]" "[extension]" "[description]"
|
|
||||||
|
|
||||||
"[executable]" ; executable which opens the file format
|
|
||||||
;
|
|
||||||
"[extension]" ; extension, which represents the file format to open
|
|
||||||
;
|
|
||||||
"[description]" ; description for the extension. This will be display in Windows Explorer.
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
${UnRegisterExtension} "[extension]" "[description]"
|
|
||||||
|
|
||||||
"[extension]" ; extension, which represents the file format to open
|
|
||||||
;
|
|
||||||
"[description]" ; description for the extension. This will be display in Windows Explorer.
|
|
||||||
;
|
|
||||||
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
Macros
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
Change log window verbosity (default: 3=no script)
|
|
||||||
|
|
||||||
Example:
|
|
||||||
!include "FileAssociation.nsh"
|
|
||||||
!insertmacro RegisterExtension
|
|
||||||
${FileAssociation_VERBOSE} 4 # all verbosity
|
|
||||||
!insertmacro UnRegisterExtension
|
|
||||||
${FileAssociation_VERBOSE} 3 # no script
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
!ifndef FileAssociation_INCLUDED
|
|
||||||
!define FileAssociation_INCLUDED
|
|
||||||
|
|
||||||
!include Util.nsh
|
|
||||||
|
|
||||||
!verbose push
|
|
||||||
!verbose 3
|
|
||||||
!ifndef _FileAssociation_VERBOSE
|
|
||||||
!define _FileAssociation_VERBOSE 3
|
|
||||||
!endif
|
|
||||||
!verbose ${_FileAssociation_VERBOSE}
|
|
||||||
!define FileAssociation_VERBOSE `!insertmacro FileAssociation_VERBOSE`
|
|
||||||
!verbose pop
|
|
||||||
|
|
||||||
!macro FileAssociation_VERBOSE _VERBOSE
|
|
||||||
!verbose push
|
|
||||||
!verbose 3
|
|
||||||
!undef _FileAssociation_VERBOSE
|
|
||||||
!define _FileAssociation_VERBOSE ${_VERBOSE}
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
!macro RegisterExtensionCall _EXECUTABLE _EXTENSION _DESCRIPTION
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_FileAssociation_VERBOSE}
|
|
||||||
Push `${_DESCRIPTION}`
|
|
||||||
Push `${_EXTENSION}`
|
|
||||||
Push `${_EXECUTABLE}`
|
|
||||||
${CallArtificialFunction} RegisterExtension_
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro UnRegisterExtensionCall _EXTENSION _DESCRIPTION
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_FileAssociation_VERBOSE}
|
|
||||||
Push `${_EXTENSION}`
|
|
||||||
Push `${_DESCRIPTION}`
|
|
||||||
${CallArtificialFunction} UnRegisterExtension_
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
!define RegisterExtension `!insertmacro RegisterExtensionCall`
|
|
||||||
!define un.RegisterExtension `!insertmacro RegisterExtensionCall`
|
|
||||||
|
|
||||||
!macro RegisterExtension
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro un.RegisterExtension
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro RegisterExtension_
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_FileAssociation_VERBOSE}
|
|
||||||
|
|
||||||
Exch $R2 ;exe
|
|
||||||
Exch
|
|
||||||
Exch $R1 ;ext
|
|
||||||
Exch
|
|
||||||
Exch 2
|
|
||||||
Exch $R0 ;desc
|
|
||||||
Exch 2
|
|
||||||
Push $0
|
|
||||||
Push $1
|
|
||||||
|
|
||||||
ReadRegStr $1 HKCR $R1 "" ; read current file association
|
|
||||||
StrCmp "$1" "" NoBackup ; is it empty
|
|
||||||
StrCmp "$1" "$R0" NoBackup ; is it our own
|
|
||||||
WriteRegStr HKCR $R1 "backup_val" "$1" ; backup current value
|
|
||||||
NoBackup:
|
|
||||||
WriteRegStr HKCR $R1 "" "$R0" ; set our file association
|
|
||||||
|
|
||||||
ReadRegStr $0 HKCR $R0 ""
|
|
||||||
StrCmp $0 "" 0 Skip
|
|
||||||
WriteRegStr HKCR "$R0" "" "$R0"
|
|
||||||
WriteRegStr HKCR "$R0\shell" "" "open"
|
|
||||||
WriteRegStr HKCR "$R0\DefaultIcon" "" "$R2,0"
|
|
||||||
Skip:
|
|
||||||
WriteRegStr HKCR "$R0\shell\open\command" "" '"$R2" "%1"'
|
|
||||||
WriteRegStr HKCR "$R0\shell\edit" "" "Edit $R0"
|
|
||||||
WriteRegStr HKCR "$R0\shell\edit\command" "" '"$R2" "%1"'
|
|
||||||
|
|
||||||
Pop $1
|
|
||||||
Pop $0
|
|
||||||
Pop $R2
|
|
||||||
Pop $R1
|
|
||||||
Pop $R0
|
|
||||||
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
!define UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
|
|
||||||
!define un.UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
|
|
||||||
|
|
||||||
!macro UnRegisterExtension
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro un.UnRegisterExtension
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro UnRegisterExtension_
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_FileAssociation_VERBOSE}
|
|
||||||
|
|
||||||
Exch $R1 ;desc
|
|
||||||
Exch
|
|
||||||
Exch $R0 ;ext
|
|
||||||
Exch
|
|
||||||
Push $0
|
|
||||||
Push $1
|
|
||||||
|
|
||||||
ReadRegStr $1 HKCR $R0 ""
|
|
||||||
StrCmp $1 $R1 0 NoOwn ; only do this if we own it
|
|
||||||
ReadRegStr $1 HKCR $R0 "backup_val"
|
|
||||||
StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key
|
|
||||||
DeleteRegKey HKCR $R0
|
|
||||||
Goto NoOwn
|
|
||||||
|
|
||||||
Restore:
|
|
||||||
WriteRegStr HKCR $R0 "" $1
|
|
||||||
DeleteRegValue HKCR $R0 "backup_val"
|
|
||||||
DeleteRegKey HKCR $R1 ;Delete key with association name settings
|
|
||||||
|
|
||||||
NoOwn:
|
|
||||||
|
|
||||||
Pop $1
|
|
||||||
Pop $0
|
|
||||||
Pop $R1
|
|
||||||
Pop $R0
|
|
||||||
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!endif # !FileAssociation_INCLUDED
|
|
119
dist/nsis/headers/fileassoc.nsh
vendored
Normal file
119
dist/nsis/headers/fileassoc.nsh
vendored
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
; fileassoc.nsh
|
||||||
|
; File association helper macros
|
||||||
|
; Written by Saivert
|
||||||
|
;
|
||||||
|
; Features automatic backup system and UPDATEFILEASSOC macro for
|
||||||
|
; shell change notification.
|
||||||
|
;
|
||||||
|
; |> How to use <|
|
||||||
|
; To associate a file with an application so you can double-click it in explorer, use
|
||||||
|
; the APP_ASSOCIATE macro like this:
|
||||||
|
;
|
||||||
|
; Example:
|
||||||
|
; !insertmacro APP_ASSOCIATE "txt" "myapp.textfile" "Description of txt files" \
|
||||||
|
; "$INSTDIR\myapp.exe,0" "Open with myapp" "$INSTDIR\myapp.exe $\"%1$\""
|
||||||
|
;
|
||||||
|
; Never insert the APP_ASSOCIATE macro multiple times, it is only ment
|
||||||
|
; to associate an application with a single file and using the
|
||||||
|
; the "open" verb as default. To add more verbs (actions) to a file
|
||||||
|
; use the APP_ASSOCIATE_ADDVERB macro.
|
||||||
|
;
|
||||||
|
; Example:
|
||||||
|
; !insertmacro APP_ASSOCIATE_ADDVERB "myapp.textfile" "edit" "Edit with myapp" \
|
||||||
|
; "$INSTDIR\myapp.exe /edit $\"%1$\""
|
||||||
|
;
|
||||||
|
; To have access to more options when registering the file association use the
|
||||||
|
; APP_ASSOCIATE_EX macro. Here you can specify the verb and what verb is to be the
|
||||||
|
; standard action (default verb).
|
||||||
|
;
|
||||||
|
; And finally: To remove the association from the registry use the APP_UNASSOCIATE
|
||||||
|
; macro. Here is another example just to wrap it up:
|
||||||
|
; !insertmacro APP_UNASSOCIATE "txt" "myapp.textfile"
|
||||||
|
;
|
||||||
|
; |> Note <|
|
||||||
|
; When defining your file class string always use the short form of your application title
|
||||||
|
; then a period (dot) and the type of file. This keeps the file class sort of unique.
|
||||||
|
; Examples:
|
||||||
|
; Winamp.Playlist
|
||||||
|
; NSIS.Script
|
||||||
|
; Photoshop.JPEGFile
|
||||||
|
;
|
||||||
|
; |> Tech info <|
|
||||||
|
; The registry key layout for a file association is:
|
||||||
|
; HKEY_CLASSES_ROOT
|
||||||
|
; <applicationID> = <"description">
|
||||||
|
; shell
|
||||||
|
; <verb> = <"menu-item text">
|
||||||
|
; command = <"command string">
|
||||||
|
;
|
||||||
|
|
||||||
|
!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND
|
||||||
|
; Backup the previously associated file class
|
||||||
|
ReadRegStr $R0 HKCR ".${EXT}" ""
|
||||||
|
WriteRegStr HKCR ".${EXT}" "${FILECLASS}_backup" "$R0"
|
||||||
|
|
||||||
|
WriteRegStr HKCR ".${EXT}" "" "${FILECLASS}"
|
||||||
|
|
||||||
|
WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell" "" "open"
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell\open\command" "" `${COMMAND}`
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro APP_ASSOCIATE_EX EXT FILECLASS DESCRIPTION ICON VERB DEFAULTVERB SHELLNEW COMMANDTEXT COMMAND
|
||||||
|
; Backup the previously associated file class
|
||||||
|
ReadRegStr $R0 HKCR ".${EXT}" ""
|
||||||
|
WriteRegStr HKCR ".${EXT}" "${FILECLASS}_backup" "$R0"
|
||||||
|
|
||||||
|
WriteRegStr HKCR ".${EXT}" "" "${FILECLASS}"
|
||||||
|
StrCmp "${SHELLNEW}" "0" +2
|
||||||
|
WriteRegStr HKCR ".${EXT}\ShellNew" "NullFile" ""
|
||||||
|
|
||||||
|
WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell" "" `${DEFAULTVERB}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro APP_ASSOCIATE_ADDVERB FILECLASS VERB COMMANDTEXT COMMAND
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
|
||||||
|
WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro APP_ASSOCIATE_REMOVEVERB FILECLASS VERB
|
||||||
|
DeleteRegKey HKCR `${FILECLASS}\shell\${VERB}`
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
|
||||||
|
!macro APP_UNASSOCIATE EXT FILECLASS
|
||||||
|
; Backup the previously associated file class
|
||||||
|
ReadRegStr $R0 HKCR ".${EXT}" `${FILECLASS}_backup`
|
||||||
|
WriteRegStr HKCR ".${EXT}" "" "$R0"
|
||||||
|
|
||||||
|
DeleteRegKey HKCR `${FILECLASS}`
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro APP_ASSOCIATE_GETFILECLASS OUTPUT EXT
|
||||||
|
ReadRegStr ${OUTPUT} HKCR ".${EXT}" ""
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
|
||||||
|
; !defines for use with SHChangeNotify
|
||||||
|
!ifdef SHCNE_ASSOCCHANGED
|
||||||
|
!undef SHCNE_ASSOCCHANGED
|
||||||
|
!endif
|
||||||
|
!define SHCNE_ASSOCCHANGED 0x08000000
|
||||||
|
!ifdef SHCNF_FLUSH
|
||||||
|
!undef SHCNF_FLUSH
|
||||||
|
!endif
|
||||||
|
!define SHCNF_FLUSH 0x1000
|
||||||
|
|
||||||
|
!macro UPDATEFILEASSOC
|
||||||
|
; Using the system.dll plugin to call the SHChangeNotify Win32 API function so we
|
||||||
|
; can update the shell.
|
||||||
|
System::Call "shell32::SHChangeNotify(i,i,i,i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_FLUSH}, 0, 0)"
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
;EOF
|
46
dist/nsis/valentina.nsi
vendored
46
dist/nsis/valentina.nsi
vendored
|
@ -1,7 +1,8 @@
|
||||||
; NSIS installer script for Valentina
|
; NSIS installer script for Valentina
|
||||||
; --------------- Headers --------------
|
; --------------- Headers --------------
|
||||||
!include "MUI2.nsh"
|
!include "MUI2.nsh"
|
||||||
!include "headers\FileAssociation.nsh"
|
!include "headers\fileassoc.nsh"
|
||||||
|
!include "FileFunc.nsh"
|
||||||
|
|
||||||
; --------------- General --------------
|
; --------------- General --------------
|
||||||
CRCCheck force
|
CRCCheck force
|
||||||
|
@ -21,7 +22,7 @@ Icon "valentina\${MUI_FILE}.ico"
|
||||||
Caption "${MUI_BRANDINGTEXT}"
|
Caption "${MUI_BRANDINGTEXT}"
|
||||||
OutFile "${MUI_FILE}-install-v.${MUI_VERSION}_32bit.exe" ; Resulting installer filename
|
OutFile "${MUI_FILE}-install-v.${MUI_VERSION}_32bit.exe" ; Resulting installer filename
|
||||||
InstallDirRegKey HKCU "$LOCALAPPDATA\${MUI_PRODUCT}" "" ; Get installation folder from registry if available
|
InstallDirRegKey HKCU "$LOCALAPPDATA\${MUI_PRODUCT}" "" ; Get installation folder from registry if available
|
||||||
LicenseData "valentina\LICENSE"
|
LicenseData "valentina\LICENSE_GPL.txt"
|
||||||
RequestExecutionLevel user ; Request application privileges for Windows Vista
|
RequestExecutionLevel user ; Request application privileges for Windows Vista
|
||||||
|
|
||||||
ShowInstDetails show
|
ShowInstDetails show
|
||||||
|
@ -46,7 +47,7 @@ ShowUninstDetails show
|
||||||
;-------------- Install Pages -------------
|
;-------------- Install Pages -------------
|
||||||
|
|
||||||
!insertmacro MUI_PAGE_WELCOME
|
!insertmacro MUI_PAGE_WELCOME
|
||||||
!insertmacro MUI_PAGE_LICENSE "valentina\license"
|
!insertmacro MUI_PAGE_LICENSE "valentina\LICENSE_GPL.txt"
|
||||||
!insertmacro MUI_PAGE_COMPONENTS
|
!insertmacro MUI_PAGE_COMPONENTS
|
||||||
!insertmacro MUI_PAGE_DIRECTORY
|
!insertmacro MUI_PAGE_DIRECTORY
|
||||||
!insertmacro MUI_PAGE_INSTFILES
|
!insertmacro MUI_PAGE_INSTFILES
|
||||||
|
@ -56,7 +57,7 @@ ShowUninstDetails show
|
||||||
!define MUI_FINISHPAGE_RUN_CHECKED
|
!define MUI_FINISHPAGE_RUN_CHECKED
|
||||||
!define MUI_FINISHPAGE_RUN_TEXT "Launch ${MUI_PRODUCT}"
|
!define MUI_FINISHPAGE_RUN_TEXT "Launch ${MUI_PRODUCT}"
|
||||||
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||||
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README"
|
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
|
||||||
!insertmacro MUI_PAGE_FINISH
|
!insertmacro MUI_PAGE_FINISH
|
||||||
|
|
||||||
;-------------- Uninstall Pages -------------
|
;-------------- Uninstall Pages -------------
|
||||||
|
@ -147,6 +148,12 @@ Function checkAlreadyInstalled
|
||||||
UnInstall:
|
UnInstall:
|
||||||
ClearErrors
|
ClearErrors
|
||||||
ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
|
ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
|
||||||
|
|
||||||
|
;uninstall.exe is still here
|
||||||
|
;Delete Files
|
||||||
|
RMDir /r "$INSTDIR\*.*"
|
||||||
|
;Remove the installation directory
|
||||||
|
RMDir "$INSTDIR"
|
||||||
|
|
||||||
IfErrors no_remove_uninstaller done
|
IfErrors no_remove_uninstaller done
|
||||||
;You can either use Delete /REBOOTOK in the uninstaller or add some code
|
;You can either use Delete /REBOOTOK in the uninstaller or add some code
|
||||||
|
@ -170,8 +177,6 @@ FunctionEnd
|
||||||
Function un.onInit
|
Function un.onInit
|
||||||
!insertmacro MUI_UNGETLANGUAGE
|
!insertmacro MUI_UNGETLANGUAGE
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Page instfiles "" createInstFiles
|
|
||||||
|
|
||||||
;-------------- Installer -------------------------
|
;-------------- Installer -------------------------
|
||||||
Section "Valentina (required)"
|
Section "Valentina (required)"
|
||||||
|
@ -182,9 +187,9 @@ SetOutPath "$INSTDIR" ; Set output path to the installation directory.
|
||||||
File /r "c:\pack\valentina\*.*"
|
File /r "c:\pack\valentina\*.*"
|
||||||
|
|
||||||
;create start-menu items
|
;create start-menu items
|
||||||
!define START_LINK_DIR "$STARTMENU\Programs\${MUI_PRODUCT}"
|
!define START_LINK_DIR "$SMPROGRAMS\${MUI_PRODUCT}"
|
||||||
!define START_LINK_RUN "$STARTMENU\Programs\${MUI_PRODUCT}\${MUI_PRODUCT}.lnk"
|
!define START_LINK_RUN "$SMPROGRAMS\${MUI_PRODUCT}\${MUI_PRODUCT}.lnk"
|
||||||
!define START_LINK_UNINSTALLER "$STARTMENU\Programs\${MUI_PRODUCT}\Uninstall ${MUI_PRODUCT}.lnk"
|
!define START_LINK_UNINSTALLER "$SMPROGRAMS\${MUI_PRODUCT}\Uninstall ${MUI_PRODUCT}.lnk"
|
||||||
|
|
||||||
# In your main installer section...
|
# In your main installer section...
|
||||||
SetShellVarContext current
|
SetShellVarContext current
|
||||||
|
@ -199,13 +204,21 @@ CreateShortCut "$DESKTOP\${MUI_PRODUCT}.lnk" "$INSTDIR\${MUI_FILE}.exe" ""
|
||||||
!define UNINSTALLER_NAME "Uninstall.exe"
|
!define UNINSTALLER_NAME "Uninstall.exe"
|
||||||
|
|
||||||
; File associations
|
; File associations
|
||||||
${RegisterExtension} "$INSTDIR\${MUI_FILE}.exe" ".val" "Valentina_File"
|
!insertmacro APP_ASSOCIATE "val" "valentina.pattern" "Valentina pattern file" "$INSTDIR\${MUI_FILE}.exe,0" "Open with Valentina" "$\"$INSTDIR\${MUI_FILE}.exe$\" $\"%1$\""
|
||||||
|
; Example of association icon with file type
|
||||||
|
; !insertmacro APP_ASSOCIATE "osapp" "OSA.osapp" "Plugin Package" "$INSTDIR\PluginIcon.ico" "Open" "$INSTDIR\PluginInstaller.exe $\"%1$\""
|
||||||
|
!insertmacro UPDATEFILEASSOC
|
||||||
|
|
||||||
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "DisplayName" "${MUI_PRODUCT}"
|
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "DisplayName" "${MUI_PRODUCT}"
|
||||||
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\${MUI_FILE}.exe$\""
|
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\${MUI_FILE}.exe$\""
|
||||||
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "Publisher" "${PUBLISHER}"
|
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "Publisher" "${PUBLISHER}"
|
||||||
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "DisplayVersion" "${MUI_VERSION}"
|
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "DisplayVersion" "${MUI_VERSION}"
|
||||||
WriteRegDWord "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "EstimatedSize" 51,4 ;MB
|
|
||||||
|
; Run GetSize after coping all files
|
||||||
|
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
||||||
|
IntFmt $0 "0x%08X" $0
|
||||||
|
WriteRegDWord "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "EstimatedSize" "$0"
|
||||||
|
|
||||||
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}"
|
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}"
|
||||||
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}"
|
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}"
|
||||||
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\""
|
WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\""
|
||||||
|
@ -218,8 +231,7 @@ WriteRegStr "${REGISTRY_ROOT}" "${REG_UNINSTALL}" "Comments" "Uninstalls ${MUI_P
|
||||||
WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" ; Location of the uninstaller
|
WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" ; Location of the uninstaller
|
||||||
|
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Uninstaller Section
|
;Uninstaller Section
|
||||||
Section "Uninstall"
|
Section "Uninstall"
|
||||||
|
@ -237,18 +249,12 @@ Delete "${START_LINK_DIR}\*.*"
|
||||||
RmDir "${START_LINK_DIR}"
|
RmDir "${START_LINK_DIR}"
|
||||||
|
|
||||||
; Removing file associations
|
; Removing file associations
|
||||||
${UnRegisterExtension} ".val" "Valentina_File"
|
!insertmacro APP_UNASSOCIATE "val" "valentina.pattern"
|
||||||
|
|
||||||
;Delete Uninstaller And Unistall Registry Entries
|
;Delete Uninstaller And Unistall Registry Entries
|
||||||
DeleteRegKey "${REGISTRY_ROOT}" "SOFTWARE\${MUI_PRODUCT}"
|
DeleteRegKey "${REGISTRY_ROOT}" "SOFTWARE\${MUI_PRODUCT}"
|
||||||
DeleteRegKey "${REGISTRY_ROOT}" "${REG_UNINSTALL}"
|
DeleteRegKey "${REGISTRY_ROOT}" "${REG_UNINSTALL}"
|
||||||
|
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
;-------------- Taskbar Progress for Windows 7+ -------------
|
|
||||||
;Need install additional plug-in (http://nsis.sourceforge.net/TaskbarProgress_plug-in)
|
|
||||||
Function createInstFiles
|
|
||||||
w7tbp::Start
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
;eof
|
;eof
|
||||||
|
|
Loading…
Reference in New Issue
Block a user