SetDefault.exe Source Code
Posted by: George Hall
Date: February 17, 2014 09:29AM

Where can I get the source code for SetDefault.exe.



Edited 2 time(s). Last edit at 03/03/2014 11:15PM by guenter.

Re: SetDefault.ese Source Code
Posted by: guenter
Date: February 18, 2014 12:36PM

Quote
George Hall
Where can I get the source code for SetDefault.exe.

alain has posted that he has the packager on his home page.
The link is in his signature.

http://jujuland.pagesperso-orange.fr/kmeleon.html

Keyword: Tux kmPackager 0.33 (en)

The folder ./packager/bin/Version Nr. of the last K-Meleon that was packaged with it/install contains./setdeafult.nsi and other needed nsi,... files.
The packager generates the exe with it.

post script: The latest version updated by naruman is attached at the bottom of this post.

;setdeafult.nsi code


!define SETUP_VERSION "1.3.1.4" ; SetDefault version
!include "common.nsi"
!define PRODUCT_NAME "${KM_NAME}"
!define PRODUCT_VERSION "${KM_VERSION}" ; K-Meleon version

!define PRODUCT_WEB_SITE "${KM_HOME}"
!define PRODUCT_MOZVERS "${mozVERSION}"

!define PRODUCT_PUBLISHER "${KM_TEAM}"
!define PRODUCT_BUILD "${PRODUCT_NAME} ${PRODUCT_VERSION}"
!define PRODUCT_KEY "Software\${PRODUCT_NAME}"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define CLIENT "Software\Clients\StartMenuInternet"
!define MOZILLA "Software\Mozilla"

!ifndef OUTDIR
!define OUTDIR ""
!endif
!define SETDEF "SetDefault"

;--------------------------------
;Global Variables for translation purpose

; Caption
Var /Global _SetupCaption
Var /Global _SetupCaption_1
Var /Global _SetupCaption_2
; Welcome
Var /Global _MUI_WELCOMEPAGE_TITLE
Var /Global _MUI_WELCOMEPAGE_TITLE_1
Var /Global _MUI_WELCOMEPAGE_TITLE_2
Var /Global _MUI_WELCOMEPAGE_TEXT
; Directory
Var /Global _MUI_DIRECTORYPAGE_HEADER_TEXT
Var /Global _MUI_DIRECTORYPAGE_HEADER_SUBTEXT
Var /Global _MUI_DIRECTORYPAGE_TEXT_TOP
Var /Global _MUI_DIRECTORYPAGE_TEXT_TOP_1
Var /Global _MUI_DIRECTORYPAGE_TEXT_TOP_2
Var /Global _MUI_DIRECTORYPAGE_TEXT_TOP_3
Var /Global _DirSubText
Var /Global _BrowseBtn
Var /Global _DirBrowseText
; Components
Var /Global _MUI_COMPONENTSPAGE_HEADER_TEXT
Var /Global _MUI_COMPONENTSPAGE_HEADER_SUBTEXT
Var /Global _MUI_COMPONENTSPAGE_TEXT_TOP
Var /Global _MUI_COMPONENTSPAGE_TEXT_COMPLIST
Var /Global _MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
Var /Global _MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
; Installing
Var /Global _MUI_TEXT_INSTALLING_TITLE
Var /Global _MUI_TEXT_INSTALLING_SUBTITLE
Var /Global _MUI_TEXT_FINISH_TITLE
Var /Global _MUI_TEXT_FINISH_SUBTITLE
Var /Global _MUI_INSTFILESPAGE_HEADER_TEXT
Var /Global _MUI_INSTFILESPAGE_HEADER_SUBTEXT
Var /Global _MUI_INSTFILESPAGE_FINISHHEADER_TEXT
Var /Global _MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
Var /Global _InstallBtn
Var /Global _Completed
; General buttons
Var /Global _BackBtn
Var /Global _NextBtn
Var /Global _CancelBtn
Var /Global _CloseBtn
; Main section
Var /Global _SecMain
Var /Global _DESC_SecMain
Var /Global _SET_SecMain
; Windows Browser section
Var /Global _SecDefWindowsBrowser
Var /Global _DESC_SecDefWindowsBrowser
Var /Global _SET_SecDefWindowsBrowser
; Assoc proto section
Var /Global _SecAssoc
Var /Global _DESC_SecAssoc
; Protocols section
Var /Global _SecAssocProto
Var /Global _DESC_SecAssocProto
; Http section
Var /Global _SecHttp
Var /Global _DESC_SecHttp
Var /Global _SET_SecHttp
; Https section
Var /Global _SecHttps
Var /Global _DESC_SecHttps
Var /Global _SET_SecHttps
; Extensions section
Var /Global _SD_DocumentName
; Assoc Ext section
Var /Global _SecAssocExt
Var /Global _DESC_SecAssocExt
; Htm section
Var /Global _SecHtm
Var /Global _DESC_SecHtm
Var /Global _SET_SecHtm
; Html section
Var /Global _SecHtml
Var /Global _DESC_SecHtml
Var /Global _SET_SecHtml
; sHtml section
Var /Global _SecShtml
Var /Global _DESC_SecShtml
Var /Global _SET_SecShtml
; xHt section
Var /Global _SecXht
Var /Global _DESC_SecXht
Var /Global _SET_SecXht
; xHtml section
Var /Global _SecXhtml
Var /Global _DESC_SecXhtml
Var /Global _SET_SecXhtml
; Shortcuts section
Var /Global _SecShortcuts
Var /Global _DESC_SecShortcuts
; Desktop section
Var /Global _SecDesktop
Var /Global _DESC_SecDesktop
Var /Global _SET_SecDesktop
; Startup section
Var /Global _SecStartMenu
Var /Global _DESC_SecStartMenu
Var /Global _SET_SecStartMenu
; QuickLaunch section
Var /Global _SecQuickLaunch
Var /Global _DESC_SecQuickLaunch
Var /Global _SET_SecQuickLaunch
; Loader section
; Var /Global _PRODUCT_NAME_LOADER
Var /Global _SecLoader
Var /Global _DESC_SecLoader
Var /Global _SET_SecLoader
; No K-Meleon Folder Message
Var /Global _NotDetected
; Abort message
Var /Global _MUI_ABORTWARNING_TEXT
Var /Global _MUI_ABORTWARNING_TEXT_1
Var /Global _MUI_ABORTWARNING_TEXT_2

;--------------------------------
;Include Modern UI

