Development :  K-Meleon Web Browser Forum
K-Meleon development related discussions. 
SetDefault.exe Source Code
Posted by: George Hall
Date: February 17, 2014 02:29AM

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



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

Options: ReplyQuote
Re: SetDefault.ese Source Code
Posted by: guenter
Date: February 18, 2014 05:36AM

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:confused smileyHChangeNotify(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:confused smileyHChangeNotify(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 04:17PM by guenter.

Attachments: SetDefault_source .rar (29.9 KB)  
Options: ReplyQuote


K-Meleon forum is powered by Phorum.