!define MUI_COMPONENTSPAGE_SMALLDESC
!include "MUI.nsh"
!include "Sections.nsh"
; !include "${NSISDIR}\Contrib\Modern UI\System.nsh"

;--------------------------------
;Include Windows SendMessage

!include "WinMessages.nsh"
!define Startup "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

;--------------------------------
;Global Variable

Var /Global UserIsAdmin

;--------------------------------
;Version tab in properties

VIProductVersion "${SETUP_VERSION}"

VIAddVersionKey Comments "${PRODUCT_NAME} ${SETDEF} ${SETUP_VERSION}"
VIAddVersionKey CompanyName "${KM_TEAM}"
VIAddVersionKey FileDescription "${PRODUCT_NAME} Setup Assistant"
VIAddVersionKey FileVersion "${SETUP_VERSION}"
VIAddVersionKey InternalName "${PRODUCT_NAME} ${SETDEF} ${SETUP_VERSION}"
VIAddVersionKey LegalCopyright "${KM_COPYRIGHT}"
VIAddVersionKey LegalTrademarks "${PRODUCT_WEB_SITE}"
VIAddVersionKey OriginalFilename "${SETDEF}.exe"
VIAddVersionKey PrivateBuild ""
VIAddVersionKey ProductName "${PRODUCT_NAME} ${SETDEF}"
VIAddVersionKey ProductVersion "${SETUP_VERSION}"
VIAddVersionKey SpecialBuild ""

;--------------------------------
; MUI Settings

!define MUI_ABORTWARNING
!define MUI_ABORTWARNING_TEXT "$_MUI_ABORTWARNING_TEXT"
!define MUI_ICON "${PRODUCT_NAME}.ico"
!define MUI_UNICON "${PRODUCT_NAME}.ico"
!define MUI_CHECKBITMAP "${NSISDIR}\Contrib\Icons\modern.bmp"

; Welcome/Finish pages parameters
!define MUI_WELCOMEFINISHPAGE_BITMAP "${PRODUCT_NAME}.bmp"
!define MUI_WELCOMEPAGE_TITLE $_MUI_WELCOMEPAGE_TITLE
!define MUI_WELCOMEPAGE_TITLE_3LINES
!define MUI_WELCOMEPAGE_TEXT "$_MUI_WELCOMEPAGE_TEXT ${SETUP_VERSION}"

!insertmacro MUI_PAGE_WELCOME

; Directory page parameters
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE DirectoryLeave
!define MUI_PAGE_HEADER_TEXT $_MUI_DIRECTORYPAGE_HEADER_TEXT
!define MUI_PAGE_HEADER_SUBTEXT $_MUI_DIRECTORYPAGE_HEADER_SUBTEXT
!define MUI_DIRECTORYPAGE_TEXT_TOP $_MUI_DIRECTORYPAGE_TEXT_TOP

!insertmacro MUI_PAGE_DIRECTORY

; Components page parameters
!define MUI_PAGE_HEADER_TEXT "$_MUI_COMPONENTSPAGE_HEADER_TEXT"
!define MUI_PAGE_HEADER_SUBTEXT "$_MUI_COMPONENTSPAGE_HEADER_SUBTEXT"
!define MUI_COMPONENTSPAGE_TEXT_TOP "$_MUI_COMPONENTSPAGE_TEXT_TOP"
!define MUI_COMPONENTSPAGE_TEXT_COMPLIST "$_MUI_COMPONENTSPAGE_TEXT_COMPLIST"
!define MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$_MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO"
!define MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$_MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE"

!insertmacro MUI_PAGE_COMPONENTS

#; Installation page parameters
!define MUI_INSTFILESPAGE_HEADER_TEXT "$_MUI_INSTFILESPAGE_HEADER_TEXT"
!define MUI_INSTFILESPAGE_HEADER_SUBTEXT "$_MUI_INSTFILESPAGE_HEADER_SUBTEXT"
!define MUI_INSTFILESPAGE_FINISHHEADER_TEXT "$_MUI_INSTFILESPAGE_FINISHHEADER_TEXT"
!define MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT "$_MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT"
!define MUI_PROGRESSBAR smooth

!insertmacro MUI_PAGE_INSTFILES

;--------------------------------
; English Language by default

!insertmacro MUI_LANGUAGE "English"

;--------------------------------
; English messages
; A trick to localize the last untranlatable messages

LangString MUI_TEXT_INSTALLING_TITLE ${LANG_ENGLISH} "$_MUI_TEXT_INSTALLING_TITLE"
LangString MUI_TEXT_INSTALLING_SUBTITLE ${LANG_ENGLISH} "$_MUI_TEXT_INSTALLING_SUBTITLE"

;--------------------------------
;MUI parameters

;Name and file
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
Caption "$_SetupCaption"
OutFile "${OUTDIR}${SETDEF}.exe"

;Default installation folder and strings
InstallDir "$EXEDIR\"
DirText "$_MUI_DIRECTORYPAGE_HEADER_SUBTEXT" "$_DirSubText" "$_BrowseBtn" "$_DirBrowseText"
InstallButtonText "$_InstallBtn"
MiscButtonText "$_BackBtn" "$_NextBtn" "$_CancelBtn" "$_CloseBtn"
CompletedText "$_Completed"
SpaceTexts "none"

ShowInstDetails show
ShowUnInstDetails show

BrandingText /TRIMRIGHT "${PRODUCT_BUILD}"

# ----------------------------------------------------------------------
; macro Protocol

!macro assocProtocol proto desc
push $0

ReadRegStr $0 SHCTX "Software\Classes\${proto}" ""
StrCmp $0 "${desc}" +3
WriteRegStr SHCTX "${PRODUCT_KEY}\Desktop" "${proto}" $0
WriteRegStr SHCTX "Software\Classes\${proto}" "" "${desc}"

ReadRegStr $0 SHCTX "Software\Classes\${proto}\shell\open\command" ""
StrCmp $0 '"$INSTDIR\${PRODUCT_NAME}.exe" "%1"' assocProtocol_End
WriteRegStr SHCTX "${PRODUCT_KEY}\Desktop" "${proto}\shell\open\command" $0
ReadRegStr $0 SHCTX "Software\Classes\${proto}\DefaultIcon" ""
WriteRegStr SHCTX "${PRODUCT_KEY}\Desktop" "${proto}\DefaultIcon" $0

WriteRegStr SHCTX "Software\Classes\${proto}\DefaultIcon" "" "$INSTDIR\${PRODUCT_NAME}.exe,1"
WriteRegStr SHCTX "Software\Classes\${proto}\shell\open\command" "" '"$INSTDIR\${PRODUCT_NAME}.exe" "%1"'
DeleteRegKey SHCTX "Software\Classes\${proto}\shell\open\ddeexec"
WriteRegStr SHCTX "Software\Classes\${proto}\shell\open\ddeexec\Application" "" "${PRODUCT_NAME}"

assocProtocol_End:

pop $0
!macroend

# ----------------------------------------------------------------------
; macro Extension

!macro assocExtension ext type
push $0

ReadRegStr $0 SHCTX "Software\Classes\${ext}" ""

StrCmp $0 "${PRODUCT_NAME}.HTML" assocExtension_End
WriteRegStr SHCTX "${PRODUCT_KEY}\Desktop" "${ext}" $0
WriteRegStr SHCTX "Software\Classes\${ext}" "" "${PRODUCT_NAME}.HTML"

ReadRegStr $0 SHCTX "Software\Classes\${ext}" "Content Type"
WriteRegStr SHCTX "Software\Classes\${ext}" "Content Type" "${type}"

DeleteRegKey SHCTX "Software\Classes\${ext}\PersistentHandler"

assocExtension_End:

pop $0
!macroend

# ----------------------------------------------------------------------

Section $_SecMain SecMain

SectionIn 1
DetailPrint "$_SET_SecMain"
WriteRegStr HKLM ${MOZILLA}\${PRODUCT_NAME} "GeckoVer" ${PRODUCT_MOZVERS}
WriteRegStr HKLM "${MOZILLA}\${PRODUCT_NAME}\bin" "PathToExe" "$INSTDIR\${PRODUCT_NAME}.exe"
WriteRegStr HKLM "${MOZILLA}\${PRODUCT_NAME}\Extensions" "Plugins" "$INSTDIR\Plugins"
WriteRegStr HKLM "${MOZILLA}\${PRODUCT_NAME}\Extensions" "Components" "$INSTDIR\Components"
WriteRegStr HKLM "Software\mozilla.org\Mozilla" "CurrentVersion" ${PRODUCT_MOZVERS}
WriteRegStr HKCU "${PRODUCT_KEY}\General" "InstallDir" "$INSTDIR"


SectionEnd

# ----------------------------------------------------------------------

Section $_SecDefWindowsBrowser SecDefWindowsBrowser

DetailPrint "$_SET_SecDefWindowsBrowser"
WriteRegStr HKLM "${CLIENT}\${PRODUCT_NAME}.exe" "" ${PRODUCT_NAME}
# WriteRegStr HKLM "Software\Clients\StartMenuInternet\${PRODUCT_NAME}.exe" "LocalizedString" "@$INSTDIR\${PRODUCT_NAME}.exe,-9"
WriteRegStr HKLM "${CLIENT}\${PRODUCT_NAME}.exe\DefaultIcon" "" "$INSTDIR\${PRODUCT_NAME}.exe,0"
WriteRegStr HKLM "${CLIENT}\${PRODUCT_NAME}.exe\Shell\Open\Command" "" "$INSTDIR\${PRODUCT_NAME}.exe"
WriteRegStr HKLM "${CLIENT}\${PRODUCT_NAME}.exe\InstallInfo" "ReinstallCommand" '"$INSTDIR\SetDefault.exe" /S'
WriteRegStr HKLM "${CLIENT}\${PRODUCT_NAME}.exe\InstallInfo" "HideIconsCommand" '"$INSTDIR\SetDefault.exe" /hide'
WriteRegStr HKLM "${CLIENT}\${PRODUCT_NAME}.exe\InstallInfo" "ShowIconsCommand" '"$INSTDIR\SetDefault.exe" /show'
WriteRegDWORD HKLM "${CLIENT}\${PRODUCT_NAME}.exe\InstallInfo" "IconsVisible" 0

SectionEnd

# ----------------------------------------------------------------------

SubSection $_SecAssoc SecAssoc

Section
SectionIn 1 2 RO
#XP Start Menu
WriteRegStr HKLM ${CLIENT} "" "${PRODUCT_NAME}.exe"
IfErrors 0 +3
WriteRegStr HKCU ${CLIENT} "" "${PRODUCT_NAME}.exe"
Goto +2
WriteRegStr HKCU ${CLIENT} "" ""

StrCmp $UserIsAdmin "true" 0 +3
SetShellVarContext all
Goto +2
SetShellVarContext current

WriteRegStr SHCTX "Software\Classes\${PRODUCT_NAME}.HTML" "" $_SD_DocumentName
WriteRegStr SHCTX "Software\Classes\${PRODUCT_NAME}.HTML\DefaultIcon" "" "$INSTDIR\${PRODUCT_NAME}.exe,1"
WriteRegStr SHCTX "Software\Classes\${PRODUCT_NAME}.HTML\shell\open\command" "" '"$INSTDIR\${PRODUCT_NAME}.exe" "%1"'

WriteRegStr HKCU "${PRODUCT_KEY}\General" "InstallDir" "$INSTDIR"
SendMessage HWND_BROADCAST WM_SETTINGCHANGE 0 "STR:${CLIENT}" /TIMEOUT=5000

SectionEnd

SubSection $_SecAssocProto SecAssocProto
Section $_SecHttp SecHttp
SectionIn 1
DetailPrint "$_SET_SecHttp"
!insertmacro assocProtocol "http" "URL:HTTP (HyperText Transfer Protocol)"
SectionEnd

Section $_SecHttps SecHttps
SectionIn 1
DetailPrint "$_SET_SecHttps"
!insertmacro assocProtocol "https" "URL:HTTPS (HyperText Transfer Protocol) with Security System"
SectionEnd

SubSectionEnd

SubSection $_SecAssocExt SecAssocExt

Section $_SecHtm SecHtm
SectionIn 1
DetailPrint "$_SET_SecHtm"
!insertmacro assocExtension ".htm" "text/html"
SectionEnd

Section $_SecHtml SecHtml
SectionIn 1
DetailPrint "$_SET_SecHtml"
!insertmacro assocExtension ".html" "text/html"
SectionEnd

Section $_SecShtml SecShtml
SectionIn 1
DetailPrint "$_SET_SecShtml"
!insertmacro assocExtension ".shtml" "text/html"
SectionEnd

Section $_SecXht SecXht
SectionIn 1
DetailPrint "$_SET_SecXht"
!insertmacro assocExtension ".xht" "application/xhtml+xml"
SectionEnd

Section $_SecXhtml SecXhtml
SectionIn 1
DetailPrint "$_SET_SecXhtml"
!insertmacro assocExtension ".xhtml" "application/xhtml+xml"
SectionEnd

SubSectionEnd

SubSectionEnd

# ----------------------------------------------------------------------

SubSection $_SecShortcuts SecShortcuts

Section /o $_SecDesktop SecDesktop
DetailPrint "$_SET_SecDesktop"
SetShellVarContext current ; shortcut in AllUsers are annoying
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "" "" 0
WriteRegDWORD HKLM "${CLIENT}\${PRODUCT_NAME}\InstallInfo" "IconsVisible" 1
SectionEnd

Section /o $_SecStartMenu SecStartMenu
DetailPrint "$_SET_SecStartMenu"
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "" "$INSTDIR\${PRODUCT_NAME}.exe" 0
WriteRegDWORD HKLM "${CLIENT}\${PRODUCT_NAME}\InstallInfo" "IconsVisible" 1
SectionEnd

Section /o $_SecQuickLaunch SecQuickLaunch
DetailPrint "$_SET_SecQuickLaunch"
CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "" "" 0
WriteRegDWORD HKLM "${CLIENT}\${PRODUCT_NAME}\InstallInfo" "IconsVisible" 1
SectionEnd

SubSectionEnd

# ----------------------------------------------------------------------

Section /o $_SecLoader SecLoader

DetailPrint "$_SET_SecLoader"
ReadRegStr $9 HKCU "${STARTUP}" "Startup"
Push "$9\${PRODUCT_NAME} Loader.lnk"
Pop $1
CreateShortCut $1 "$INSTDIR\Loader.exe"

SectionEnd

# ----------------------------------------------------------------------
; Function Restore Extension

Function restoreExtension
Exch $R0
Push $0

StrCmp $UserIsAdmin "true" 0 NotAdmin
ReadRegStr $0 HKLM "Software\Classes\$R0" ""
StrCmp $0 "${PRODUCT_NAME}.HTML" 0 restoreExtension_End
ReadRegStr $0 HKLM "${PRODUCT_KEY}\Desktop" "$R0"
IfErrors restoreExtension_End
WriteRegStr HKLM "Software\Classes\$R0" "" $0
Goto restoreExtension_End
NotAdmin:
ReadRegStr $0 HKCU "Software\Classes\$R0" ""
StrCmp $0 "${PRODUCT_NAME}.HTML" 0 restoreExtension_End
ReadRegStr $0 HKCU "${PRODUCT_KEY}\Desktop" "$R0"
StrCmp $0 "" +3 0
WriteRegStr HKCU "Software\Classes\$R0" "" $0
Goto restoreExtension_End
DeleteRegKey HKCU "Software\Classes\$R0"

restoreExtension_End:
Pop $0
Pop $R0
FunctionEnd

# ----------------------------------------------------------------------
; Function Restore Protocol

Function restoreProtocol
Exch $R1
Exch
Exch $R0

StrCmp $UserIsAdmin "true" 0 NotAdmin

ReadRegStr $0 HKLM "Software\Classes\$R0" ""
StrCmp $0 "$R1" 0 +3
ReadRegStr $0 HKLM "${PRODUCT_KEY}\Desktop" "$R0"
IfErrors restoreProtocol_End
WriteRegStr HKLM "Software\Classes\$R0" "" $0

ReadRegStr $0 HKLM "Software\Classes\$R0\shell\open\command" ""
StrCmp $0 '"$INSTDIR\${PRODUCT_NAME}.exe" "%1"' 0 restoreProtocol_End
ReadRegStr $0 HKLM "${PRODUCT_KEY}\Desktop" "$R0\DefaultIcon"
IfErrors restoreProtocol_End
WriteRegStr HKLM "Software\Classes\$R0\DefaultIcon" "" $0
ReadRegStr $0 HKLM "${PRODUCT_KEY}\Desktop" "$R0\shell\open\command"
IfErrors restoreProtocol_End
WriteRegStr HKLM "Software\Classes\$R0\shell\open\command" "" $0
DeleteRegKey HKLM "Software\Classes\$R0\shell\open\ddeexec"
Goto restoreProtocol_End
NotAdmin:

ReadRegStr $0 HKCU "Software\Classes\$R0" ""
StrCmp $0 "$R1" 0 +3
ReadRegStr $0 HKCU "${PRODUCT_KEY}\Desktop" "$R0"
StrCmp $0 "" 0 +3
DeleteRegKey HKCU "Software\Classes\$R0"
Goto restoreProtocol_End

WriteRegStr HKCU "Software\Classes\$R0" "" $0

ReadRegStr $0 HKCU "Software\Classes\$R0\shell\open\command" ""
StrCmp $0 '"$INSTDIR\${PRODUCT_NAME}.exe" "%1"' 0 restoreProtocol_End
ReadRegStr $0 HKCU "${PRODUCT_KEY}\Desktop" "$R0\DefaultIcon"
WriteRegStr HKCU "Software\Classes\$R0\DefaultIcon" "" $0
ReadRegStr $0 HKCU "${PRODUCT_KEY}\Desktop" "$R0\shell\open\command"
WriteRegStr HKCU "Software\Classes\$R0\shell\open\command" "" $0
DeleteRegKey HKCU "Software\Classes\$R0\shell\open\ddeexec"

restoreProtocol_End:
Pop $R0
Pop $0
Pop $R0
Pop $R1

FunctionEnd

# ----------------------------------------------------------------------

Function DirectoryLeave
IfFileExists "$INSTDIR\${PRODUCT_NAME}.exe" KMFound
MessageBox MB_RETRYCANCEL|MB_ICONSTOP "$_NotDetected$\n$\n ''$INSTDIR'' !!! $\n" IDRETRY Retry
MessageBox MB_YESNO|MB_ICONEXCLAMATION $_MUI_ABORTWARNING_TEXT IDNO Retry
Quit
Retry:
Abort
KMFound:

FunctionEnd

# ----------------------------------------------------------------------

Function GetParameters

Push $R0
Push $R1
Push $R2
Push $R3

StrCpy $R2 1
StrLen $R3 $CMDLINE

;Check for quote or space
StrCpy $R0 $CMDLINE $R2
StrCmp $R0 '"' 0 +3
StrCpy $R1 '"'
Goto loop
StrCpy $R1 " "

loop:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 $R1 get
StrCmp $R2 $R3 get
Goto loop

get:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 " " get
StrCpy $R0 $CMDLINE "" $R2

Pop $R3
Pop $R2
Pop $R1
Exch $R0

FunctionEnd

# ----------------------------------------------------------------------

Function .onInit

Call GetParameters
Pop $1

; StrCmp $1 "/u" TestLoader 0
StrCmp $1 "/s" Lang_En 0
strcmp $1 "" Lang_En 0
strcmp $1 "en-US" Lang_En SearchLocale

SearchLocale:
IfFileExists $EXEDIR\locales\$1\setdefault.ini ReadLocale Lang_En

ReadLocale:
strcpy $0 $EXEDIR\locales\$1\SetDefault.ini
Push $0
call Translate_Strings
goto TestLoader

Lang_En:
call Messages_En

TestLoader:
ReadRegStr $9 HKCU "${STARTUP}" "Startup"
Push "$9\${PRODUCT_NAME} Loader.lnk"
Pop $8

IfFileExists $8 0 Params
SectionSetFlags ${SecLoader} ${SF_SELECTED}

Params:
Call IsUserAdmin
Exch $R0
StrCpy $UserIsAdmin $R0

StrCmp $1 "/u" 0 onInit_noUn
Push ".htm"
Call restoreExtension
Push ".html"
Call restoreExtension
Push ".shtml"
Call restoreExtension
Push ".xht"
Call restoreExtension
Push ".xhtml"
Call restoreExtension

Push "http"
Push "URL:HTTP (HyperText Transfer Protocol)"
Call restoreProtocol

Push "https"
Push "URL:HTTPS (HyperText Transfer Protocol) with Security System"
Call restoreProtocol

System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
Quit

onInit_noUn:
# This is probably more annoying than anything else.
StrCmp $1 "/hide" 0 onInit_noHide
SetShellVarContext all
Delete $DESKTOP\${PRODUCT_NAME}.lnk
RMDir /r $SMPROGRAMS\${PRODUCT_NAME}
# Delete "$QUICKLAUNCH\${PRODUCT_NAME}.lnk"
WriteRegDWORD HKLM "${CLIENT}\${PRODUCT_NAME}\InstallInfo" "IconsVisible" 0
Quit

onInit_noHide:
StrCmp $1 "/show" 0 onInit_noShow
SetShellVarContext all
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "" "" 0
# CreateShortCut "$QUICKLAUNCH\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "" "" 0
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "" "$INSTDIR\${PRODUCT_NAME}.exe" 0
WriteRegDWORD HKLM "${CLIENT}\${PRODUCT_NAME}\InstallInfo" "IconsVisible" 1
Quit

onInit_noShow:
IfSilent 0 +3
IfFileExists "$INSTDIR\${PRODUCT_NAME}.exe" +2
Quit

FunctionEnd

# ----------------------------------------------------------------------

Function .onInstSuccess

SectionGetFlags ${SecLoader} $0
IntCmp $0 ${SF_SELECTED} Notify 0
Delete "$9\${PRODUCT_NAME} Loader.lnk"

Notify:
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'

FunctionEnd

# ----------------------------------------------------------------------

Function IsUserAdmin

Push $R0
Push $R1
Push $R2

ClearErrors
UserInfo::GetName
IfErrors Win9x
Pop $R1
UserInfo::GetAccountType
Pop $R2

StrCmp $R2 "Admin" 0 Continue
; Observation: I get here when running Win98SE. (Lilla)
; The functions UserInfo.dll looks for are there on Win98 too,
; but just don't work. So UserInfo.dll, knowing that admin isn't required
; on Win98, returns admin anyway. (per kichik)
; MessageBox MB_OK 'User "$R1" is in the Administrators group'
StrCpy $R0 "true"
Goto Done

Continue:
; You should still check for an empty string because the functions
; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
StrCmp $R2 "" Win9x
StrCpy $R0 "false"
;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
Goto Done

Win9x:
; comment/message below is by UserInfo.nsi author:
; This one means you don't need to care about admin or
; not admin because Windows 9x doesn't either
;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
StrCpy $R0 "true"

Done:
;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'

Pop $R2
Pop $R1
Exch $R0

FunctionEnd

# ----------------------------------------------------------------------

Function Translate_Strings

; inifile name
Pop $1

; Read lines

; Caption
# ReadIniStr $_SetupCaption $1 SetDefault SetupCaption
ReadIniStr $_SetupCaption_1 $1 SetDefault SetupCaption_1
ReadIniStr $_SetupCaption_2 $1 SetDefault SetupCaption_2
strcpy $_SetupCaption "$_SetupCaption_1${PRODUCT_VERSION}$_SetupCaption_2"
; Welcome
# ReadIniStr $_MUI_WELCOMEPAGE_TITLE $1 SetDefault MUI_WELCOMEPAGE_TITLE
ReadIniStr $_MUI_WELCOMEPAGE_TITLE_1 $1 SetDefault MUI_WELCOMEPAGE_TITLE_1
ReadIniStr $_MUI_WELCOMEPAGE_TITLE_2 $1 SetDefault MUI_WELCOMEPAGE_TITLE_2
strcpy $_MUI_WELCOMEPAGE_TITLE "$_MUI_WELCOMEPAGE_TITLE_1${PRODUCT_VERSION}$_MUI_WELCOMEPAGE_TITLE_2"
ReadIniStr $_MUI_WELCOMEPAGE_TEXT $1 SetDefault MUI_WELCOMEPAGE_TEXT
; Directory
ReadIniStr $_MUI_DIRECTORYPAGE_TEXT_TOP_1 $1 SetDefault MUI_DIRECTORYPAGE_TEXT_TOP_1
ReadIniStr $_MUI_DIRECTORYPAGE_TEXT_TOP_2 $1 SetDefault MUI_DIRECTORYPAGE_TEXT_TOP_2
ReadIniStr $_MUI_DIRECTORYPAGE_TEXT_TOP_3 $1 SetDefault MUI_DIRECTORYPAGE_TEXT_TOP_3
# strcpy $_MUI_DIRECTORYPAGE_TEXT_TOP "$_MUI_DIRECTORYPAGE_TEXT_TOP_1 $\n$\n$_MUI_DIRECTORYPAGE_TEXT_TOP_2"
strcpy $_MUI_DIRECTORYPAGE_TEXT_TOP "$_MUI_DIRECTORYPAGE_TEXT_TOP_1 $\n$\n$_MUI_DIRECTORYPAGE_TEXT_TOP_2${PRODUCT_VERSION}$_MUI_DIRECTORYPAGE_TEXT_TOP_3"

ReadIniStr $_MUI_DIRECTORYPAGE_HEADER_TEXT $1 SetDefault MUI_DIRECTORYPAGE_HEADER_TEXT
ReadIniStr $_MUI_DIRECTORYPAGE_HEADER_SUBTEXT $1 SetDefault MUI_DIRECTORYPAGE_HEADER_SUBTEXT
ReadIniStr $_DirSubText $1 SetDefault DirSubText
ReadIniStr $_BrowseBtn $1 SetDefault BrowseBtn
ReadIniStr $_DirBrowseText $1 SetDefault DirBrowseText
; Components
ReadIniStr $_MUI_COMPONENTSPAGE_HEADER_TEXT $1 SetDefault MUI_COMPONENTSPAGE_HEADER_TEXT
ReadIniStr $_MUI_COMPONENTSPAGE_HEADER_SUBTEXT $1 SetDefault MUI_COMPONENTSPAGE_HEADER_SUBTEXT
ReadIniStr $_MUI_COMPONENTSPAGE_TEXT_TOP $1 SetDefault MUI_COMPONENTSPAGE_TEXT_TOP
ReadIniStr $_MUI_COMPONENTSPAGE_TEXT_COMPLIST $1 SetDefault MUI_COMPONENTSPAGE_TEXT_COMPLIST
ReadIniStr $_MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO $1 SetDefault MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
ReadIniStr $_MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE $1 SetDefault MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
; Installing
ReadIniStr $_MUI_TEXT_INSTALLING_TITLE $1 SetDefault MUI_TEXT_INSTALLING_TITLE
ReadIniStr $_MUI_TEXT_INSTALLING_SUBTITLE $1 SetDefault MUI_TEXT_INSTALLING_SUBTITLE
ReadIniStr $_MUI_TEXT_FINISH_TITLE $1 SetDefault MUI_TEXT_FINISH_TITLE
ReadIniStr $_MUI_TEXT_FINISH_SUBTITLE $1 SetDefault MUI_TEXT_FINISH_SUBTITLE
ReadIniStr $_MUI_INSTFILESPAGE_HEADER_TEXT $1 SetDefault MUI_INSTFILESPAGE_HEADER_TEXT
ReadIniStr $_MUI_INSTFILESPAGE_HEADER_SUBTEXT $1 SetDefault MUI_INSTFILESPAGE_HEADER_SUBTEXT
ReadIniStr $_MUI_INSTFILESPAGE_FINISHHEADER_TEXT $1 SetDefault MUI_INSTFILESPAGE_FINISHHEADER_TEXT
ReadIniStr $_MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT $1 SetDefault MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
ReadIniStr $_InstallBtn $1 SetDefault InstallBtn
ReadIniStr $_Completed $1 SetDefault Completed
; General Buttons
ReadIniStr $_BackBtn $1 SetDefault BackBtn
ReadIniStr $_NextBtn $1 SetDefault NextBtn
ReadIniStr $_CancelBtn $1 SetDefault CancelBtn
ReadIniStr $_CloseBtn $1 SetDefault CloseBtn
; Main Section
ReadIniStr $_SecMain $1 SetDefault SecMain
ReadIniStr $_DESC_SecMain $1 SetDefault DESC_SecMain
ReadIniStr $_SET_SecMain $1 SetDefault SET_SecMain
; Default Windows Browser
ReadIniStr $_SecDefWindowsBrowser $1 SetDefault SecDefWindowsBrowser
ReadIniStr $_DESC_SecDefWindowsBrowser $1 SetDefault DESC_SecDefWindowsBrowser
ReadIniStr $_SET_SecDefWindowsBrowser $1 SetDefault SET_SecDefWindowsBrowser
; Assoc Section
ReadIniStr $_SecAssoc $1 SetDefault SecAssoc
ReadIniStr $_DESC_SecAssoc $1 SetDefault DESC_SecAssoc
; Assoc Proto Section
ReadIniStr $_SecAssocProto $1 SetDefault SecAssocProto
ReadIniStr $_DESC_SecAssocProto $1 SetDefault DESC_SecAssocProto
; Http Section
ReadIniStr $_SecHttp $1 SetDefault SecHttp
ReadIniStr $_DESC_SecHttp $1 SetDefault DESC_SecHttp
ReadIniStr $_SET_SecHttp $1 SetDefault SET_SecHttp
; Https Section
ReadIniStr $_SecHttps $1 SetDefault SecHttps
ReadIniStr $_DESC_SecHttps $1 SetDefault DESC_SecHttps
ReadIniStr $_SET_SecHttps $1 SetDefault SET_SecHttps
; Assoc Ext Section
ReadIniStr $_SD_DocumentName $1 SetDefault SD_DocumentName
ReadIniStr $_SecAssocExt $1 SetDefault SecAssocExt
ReadIniStr $_DESC_SecAssocExt $1 SetDefault DESC_SecAssocExt
; Htm Section
ReadIniStr $_SecHtm $1 SetDefault SecHtm
ReadIniStr $_DESC_SecHtm $1 SetDefault DESC_SecHtm
ReadIniStr $_SET_SecHtm $1 SetDefault SET_SecHtm
; Html Section
ReadIniStr $_SecHtml $1 SetDefault SecHtml
ReadIniStr $_DESC_SecHtml $1 SetDefault DESC_SecHtml
ReadIniStr $_SET_SecHtml $1 SetDefault SET_SecHtml
; sHtml Section
ReadIniStr $_SecShtml $1 SetDefault SecShtml
ReadIniStr $_DESC_SecShtml $1 SetDefault DESC_SecShtml
ReadIniStr $_SET_SecShtml $1 SetDefault SET_SecShtml
; xht Section
ReadIniStr $_SecXht $1 SetDefault SecXht
ReadIniStr $_DESC_SecXht $1 SetDefault DESC_SecXht
ReadIniStr $_SET_SecXht $1 SetDefault SET_SecXht
; xHtml Section
ReadIniStr $_SecXhtml $1 SetDefault SecXhtml
ReadIniStr $_DESC_SecXhtml $1 SetDefault DESC_SecXhtml
ReadIniStr $_SET_SecXhtml $1 SetDefault SET_SecXhtml
; Shortcuts Section
ReadIniStr $_SecShortcuts $1 SetDefault SecShortcuts
ReadIniStr $_DESC_SecShortcuts $1 SetDefault DESC_SecShortcuts
; Desktop Section
ReadIniStr $_SecDesktop $1 SetDefault SecDesktop
ReadIniStr $_DESC_SecDesktop $1 SetDefault DESC_SecDesktop
ReadIniStr $_SET_SecDesktop $1 SetDefault SET_SecDesktop
; StartMenu Section
ReadIniStr $_SecStartMenu $1 SetDefault SecStartMenu
ReadIniStr $_DESC_SecStartMenu $1 SetDefault DESC_SecStartMenu
ReadIniStr $_SET_SecStartMenu $1 SetDefault SET_SecStartMenu
; QuickLaunch Section
ReadIniStr $_SecQuickLaunch $1 SetDefault SecQuickLaunch
ReadIniStr $_DESC_SecQuickLaunch $1 SetDefault DESC_SecQuickLaunch
ReadIniStr $_SET_SecQuickLaunch $1 SetDefault SET_SecQuickLaunch
; Loader Section
ReadIniStr $_SecLoader $1 SetDefault SecLoader
ReadIniStr $_DESC_SecLoader $1 SetDefault DESC_SecLoader
ReadIniStr $_SET_SecLoader $1 SetDefault SET_SecLoader
; Warning messages
ReadIniStr $_NotDetected $1 SetDefault NotDetected
# ReadIniStr $_MUI_ABORTWARNING_TEXT $1 SetDefault MUI_ABORTWARNING_TEXT
ReadIniStr $_MUI_ABORTWARNING_TEXT_1 $1 SetDefault MUI_ABORTWARNING_TEXT_1
ReadIniStr $_MUI_ABORTWARNING_TEXT_2 $1 SetDefault MUI_ABORTWARNING_TEXT_2
strcpy $_MUI_ABORTWARNING_TEXT "$_MUI_ABORTWARNING_TEXT_1${PRODUCT_VERSION}$_MUI_ABORTWARNING_TEXT_2"

FunctionEnd

# ----------------------------------------------------------------------

Function Messages_En

; Caption
strcpy $_SetupCaption "${PRODUCT_NAME} ${PRODUCT_VERSION} Setup Assistant"
; Welcome
strcpy $_MUI_WELCOMEPAGE_TITLE "Welcome to the ${PRODUCT_NAME} ${PRODUCT_VERSION} Setup Assistant !"
strcpy $_MUI_WELCOMEPAGE_TEXT "This assistant will help you to integrate ${PRODUCT_NAME} into your Windows operating system:\n\n- Register ${PRODUCT_NAME} as a Mozilla product\n- Register ${PRODUCT_NAME} as a Windows Browser\n- Set ${PRODUCT_NAME} as default browser for various protocols\n- Set ${PRODUCT_NAME} as default browser for various file types\n- Create shortcuts for ${PRODUCT_NAME}\n- Enable/disable the ${PRODUCT_NAME} Loader\n\n\n\n\n\n\n\t\t\t\tSetDefault v."
; Directory
strcpy $_MUI_DIRECTORYPAGE_HEADER_TEXT "${PRODUCT_NAME} Install Location"
strcpy $_MUI_DIRECTORYPAGE_HEADER_SUBTEXT "Specify the location of the ${PRODUCT_NAME} installation which you want to set up now."
strcpy $_MUI_DIRECTORYPAGE_TEXT_TOP "By default, this is the directory where the ${PRODUCT_NAME} installation is located with which you are currently working.$\n$\nIf you have more than one installation of ${PRODUCT_NAME}, you might want to specify the location of a different installation. (This version of ${PRODUCT_NAME} Setup Assistant is compatible with versions 0.9 through ${PRODUCT_VERSION} of ${PRODUCT_NAME}.)"
strcpy $_DirSubText "Install Location"
strcpy $_BrowseBtn "Browse..."
strcpy $_DirBrowseText "Choose the location of a ${PRODUCT_NAME} installation."
; Components
strcpy $_MUI_COMPONENTSPAGE_HEADER_TEXT "${PRODUCT_NAME} Setup Options"
strcpy $_MUI_COMPONENTSPAGE_HEADER_SUBTEXT "Configure the setup options to be performed."
strcpy $_MUI_COMPONENTSPAGE_TEXT_TOP "Check an option to add the related registry entries or file system shortcuts to your system. Uncheck an option to remove them. Click Install to apply your changes."
strcpy $_MUI_COMPONENTSPAGE_TEXT_COMPLIST "Available Options:"
strcpy $_MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "Check an option to add the related entries/files to your system. Uncheck an option to remove them."
strcpy $_MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
; Installing
strcpy $_MUI_TEXT_INSTALLING_TITLE "Setting up ${PRODUCT_NAME}"
strcpy $_MUI_TEXT_INSTALLING_SUBTITLE "Please wait while setting up ${PRODUCT_NAME}."
; Trick to translate the last strings (see english messages at the top of this file)
strcpy $_MUI_TEXT_FINISH_TITLE $(MUI_TEXT_FINISH_TITLE)
strcpy $_MUI_TEXT_FINISH_SUBTITLE $(MUI_TEXT_FINISH_SUBTITLE)
; Installing
strcpy $_MUI_INSTFILESPAGE_HEADER_TEXT "Setting ${PRODUCT_NAME} parameters"
strcpy $_MUI_INSTFILESPAGE_HEADER_SUBTEXT "Setup is in progress..."
strcpy $_MUI_INSTFILESPAGE_FINISHHEADER_TEXT "${PRODUCT_NAME} Setup Completed"
strcpy $_MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT "${PRODUCT_NAME} setup has completed successfully."
strcpy $_InstallBtn "Install"
strcpy $_Completed "Completed"
; General Buttons
strcpy $_BackBtn "< Back"
strcpy $_NextBtn "Next >"
strcpy $_CancelBtn "Cancel"
strcpy $_CloseBtn "Close"
; Main Section
strcpy $_SecMain "Register ${PRODUCT_NAME} as a Mozilla product"
strcpy $_DESC_SecMain "These registry entries are needed for Netscape/Mozilla plugins to work correctly."
strcpy $_SET_SecMain "${PRODUCT_NAME} registered as a Mozilla product"
; Windows Default Browser
strcpy $_SecDefWindowsBrowser "Register ${PRODUCT_NAME} as a Windows Browser"
strcpy $_DESC_SecDefWindowsBrowser "Add ${PRODUCT_NAME} to the Windows 2000/XP browser list. You need administrative privileges."
strcpy $_SET_SecDefWindowsBrowser "${PRODUCT_NAME} registered as a Windows Browser"
; Assoc Section
strcpy $_SecAssoc "Set ${PRODUCT_NAME} as your default browser"
strcpy $_DESC_SecAssoc "Set ${PRODUCT_NAME} as your default browser. You need administrative privileges."
; Assoc Protocols Section
strcpy $_SecAssocProto "Protocols"
strcpy $_DESC_SecAssocProto "Choose the protocols to be opened with ${PRODUCT_NAME} by default."
; Http Section
strcpy $_SecHttp "HTTP Protocol"
strcpy $_DESC_SecHttp "Open HTTP addresses with ${PRODUCT_NAME} by default."
strcpy $_SET_SecHttp "${PRODUCT_NAME} set as your default application for the HTTP protocol"
; Https Section
strcpy $_SecHttps "HTTPS Protocol"
strcpy $_DESC_SecHttps "Open HTTPS addresses with ${PRODUCT_NAME} by default."
strcpy $_SET_SecHttps "${PRODUCT_NAME} set as your default application for the HTTPS protocol"
; Assoc Ext Section
strcpy $_SD_DocumentName "Hypertext Markup Language Document"
strcpy $_SecAssocExt "File Types"
strcpy $_DESC_SecAssocExt "Choose the file types to be opened with ${PRODUCT_NAME} by default."
; Htm Section
strcpy $_SecHtm "HTM Files"
strcpy $_DESC_SecHtm "Open HTM files with ${PRODUCT_NAME} by default."
strcpy $_SET_SecHtm "${PRODUCT_NAME} set as your default application for HTM files"
; Html Section
strcpy $_SecHtml "HTML Files"
strcpy $_DESC_SecHtml "Open HTML files with ${PRODUCT_NAME} by default."
strcpy $_SET_SecHtml "${PRODUCT_NAME} set as your default application for HTML files"
; sHtml Section
strcpy $_SecShtml "SHTML Files"
strcpy $_DESC_SecShtml "Open SHTML files with ${PRODUCT_NAME} by default."
strcpy $_SET_SecShtml "${PRODUCT_NAME} set as your default application for SHTML files"
; Xht Section
strcpy $_SecXht "XHT Files"
strcpy $_DESC_SecXht "Open XHT files with ${PRODUCT_NAME} by default."
strcpy $_SET_SecXht "${PRODUCT_NAME} set as your default application for XHT files"
; Xhtml Section
strcpy $_SecXhtml "XHTML Files"
strcpy $_DESC_SecXhtml "Open XHTML files with ${PRODUCT_NAME} by default."
strcpy $_SET_SecXhtml "${PRODUCT_NAME} set as your default application for XHTML files"
; Shortcuts Section
strcpy $_SecShortcuts "Create ${PRODUCT_NAME} Shortcuts"
strcpy $_DESC_SecShortcuts "Choose the shortcuts to be created."
; Desktop Section
strcpy $_SecDesktop "Desktop"
strcpy $_DESC_SecDesktop "Create a shortcut on the Desktop."
strcpy $_SET_SecDesktop "Shortcut created on the Desktop"
; StartMenu Section
strcpy $_SecStartMenu "Start Menu"
strcpy $_DESC_SecStartMenu "Create a folder with shortcuts in the Start Menu."
strcpy $_SET_SecStartMenu "Shortcuts created in the Start Menu"
; QuickLaunch Section
strcpy $_SecQuickLaunch "Quick Launch Toolbar"
strcpy $_DESC_SecQuickLaunch "Create a shortcut in the Quick Launch Toolbar."
strcpy $_SET_SecQuickLaunch "Shortcut created in the Quick Launch Toolbar"
; Loader Section
strcpy $_SecLoader "Autostart ${PRODUCT_NAME} Loader"
strcpy $_DESC_SecLoader "Create a shortcut to ${PRODUCT_NAME} Loader in the Autostart Menu. Uncheck to remove the shortcut."
strcpy $_SET_SecLoader "${PRODUCT_NAME} Loader added to the Autostart Menu"
; Warning boxes
strcpy $_NotDetected "No ${PRODUCT_NAME} installation detected in"
strcpy $_MUI_ABORTWARNING_TEXT "Are you sure you want to quit the ${PRODUCT_NAME} ${PRODUCT_VERSION} Setup Assistant?"

FunctionEnd

; ----------------------------------------------------------------------
; Section descriptions

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN

!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} $_DESC_SecMain
!insertmacro MUI_DESCRIPTION_TEXT ${SecDefWindowsBrowser} $_DESC_SecDefWindowsBrowser
!insertmacro MUI_DESCRIPTION_TEXT ${SecAssoc} $_DESC_SecAssoc
!insertmacro MUI_DESCRIPTION_TEXT ${SecAssocProto} $_DESC_SecAssocProto
!insertmacro MUI_DESCRIPTION_TEXT ${SecHttp} $_DESC_SecHttp
!insertmacro MUI_DESCRIPTION_TEXT ${SecHttps} $_DESC_SecHttps
!insertmacro MUI_DESCRIPTION_TEXT ${SecAssocExt} $_DESC_SecAssocExt
!insertmacro MUI_DESCRIPTION_TEXT ${SecHtm} $_DESC_SecHtm
!insertmacro MUI_DESCRIPTION_TEXT ${SecHtml} $_DESC_SecHtml
!insertmacro MUI_DESCRIPTION_TEXT ${SecShtml} $_DESC_SecShtml
!insertmacro MUI_DESCRIPTION_TEXT ${SecXht} $_DESC_SecXht
!insertmacro MUI_DESCRIPTION_TEXT ${SecXhtml} $_DESC_SecXhtml
!insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} $_DESC_SecShortcuts
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} $_DESC_SecDesktop
!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $_DESC_SecStartMenu
!insertmacro MUI_DESCRIPTION_TEXT ${SecQuickLaunch} $_DESC_SecQuickLaunch
!insertmacro MUI_DESCRIPTION_TEXT ${SecLoader} $_DESC_SecLoader

!insertmacro MUI_FUNCTION_DESCRIPTION_END




Edited 3 time(s). Last edit at 03/03/2014 11:17PM by guenter.

Attachments: SetDefault_source .rar (29.9 KB)  
K-Meleon forum is powered by Phorum.