mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-06 08:40:56 +00:00
Bug 340173 - Rework l10n part of NSIS installer. r=l10n, sr=bsmedberg
This commit is contained in:
parent
9c1bc7d3ad
commit
2641b37500
@ -55,8 +55,7 @@ PP_LOCALIZED_FILES = \
|
||||
|
||||
INSTALLER_FILES = \
|
||||
app.tag \
|
||||
nsis/instfiles-extra.nsi \
|
||||
nsis/uninstfiles-extra.nsi \
|
||||
nsis/installer.nsi \
|
||||
nsis/SetProgramAccess.nsi \
|
||||
$(NULL)
|
||||
|
||||
@ -74,12 +73,12 @@ DEFINES += \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
include $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/charset.mk
|
||||
|
||||
installer::
|
||||
$(MAKE) -C .. installer-stage
|
||||
$(RM) -rf instgen && mkdir instgen
|
||||
$(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) instgen
|
||||
$(INSTALL) $(call EXPAND_LOCALE_SRCDIR,browser/locales)/installer/appLocale.nsi instgen
|
||||
$(INSTALL) $(addprefix $(DIST)/branding/,$(BRANDING_FILES)) instgen
|
||||
cp $(topsrcdir)/browser/EULA instgen/license.txt
|
||||
$(EXIT_ON_ERROR) \
|
||||
@ -90,6 +89,9 @@ installer::
|
||||
../removed-files > instgen/removed-files.log
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl -Fsubstitution $(DEFINES) $(ACDEFINES) \
|
||||
$(srcdir)/nsis/defines.nsi.in > instgen/defines.nsi
|
||||
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.pl \
|
||||
$(topsrcdir) $(call EXPAND_LOCALE_SRCDIR,browser/locales)/installer $(AB_CD) \
|
||||
$(WIN_INSTALLER_CHARSET)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/makensis.mk
|
||||
|
@ -55,6 +55,15 @@
|
||||
; When installing with defaults we should always install into the previous location
|
||||
; ReadRegStr $0 HKCR "http\shell\open\command" ""
|
||||
|
||||
; Sets program access and defaults - hide / show shortcuts on the Desktop and in
|
||||
; QuickLaunch. This is a royal PITA since the application version can change out
|
||||
; from under us and there may also be more than one version of the application
|
||||
; installed. This also needs to respect whether the shortcuts have been modified
|
||||
; since their initial creation and take into account whether the shortcut is
|
||||
; located in all users or the current user desktop.
|
||||
; To remove a shortcut it must point to this installation main executable and it
|
||||
; must not have additional arguments.
|
||||
; To create a shortcut a shortcut must not already exist with the same name.
|
||||
Function un.SetAccess
|
||||
Call un.GetParameters
|
||||
Pop $R0
|
||||
@ -64,25 +73,32 @@ Function un.SetAccess
|
||||
|
||||
; Hide icons - initiated from Set Program Access and Defaults
|
||||
${If} $R0 == '/ua "${AppVersion} (${AB_CD})" /hs browser'
|
||||
${If} ${FileExists} "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
ShellLink::GetShortCutTarget "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
Pop $0
|
||||
${If} $0 == "$INSTDIR\${FileMainEXE}"
|
||||
Delete "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
WriteRegDWORD HKLM $R1 "IconsVisible" 0
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
WriteRegDWORD HKLM $R1 "IconsVisible" 0
|
||||
${Unless} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
|
||||
SetShellVarContext current ; Set $DESKTOP to the current user's desktop
|
||||
${EndUnless}
|
||||
|
||||
${If} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
|
||||
ShellLink::GetShortCutTarget "$DESKTOP\${BrandFullName}.lnk"
|
||||
ShellLink::GetShortCutArgs "$DESKTOP\${BrandFullName}.lnk"
|
||||
Pop $0
|
||||
${If} $0 == "$INSTDIR\${FileMainEXE}"
|
||||
Delete "$DESKTOP\${BrandFullName}.lnk"
|
||||
WriteRegDWORD HKLM $R1 "IconsVisible" 0
|
||||
${If} $0 == ""
|
||||
ShellLink::GetShortCutTarget "$DESKTOP\${BrandFullName}.lnk"
|
||||
Pop $0
|
||||
${If} $0 == "$INSTDIR\${FileMainEXE}"
|
||||
Delete "$DESKTOP\${BrandFullName}.lnk"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
${If} ${FileExists} "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
ShellLink::GetShortCutArgs "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
Pop $0
|
||||
${If} $0 == ""
|
||||
ShellLink::GetShortCutTarget "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
Pop $0
|
||||
${If} $0 == "$INSTDIR\${FileMainEXE}"
|
||||
Delete "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
Abort
|
||||
@ -91,18 +107,21 @@ Function un.SetAccess
|
||||
; Show icons - initiated from Set Program Access and Defaults
|
||||
${If} $R0 == '/ua "${AppVersion} (${AB_CD})" /ss browser'
|
||||
WriteRegDWORD HKLM $R1 "IconsVisible" 1
|
||||
${Unless} ${FileExists} "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
CreateShortCut "$QUICKLAUNCH\${BrandFullName}.lnk" "$INSTDIR\${FileMainEXE}" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
${EndUnless}
|
||||
${Unless} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
|
||||
CreateShortCut "$DESKTOP\${BrandFullName}.lnk" "$INSTDIR\${FileMainEXE}" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
ShellLink::SetShortCutWorkingDirectory "$DESKTOP\${BrandFullName}.lnk" "$INSTDIR"
|
||||
${Unless} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
|
||||
SetShellVarContext current ; Set $DESKTOP to the current user's desktop
|
||||
${Unless} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
|
||||
CreateShortCut "$DESKTOP\${BrandFullName}.lnk" "$INSTDIR\${FileMainEXE}" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
ShellLink::SetShortCutWorkingDirectory "$DESKTOP\${BrandFullName}.lnk" "$INSTDIR"
|
||||
${EndUnless}
|
||||
${EndUnless}
|
||||
${EndUnless}
|
||||
${Unless} ${FileExists} "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
CreateShortCut "$QUICKLAUNCH\${BrandFullName}.lnk" "$INSTDIR\${FileMainEXE}" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
ShellLink::SetShortCutWorkingDirectory "$QUICKLAUNCH\${BrandFullName}.lnk" "$INSTDIR"
|
||||
${EndUnless}
|
||||
Abort
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
@ -49,6 +49,10 @@ SetDatablockOptimize on
|
||||
SetCompress off
|
||||
CRCCheck on
|
||||
|
||||
; empty files - except for the comment line - for generating custom pages.
|
||||
!system 'echo ; > options.ini'
|
||||
!system 'echo ; > shortcuts.ini'
|
||||
|
||||
!addplugindir ./
|
||||
|
||||
; Other files may depend upon these includes!
|
||||
@ -69,7 +73,6 @@ CRCCheck on
|
||||
!insertmacro TrimNewLines
|
||||
!insertmacro un.TrimNewLines
|
||||
!insertmacro WordFind
|
||||
!insertmacro un.WordFind
|
||||
!insertmacro WordReplace
|
||||
|
||||
; Use the pre-processor where ever possible
|
||||
@ -84,12 +87,9 @@ Var fhInstallLog
|
||||
Var fhUninstallLog
|
||||
|
||||
!include defines.nsi
|
||||
!include commonLocale.nsh
|
||||
!include SetProgramAccess.nsi
|
||||
!include common.nsh
|
||||
!include version.nsh
|
||||
; If/when appLocale.nsi contains required locale strings remove /NONFATAL
|
||||
!include /NONFATAL appLocale.nsi
|
||||
|
||||
!insertmacro RegCleanMain
|
||||
!insertmacro un.RegCleanMain
|
||||
@ -108,35 +108,28 @@ OutFile "setup.exe"
|
||||
InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${BrandFullName} (${AppVersion})" "InstallLocation"
|
||||
InstallDir "$PROGRAMFILES\${BrandFullName}"
|
||||
|
||||
; using " " for BrandingText will hide the "Nullsoft Install System..." branding
|
||||
BrandingText " "
|
||||
|
||||
ShowInstDetails nevershow
|
||||
ShowUnInstDetails nevershow
|
||||
|
||||
################################################################################
|
||||
# Modern User Interface - MUI
|
||||
|
||||
;!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||
ReserveFile options.ini
|
||||
ReserveFile shortcuts.ini
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_COMPONENTSPAGE_SMALLDESC
|
||||
|
||||
!define MUI_ICON setup.ico
|
||||
!define MUI_UNICON setup.ico
|
||||
|
||||
!define MUI_WELCOMEPAGE_TITLE_3LINES
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP wizWatermark.bmp
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP wizWatermark.bmp
|
||||
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_RIGHT
|
||||
!define MUI_HEADERIMAGE_BITMAP wizHeader.bmp
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
!define MUI_CUSTOMFUNCTION_GUIINIT myGUIINIT
|
||||
!define MUI_CUSTOMFUNCTION_UNGUIINIT un.myGUIINIT
|
||||
|
||||
/**
|
||||
* Installation Pages
|
||||
*/
|
||||
@ -144,20 +137,20 @@ ReserveFile shortcuts.ini
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
|
||||
; License Page
|
||||
LicenseForceSelection radiobuttons
|
||||
!define MUI_LICENSEPAGE_RADIOBUTTONS
|
||||
!insertmacro MUI_PAGE_LICENSE license.txt
|
||||
|
||||
; Custom Options Page
|
||||
Page custom Options ChangeOptions
|
||||
Page custom preOptions ChangeOptions
|
||||
|
||||
; Select Install Components Page
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE preComponents
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
|
||||
; Select Install Directory Page
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE CheckCustom
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
|
||||
; Select Install Components Page
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE CheckCustom
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
|
||||
; Custom Shortcuts Page - CheckCustom is Called in Shortcuts
|
||||
Page custom preShortcuts ChangeShortcuts
|
||||
|
||||
@ -199,23 +192,14 @@ Page custom preShortcuts ChangeShortcuts
|
||||
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||
!define MUI_FINISHPAGE_SHOWREADME ""
|
||||
|
||||
; Only setup the survey controls, functions, etc. when the appLocale.nsi
|
||||
; has DO_UNINSTALL_SURVEY defined to indicate the survey has been localized.
|
||||
!ifdef DO_UNINSTALL_SURVEY
|
||||
; Setup the survey controls, functions, etc. except when the application has
|
||||
; defined NO_UNINSTALL_SURVEY
|
||||
!ifndef NO_UNINSTALL_SURVEY
|
||||
!define MUI_FINISHPAGE_SHOWREADME_TEXT $(SURVEY_TEXT)
|
||||
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION un.survey
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
; Languages
|
||||
; DEF_MUI_LANGUAGE is defined in commonLocale.nsh so MUI_LANGUAGE can be
|
||||
; easily defined along with the other locale specific settings
|
||||
!insertmacro DEF_MUI_LANGUAGE
|
||||
|
||||
|
||||
################################################################################
|
||||
# Modern User Interface - MUI
|
||||
!insertmacro MUI_UNPAGE_FINISH\
|
||||
|
||||
/**
|
||||
* Adds a section divider to the human readable log.
|
||||
@ -224,19 +208,6 @@ Function WriteLogSeparator
|
||||
FileWrite $fhInstallLog "$\r$\n-------------------------------------------------------------------------------$\r$\n"
|
||||
FunctionEnd
|
||||
|
||||
; Runs before the UI has been initialized for install
|
||||
Function myGUIINIT
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "options.ini"
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "shortcuts.ini"
|
||||
FunctionEnd
|
||||
|
||||
; Runs before the UI has been initialized for uninstall
|
||||
Function un.myGUIINIT
|
||||
GetFullPathName $INSTDIR "$INSTDIR\.."
|
||||
; XXXrstrong - should we quit when the app exe is not present?
|
||||
Call un.SetAccess
|
||||
FunctionEnd
|
||||
|
||||
; Callback used to check if the app being uninstalled is running.
|
||||
Function un.checkIfAppIsLoaded
|
||||
; Try to delete the app executable and if we can't delete it try to close the
|
||||
@ -290,9 +261,9 @@ Function un.GetParameters
|
||||
Exch $R0
|
||||
FunctionEnd
|
||||
|
||||
; Only setup the survey controls, functions, etc. when the appLocale.nsi
|
||||
; has DO_UNINSTALL_SURVEY defined to indicate the survey has been localized.
|
||||
!ifdef DO_UNINSTALL_SURVEY
|
||||
; Setup the survey controls, functions, etc. except when the application has
|
||||
; defined NO_UNINSTALL_SURVEY
|
||||
!ifndef NO_UNINSTALL_SURVEY
|
||||
Function un.survey
|
||||
Exec "$\"$TmpVal$\" $\"${SurveyURL}$\""
|
||||
FunctionEnd
|
||||
@ -381,7 +352,7 @@ Function FinishInstall
|
||||
FileClose $fhInstallLog
|
||||
FunctionEnd
|
||||
|
||||
Section "Application" Section1
|
||||
Section "-Application" Section1
|
||||
SectionIn 1 RO
|
||||
SetOutPath $INSTDIR
|
||||
; For a "Standard" upgrade without talkback installed add the InstallDisabled
|
||||
@ -455,10 +426,10 @@ Section "Application" Section1
|
||||
${LogMsg} "App Version: ${AppVersion}"
|
||||
${LogMsg} "GRE Version: ${GREVersion}"
|
||||
|
||||
${If} ${FileExists} "$EXEDIR\config\removed-files.log"
|
||||
${If} ${FileExists} "$EXEDIR\removed-files.log"
|
||||
${LogHeader} "Removing Obsolete Files and Directories"
|
||||
${LineFind} "$EXEDIR\config\removed-files.log" "/NUL" "1:-1" "onInstallDeleteFile"
|
||||
${LineFind} "$EXEDIR\config\removed-files.log" "/NUL" "1:-1" "onInstallRemoveDir"
|
||||
${LineFind} "$EXEDIR\removed-files.log" "/NUL" "1:-1" "onInstallDeleteFile"
|
||||
${LineFind} "$EXEDIR\removed-files.log" "/NUL" "1:-1" "onInstallRemoveDir"
|
||||
${EndIf}
|
||||
|
||||
${DeleteFile} "$INSTDIR\install_wizard.log"
|
||||
@ -509,7 +480,160 @@ Section "Application" Section1
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
!include /NONFATAL instfiles-extra.nsi
|
||||
${LogHeader} "Adding Additional Files"
|
||||
; Only for Firefox and only if they don't already exist
|
||||
; Check if QuickTime is installed and copy the contents of its plugins
|
||||
; directory into the app's plugins directory. Previously only the
|
||||
; nsIQTScriptablePlugin.xpt files was copied which is not enough to enable
|
||||
; QuickTime as a plugin.
|
||||
ClearErrors
|
||||
ReadRegStr $R0 HKLM "Software\Apple Computer, Inc.\QuickTime" "InstallDir"
|
||||
${Unless} ${Errors}
|
||||
Push $R0
|
||||
${GetPathFromRegStr}
|
||||
Pop $R0
|
||||
${Unless} ${Errors}
|
||||
GetFullPathName $R0 "$R0\Plugins"
|
||||
${Unless} ${Errors}
|
||||
${LogHeader} "Copying QuickTime Plugin Files"
|
||||
${LogMsg} "Source Directory: $R0\Plugins"
|
||||
StrCpy $R1 "$INSTDIR\plugins"
|
||||
Call DoCopyFiles
|
||||
${EndUnless}
|
||||
${EndUnless}
|
||||
${EndUnless}
|
||||
ClearErrors
|
||||
|
||||
; Default for creating Start Menu folder and shortcuts
|
||||
; (1 = create, 0 = don't create)
|
||||
${If} $AddStartMenuSC == ""
|
||||
StrCpy $AddStartMenuSC "1"
|
||||
${EndIf}
|
||||
|
||||
; Default for creating Quick Launch shortcut (1 = create, 0 = don't create)
|
||||
${If} $AddQuickLaunchSC == ""
|
||||
StrCpy $AddQuickLaunchSC "1"
|
||||
${EndIf}
|
||||
|
||||
; Default for creating Desktop shortcut (1 = create, 0 = don't create)
|
||||
${If} $AddDesktopSC == ""
|
||||
StrCpy $AddDesktopSC "1"
|
||||
${EndIf}
|
||||
|
||||
; Remove registry entries for non-existent apps and for apps that point to our
|
||||
; install location in the Software\Mozilla key.
|
||||
SetShellVarContext current ; Set SHCTX to HKCU
|
||||
${RegCleanMain} "Software\Mozilla"
|
||||
SetShellVarContext all ; Set SHCTX to HKLM
|
||||
${RegCleanMain} "Software\Mozilla"
|
||||
|
||||
; Remove uninstall entries that point to our install location
|
||||
${RegCleanUninstall}
|
||||
|
||||
${LogHeader} "Adding Registry Entries"
|
||||
ClearErrors
|
||||
WriteRegStr HKLM "Software\Mozilla\InstallerTest" "InstallerTest" "Test"
|
||||
${If} ${Errors}
|
||||
SetShellVarContext current ; Set SHCTX to HKCU
|
||||
StrCpy $TmpVal "HKCU" ; used primarily for logging
|
||||
${Else}
|
||||
SetShellVarContext all ; Set SHCTX to HKLM
|
||||
DeleteRegKey HKLM "Software\Mozilla\InstallerTest"
|
||||
StrCpy $TmpVal "HKLM" ; used primarily for logging
|
||||
${EndIf}
|
||||
|
||||
; The previous installer adds several regsitry values to both HKLM and HKCU.
|
||||
; We now try to add to HKLM and if that fails to HKCU
|
||||
|
||||
; The order that reg keys and values are added is important if you use the
|
||||
; uninstall log to remove them on uninstall. When using the uninstall log you
|
||||
; MUST add children first so they will be removed first on uninstall so they
|
||||
; will be empty when the key is deleted. This allows the uninstaller to
|
||||
; specify that only empty keys will be deleted.
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}\${AppVersion} (${AB_CD})\Main"
|
||||
${WriteRegStr2} $TmpVal "$0" "Install Directory" "$INSTDIR" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "PathToExe" "$INSTDIR\${FileMainEXE}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Program Folder Path" "$SMPROGRAMS\$StartMenuDir" 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "Create Quick Launch Shortcut" $AddQuickLaunchSC 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "Create Desktop Shortcut" $AddDesktopSC 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "Create Start Menu Shortcut" $AddStartMenuSC 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}\${AppVersion} (${AB_CD})\Uninstall"
|
||||
${WriteRegStr2} $TmpVal "$0" "Uninstall Log Folder" "$INSTDIR\uninstall" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Description" "${BrandFullName} (${AppVersion})" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}\${AppVersion} (${AB_CD})"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "${AppVersion} (${AB_CD})" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName} ${AppVersion}\bin"
|
||||
${WriteRegStr2} $TmpVal "$0" "PathToExe" "$INSTDIR\${FileMainEXE}" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName} ${AppVersion}\extensions"
|
||||
${WriteRegStr2} $TmpVal "$0" "Components" "$INSTDIR\components" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Plugins" "$INSTDIR\plugins" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName} ${AppVersion}"
|
||||
${WriteRegStr2} $TmpVal "$0" "GeckoVer" "${GREVersion}" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "${GREVersion}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "CurrentVersion" "${AppVersion} (${AB_CD})" 0
|
||||
|
||||
; XXXrstrong - there are several values that will be overwritten by and
|
||||
; overwrite other installs of the same application.
|
||||
${StrFilter} "${FileMainEXE}" "+" "" "" $R9
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "${BrandFullName}" 0
|
||||
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\DefaultIcon"
|
||||
StrCpy $1 "$\"$INSTDIR\${FileMainEXE}$\",0"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "$1" 0
|
||||
|
||||
; The Reinstall Command is defined at
|
||||
; http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/registeringapps.asp
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\InstallInfo"
|
||||
StrCpy $1 "$\"$INSTDIR\uninstall\uninstaller.exe$\" /ua $\"${AppVersion} (${AB_CD})$\" /hs browser"
|
||||
${WriteRegStr2} $TmpVal "$0" "HideIconsCommand" "$1" 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "IconsVisible" 1 0
|
||||
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\InstallInfo"
|
||||
StrCpy $1 "$\"$INSTDIR\${FileMainEXE}$\" -silent -setDefaultBrowser"
|
||||
${WriteRegStr2} $TmpVal "$0" "ReinstallCommand" "$1" 0
|
||||
StrCpy $1 "$\"$INSTDIR\uninstall\uninstaller.exe$\" /ua $\"${AppVersion} (${AB_CD})$\" /ss browser"
|
||||
${WriteRegStr2} $TmpVal "$0" "ShowIconsCommand" "$1" 0
|
||||
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\shell\open\command"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
|
||||
; These need special handling on uninstall since they may be overwritten by
|
||||
; an install into a different location.
|
||||
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\App Paths\${FileMainEXE}"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Path" "$INSTDIR" 0
|
||||
|
||||
StrCpy $0 "MIME\Database\Content Type\application/x-xpinstall;app=firefox"
|
||||
${WriteRegStrHKCR} "HKCR" "$0" "Extension" ".xpi" 0
|
||||
|
||||
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\$R9"
|
||||
${CreateRegKey} "$TmpVal" "$0" 0
|
||||
|
||||
; Write the uninstall registry keys
|
||||
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${BrandFullName} (${AppVersion})"
|
||||
StrCpy $1 "$\"$INSTDIR\uninstall\uninstaller.exe$\" $\"/ua ${AppVersion} (${AB_CD})$\""
|
||||
|
||||
${WriteRegStr2} $TmpVal "$0" "Comments" "${BrandFullName}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "DisplayIcon" "$INSTDIR\${FileMainEXE},0" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "DisplayName" "${BrandFullName} (${AppVersion})" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "DisplayVersion" "${AppVersion} (${AB_CD})" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "InstallLocation" "$INSTDIR" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Publisher" "Mozilla" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "UninstallString" "$1" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "URLInfoAbout" "${URLInfoAbout}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "URLUpdateInfo" "${URLUpdateInfo}" 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "NoModify" 1 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "NoRepair" 1 0
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
||||
; Create Start Menu shortcuts
|
||||
${LogHeader} "Adding Shortcuts"
|
||||
@ -519,50 +643,18 @@ Section "Application" Section1
|
||||
${LogUninstall} "File: $SMPROGRAMS\$StartMenuDir\${BrandFullName}.lnk"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuDir\${BrandFullName} ($(SAFE_MODE)).lnk" "$INSTDIR\${FileMainEXE}" "-safe-mode" "$INSTDIR\${FileMainEXE}" 0
|
||||
${LogUninstall} "File: $SMPROGRAMS\$StartMenuDir\${BrandFullName} ($(SAFE_MODE)).lnk"
|
||||
${Else}
|
||||
${If} ${FileExists} "$SMPROGRAMS\$StartMenuDir"
|
||||
${If} ${FileExists} "$SMPROGRAMS\$StartMenuDir\${BrandFullName}.lnk"
|
||||
Delete "$SMPROGRAMS\$StartMenuDir\${BrandFullName}.lnk"
|
||||
${If} ${Errors}
|
||||
ClearErrors
|
||||
${LogMsg} "** ERROR Deleting Start Menu Shortcut: $SMPROGRAMS\$StartMenuDir\${BrandFullName}.lnk **"
|
||||
${Else}
|
||||
${LogMsg} "Removed Start Menu Shortcut: $SMPROGRAMS\$StartMenuDir\${BrandFullName}.lnk"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${If} ${FileExists} "$SMPROGRAMS\$StartMenuDir\${BrandFullName} ($(SAFE_MODE)).lnk"
|
||||
Delete "$SMPROGRAMS\$StartMenuDir\${BrandFullName} ($(SAFE_MODE)).lnk"
|
||||
${If} ${Errors}
|
||||
ClearErrors
|
||||
${LogMsg} "** ERROR Deleting Start Menu Shortcut: $SMPROGRAMS\$StartMenuDir\${BrandFullName} ($(SAFE_MODE)).lnk **"
|
||||
${Else}
|
||||
${LogMsg} "Removed Start Menu Shortcut: $SMPROGRAMS\$StartMenuDir\${BrandFullName} ($(SAFE_MODE)).lnk"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
RmDir "$SMPROGRAMS\$StartMenuDir"
|
||||
${If} ${Errors}
|
||||
ClearErrors
|
||||
${LogMsg} "** ERROR Removing Start Menu Directory: $SMPROGRAMS\$StartMenuDir **"
|
||||
${Else}
|
||||
${LogMsg} "Removed Start Menu Shortcut: $SMPROGRAMS\$StartMenuDir"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
; perhaps use the uninstall keys
|
||||
${If} $AddQuickLaunchSC == 1
|
||||
CreateShortCut "$QUICKLAUNCH\${BrandFullName}.lnk" "$INSTDIR\${FileMainEXE}" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
${LogUninstall} "File: $QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
${Else}
|
||||
${DeleteFile} "$QUICKLAUNCH\${BrandFullName}.lnk"
|
||||
${EndIf}
|
||||
|
||||
${LogHeader} "Updating Quick Launch Shortcuts"
|
||||
${If} $AddDesktopSC == 1
|
||||
CreateShortCut "$DESKTOP\${BrandFullName}.lnk" "$INSTDIR\${FileMainEXE}" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
${LogUninstall} "File: $DESKTOP\${BrandFullName}.lnk"
|
||||
${Else}
|
||||
${DeleteFile} "$DESKTOP\${BrandFullName}.lnk"
|
||||
${EndIf}
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
@ -578,7 +670,6 @@ Section /o "Developer Tools" Section2
|
||||
Call install_inspector
|
||||
SectionEnd
|
||||
|
||||
|
||||
Section /o "Quality Feedback Agent" Section3
|
||||
Call install_talkback
|
||||
SectionEnd
|
||||
@ -629,7 +720,71 @@ Function install_talkback
|
||||
FunctionEnd
|
||||
|
||||
Section "Uninstall"
|
||||
!include /NONFATAL uninstfiles-extra.nsi
|
||||
; Remove registry entries for non-existent apps and for apps that point to our
|
||||
; install location in the Software\Mozilla key.
|
||||
SetShellVarContext current ; Sets SHCTX to HKCU
|
||||
${un.RegCleanMain} "Software\Mozilla"
|
||||
SetShellVarContext all ; Sets SHCTX to HKLM
|
||||
${un.RegCleanMain} "Software\Mozilla"
|
||||
|
||||
; Remove uninstall entries that point to our install location
|
||||
${un.RegCleanUninstall}
|
||||
|
||||
SetShellVarContext all ; Set SHCTX to HKLM
|
||||
${un.GetSecondInstallPath} "Software\Mozilla" $R9
|
||||
${If} $R9 == "false"
|
||||
SetShellVarContext current ; Set SHCTX to HKCU
|
||||
${un.GetSecondInstallPath} "Software\Mozilla" $R9
|
||||
${EndIf}
|
||||
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\${FileMainEXE}\shell\open\command"
|
||||
ReadRegStr $1 HKLM "$0" ""
|
||||
Push $1
|
||||
${GetPathFromRegStr}
|
||||
Pop $R0
|
||||
Push $R0
|
||||
${GetParentDir}
|
||||
Pop $R1
|
||||
|
||||
; Only remove the StartMenuInternet key if it refers to this install location.
|
||||
; The StartMenuInternet registry key is independent of the default browser
|
||||
; settings. The XPInstall base un-installer always removes this key if it is
|
||||
; uninstalling the default browser and it will always replace the keys when
|
||||
; installing even if there is another install of Firefox that is set as the
|
||||
; default browser. Now the key is always updated on install but it is only
|
||||
; removed if it refers to this install location.
|
||||
${If} $INSTDIR == $R1
|
||||
; XXXrstrong - if there is another installation of the same app ideally we
|
||||
; would just modify these values. The GetSecondInstallPath macro could be
|
||||
; made to provide enough information to do this.
|
||||
DeleteRegKey HKLM "Software\Clients\StartMenuInternet\${FileMainEXE}"
|
||||
${EndIf}
|
||||
|
||||
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\App Paths\${FileMainEXE}"
|
||||
${If} $R9 == "false"
|
||||
DeleteRegKey HKLM "$0"
|
||||
DeleteRegKey HKCU "$0"
|
||||
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\$R9"
|
||||
DeleteRegKey HKLM "$0"
|
||||
DeleteRegKey HKCU "$0"
|
||||
StrCpy $0 "MIME\Database\Content Type\application/x-xpinstall;app=firefox"
|
||||
DeleteRegKey HKCR "$0"
|
||||
${Else}
|
||||
ReadRegStr $1 HKLM "$0" ""
|
||||
Push $1
|
||||
${GetPathFromRegStr}
|
||||
Pop $R0
|
||||
Push $R0
|
||||
${GetParentDir}
|
||||
Pop $R1
|
||||
${If} $INSTDIR == $R1
|
||||
WriteRegStr HKLM "$0" "" "$R9"
|
||||
Push $R9
|
||||
${GetParentDir}
|
||||
Pop $R1
|
||||
WriteRegStr HKLM "$0" "Path" "$R1"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
; Remove files. If we don't have a log file skip
|
||||
${If} ${FileExists} "$INSTDIR\uninstall\uninstall.log"
|
||||
@ -657,6 +812,11 @@ Section "Uninstall"
|
||||
; Remove the installation directory if it is empty
|
||||
${RemoveDir} "$INSTDIR"
|
||||
${EndIf}
|
||||
|
||||
; Refresh destop icons otherwise the start menu internet item won't be removed
|
||||
; and other ugly things will happen like recreation of the registry key by the
|
||||
; OS under some conditions.
|
||||
System::Call "shell32::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)"
|
||||
SectionEnd
|
||||
|
||||
; When we add an optional action to the finish page the cancel button is
|
||||
@ -669,9 +829,9 @@ FunctionEnd
|
||||
Function un.disableCancel
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "settings" "cancelenabled" "0"
|
||||
|
||||
; Only setup the survey controls, functions, etc. when the appLocale.nsi
|
||||
; has DO_UNINSTALL_SURVEY defined to indicate the survey has been localized.
|
||||
!ifndef DO_UNINSTALL_SURVEY
|
||||
; Setup the survey controls, functions, etc. except when the application has
|
||||
; defined NO_UNINSTALL_SURVEY
|
||||
!ifdef NO_UNINSTALL_SURVEY
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "settings" "NumFields" "3"
|
||||
!else
|
||||
StrCpy $TmpVal "SOFTWARE\Microsoft\IE Setup\Setup"
|
||||
@ -694,37 +854,8 @@ Function un.disableCancel
|
||||
!endif
|
||||
FunctionEnd
|
||||
|
||||
Function Options
|
||||
!insertmacro MUI_HEADER_TEXT $(OPTIONS_PAGE_TITLE) $(OPTIONS_PAGE_SUBTITLE)
|
||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "options.ini"
|
||||
FunctionEnd
|
||||
|
||||
|
||||
Function ChangeOptions
|
||||
${MUI_INSTALLOPTIONS_READ} $0 "options.ini" "Settings" "State"
|
||||
; ReadINIStr $0 "$PLUGINSDIR\options.ini" "Settings" "State"
|
||||
${If} $0 != 0
|
||||
Abort
|
||||
${EndIf}
|
||||
${MUI_INSTALLOPTIONS_READ} $R0 "options.ini" "Field 2" "State"
|
||||
StrCmp $R0 "1" +1 +2
|
||||
StrCpy $InstallType "1"
|
||||
${MUI_INSTALLOPTIONS_READ} $R0 "options.ini" "Field 3" "State"
|
||||
StrCmp $R0 "1" +1 +2
|
||||
StrCpy $InstallType "2"
|
||||
${MUI_INSTALLOPTIONS_READ} $R0 "options.ini" "Field 4" "State"
|
||||
StrCmp $R0 "1" +1 +2
|
||||
StrCpy $InstallType "4"
|
||||
FunctionEnd
|
||||
|
||||
Function preShortcuts
|
||||
Call CheckCustom
|
||||
!insertmacro MUI_HEADER_TEXT "$(SHORTCUTS_PAGE_TITLE)" "$(SHORTCUTS_PAGE_SUBTITLE)"
|
||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "shortcuts.ini"
|
||||
FunctionEnd
|
||||
|
||||
Function ChangeShortcuts
|
||||
ReadINIStr $0 "$PLUGINSDIR\options.ini" "Settings" "State"
|
||||
${MUI_INSTALLOPTIONS_READ} $0 "shortcuts.ini" "Settings" "State"
|
||||
${If} $0 != 0
|
||||
Abort
|
||||
${EndIf}
|
||||
@ -790,49 +921,6 @@ Function CopyFile
|
||||
Push 0
|
||||
FunctionEnd
|
||||
|
||||
; There must be a cleaner way of doing this but this will suffice for now.
|
||||
Function un.RemoveRegEntriesCallback
|
||||
${un.TrimNewLines} "$R9" "$R9"
|
||||
StrCpy $R3 "$R9" 7
|
||||
${If} $R3 == "RegVal:"
|
||||
${OrIf} $R3 == "RegKey:"
|
||||
StrCpy $R9 "$R9" "" 8
|
||||
${un.WordFind} "$R9" " | " "+1" $R0
|
||||
${un.WordFind} "$R9" " | " "+2" $R1
|
||||
${If} $R3 == "RegVal:"
|
||||
${un.WordFind} "$R9" " | " "+3" $R2
|
||||
; When setting the default value the name will be empty and WordFind will
|
||||
; return the entire string so copy an empty string into $R2 when this
|
||||
; occurs.
|
||||
${If} $R2 == $R9
|
||||
StrCpy $R2 ""
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
${Switch} $R0
|
||||
${Case} "HKCR"
|
||||
${If} $R3 == "RegVal:"
|
||||
DeleteRegValue HKCR "$R1" "$R2"
|
||||
${EndIf}
|
||||
DeleteRegKey /ifempty HKCR "$R1"
|
||||
${Break}
|
||||
${Case} "HKCU"
|
||||
${If} $R3 == "RegVal:"
|
||||
DeleteRegValue HKCU "$R1" "$R2"
|
||||
${EndIf}
|
||||
DeleteRegKey /ifempty HKCU "$R1"
|
||||
${Break}
|
||||
${Case} "HKLM"
|
||||
${If} $R3 == "RegVal:"
|
||||
DeleteRegValue HKLM "$R1" "$R2"
|
||||
${EndIf}
|
||||
DeleteRegKey /ifempty HKLM "$R1"
|
||||
${Break}
|
||||
${EndSwitch}
|
||||
${EndIf}
|
||||
ClearErrors
|
||||
Push 0
|
||||
FunctionEnd
|
||||
|
||||
Function un.RemoveFilesCallback
|
||||
${un.TrimNewLines} "$R9" "$R9"
|
||||
StrCpy $R1 "$R9" 5
|
||||
@ -1006,22 +1094,79 @@ Function CleanOldLogFilesCallback
|
||||
Push 0
|
||||
FunctionEnd
|
||||
|
||||
/*
|
||||
install_wizard1.log
|
||||
|
||||
[12/12] Installing: C:\Program Files\Mozilla Thunderbird\extensions\talkback@mozilla.org\components\talkback.cnt
|
||||
** performInstall() returned: 0
|
||||
|
||||
Install completed successfully -- 2005-12-05 11:36:25
|
||||
|
||||
** copy file: C:\WINDOWS\UninstallThunderbird.exe to C:\Program Files\Mozilla Thunderbird\uninstall\UninstallThunderbird.exe
|
||||
|
||||
UPDATE [Wed, 21 Dec 2005 20:32:51 GMT]
|
||||
installing: C:\Program Files\Mozilla Thunderbird\softokn3.chk
|
||||
*/
|
||||
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(APP_DESC)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DEV_TOOLS_DESC)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(QFA_DESC)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
!insertmacro MOZ_MUI_LANGUAGE 'baseLocale'
|
||||
!verbose push
|
||||
!verbose 3
|
||||
!include "overrideLocale.nsh"
|
||||
!include "customLocale.nsh"
|
||||
!verbose pop
|
||||
|
||||
; Set this after the locale files to override it if it is in the locale
|
||||
; using " " for BrandingText will hide the "Nullsoft Install System..." branding
|
||||
BrandingText " "
|
||||
|
||||
Function preShortcuts
|
||||
Call CheckCustom
|
||||
!insertmacro MUI_HEADER_TEXT "$(SHORTCUTS_PAGE_TITLE)" "$(SHORTCUTS_PAGE_SUBTITLE)"
|
||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "shortcuts.ini"
|
||||
FunctionEnd
|
||||
|
||||
Function preOptions
|
||||
!insertmacro MUI_HEADER_TEXT "$(OPTIONS_PAGE_TITLE)" "$(OPTIONS_PAGE_SUBTITLE)"
|
||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "options.ini"
|
||||
FunctionEnd
|
||||
|
||||
Function ChangeOptions
|
||||
${MUI_INSTALLOPTIONS_READ} $0 "options.ini" "Settings" "State"
|
||||
${If} $0 != 0
|
||||
Abort
|
||||
${EndIf}
|
||||
${MUI_INSTALLOPTIONS_READ} $R0 "options.ini" "Field 2" "State"
|
||||
StrCmp $R0 "1" +1 +2
|
||||
StrCpy $InstallType "1"
|
||||
${MUI_INSTALLOPTIONS_READ} $R0 "options.ini" "Field 3" "State"
|
||||
StrCmp $R0 "1" +1 +2
|
||||
StrCpy $InstallType "4"
|
||||
FunctionEnd
|
||||
|
||||
Function preComponents
|
||||
Call CheckCustom
|
||||
; If DOMi isn't available skip the options page
|
||||
${Unless} ${FileExists} "$EXEDIR\optional\extensions\inspector@mozilla.org"
|
||||
; If talkback exists always install it enabled.
|
||||
${If} ${FileExists} "$EXEDIR\optional\extensions\talkback@mozilla.org"
|
||||
SectionSetFlags 2 1
|
||||
${EndIf}
|
||||
Abort
|
||||
${EndUnless}
|
||||
FunctionEnd
|
||||
|
||||
Function .onInit
|
||||
StrCpy $LANGUAGE 0
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "options.ini"
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "shortcuts.ini"
|
||||
!insertmacro createShortcutsINI
|
||||
!insertmacro createBasicCustomOptionsINI
|
||||
; Hide DOMi in the components page if it isn't available
|
||||
${Unless} ${FileExists} "$EXEDIR\optional\extensions\inspector@mozilla.org"
|
||||
SectionSetText 1 ""
|
||||
${EndUnless}
|
||||
; Hide Talkback in the components page if it isn't available
|
||||
${Unless} ${FileExists} "$EXEDIR\optional\extensions\talkback@mozilla.org"
|
||||
SectionSetText 2 ""
|
||||
${EndUnless}
|
||||
FunctionEnd
|
||||
|
||||
Function un.onInit
|
||||
GetFullPathName $INSTDIR "$INSTDIR\.."
|
||||
StrCpy $LANGUAGE 0
|
||||
; XXXrstrong - should we quit when the app exe is not present?
|
||||
Call un.SetAccess
|
||||
FunctionEnd
|
||||
|
@ -1,192 +0,0 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
${LogHeader} "Adding Additional Files"
|
||||
; Only for Firefox and only if they don't already exist
|
||||
; Check if QuickTime is installed and copy the contents of its plugins
|
||||
; directory into the app's plugins directory. Previously only the
|
||||
; nsIQTScriptablePlugin.xpt files was copied which is not enough to enable
|
||||
; QuickTime as a plugin.
|
||||
ClearErrors
|
||||
ReadRegStr $R0 HKLM "Software\Apple Computer, Inc.\QuickTime" "InstallDir"
|
||||
${Unless} ${Errors}
|
||||
Push $R0
|
||||
${GetPathFromRegStr}
|
||||
Pop $R0
|
||||
${Unless} ${Errors}
|
||||
GetFullPathName $R0 "$R0\Plugins"
|
||||
${Unless} ${Errors}
|
||||
${LogHeader} "Copying QuickTime Plugin Files"
|
||||
${LogMsg} "Source Directory: $R0\Plugins"
|
||||
StrCpy $R1 "$INSTDIR\plugins"
|
||||
Call DoCopyFiles
|
||||
${EndUnless}
|
||||
${EndUnless}
|
||||
${EndUnless}
|
||||
ClearErrors
|
||||
|
||||
; Default for creating Start Menu folder and shortcuts
|
||||
; (1 = create, 0 = don't create)
|
||||
${If} $AddStartMenuSC == ""
|
||||
StrCpy $AddStartMenuSC "1"
|
||||
${EndIf}
|
||||
|
||||
; Default for creating Quick Launch shortcut (1 = create, 0 = don't create)
|
||||
${If} $AddQuickLaunchSC == ""
|
||||
StrCpy $AddQuickLaunchSC "1"
|
||||
${EndIf}
|
||||
|
||||
; Default for creating Desktop shortcut (1 = create, 0 = don't create)
|
||||
${If} $AddDesktopSC == ""
|
||||
StrCpy $AddDesktopSC "1"
|
||||
${EndIf}
|
||||
|
||||
; Remove registry entries for non-existent apps and for apps that point to our
|
||||
; install location in the Software\Mozilla key.
|
||||
SetShellVarContext current ; Set SHCTX to HKCU
|
||||
${RegCleanMain} "Software\Mozilla"
|
||||
SetShellVarContext all ; Set SHCTX to HKLM
|
||||
${RegCleanMain} "Software\Mozilla"
|
||||
|
||||
; Remove uninstall entries that point to our install location
|
||||
${RegCleanUninstall}
|
||||
|
||||
|
||||
${LogHeader} "Adding Registry Entries"
|
||||
ClearErrors
|
||||
WriteRegStr HKLM "Software\Mozilla\InstallerTest" "InstallerTest" "Test"
|
||||
${If} ${Errors}
|
||||
SetShellVarContext current ; Set SHCTX to HKCU
|
||||
StrCpy $TmpVal "HKCU" ; used primarily for logging
|
||||
${Else}
|
||||
SetShellVarContext all ; Set SHCTX to HKLM
|
||||
DeleteRegKey HKLM "Software\Mozilla\InstallerTest"
|
||||
StrCpy $TmpVal "HKLM" ; used primarily for logging
|
||||
${EndIf}
|
||||
|
||||
; The previous installer adds several regsitry values to both HKLM and HKCU.
|
||||
; We now try to add to HKLM and if that fails to HKCU
|
||||
|
||||
; The order that reg keys and values are added is important if you use the
|
||||
; uninstall log to remove them on uninstall. When using the uninstall log you
|
||||
; MUST add children first so they will be removed first on uninstall so they
|
||||
; will be empty when the key is deleted. This allows the uninstaller to
|
||||
; specify that only empty keys will be deleted.
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}\${AppVersion} (${AB_CD})\Main"
|
||||
${WriteRegStr2} $TmpVal "$0" "Install Directory" "$INSTDIR" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "PathToExe" "$INSTDIR\${FileMainEXE}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Program Folder Path" "$SMPROGRAMS\$StartMenuDir" 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "Create Quick Launch Shortcut" $AddQuickLaunchSC 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "Create Desktop Shortcut" $AddDesktopSC 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "Create Start Menu Shortcut" $AddStartMenuSC 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}\${AppVersion} (${AB_CD})\Uninstall"
|
||||
${WriteRegStr2} $TmpVal "$0" "Uninstall Log Folder" "$INSTDIR\uninstall" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Description" "${BrandFullName} (${AppVersion})" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}\${AppVersion} (${AB_CD})"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "${AppVersion} (${AB_CD})" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName} ${AppVersion}\bin"
|
||||
${WriteRegStr2} $TmpVal "$0" "PathToExe" "$INSTDIR\${FileMainEXE}" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName} ${AppVersion}\extensions"
|
||||
${WriteRegStr2} $TmpVal "$0" "Components" "$INSTDIR\components" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Plugins" "$INSTDIR\plugins" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName} ${AppVersion}"
|
||||
${WriteRegStr2} $TmpVal "$0" "GeckoVer" "${GREVersion}" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullName}"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "${GREVersion}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "CurrentVersion" "${AppVersion} (${AB_CD})" 0
|
||||
|
||||
; XXXrstrong - there are several values that will be overwritten by and
|
||||
; overwrite other installs of the same application.
|
||||
${StrFilter} "${FileMainEXE}" "+" "" "" $R9
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "${BrandFullName}" 0
|
||||
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\DefaultIcon"
|
||||
StrCpy $1 "$\"$INSTDIR\${FileMainEXE}$\",0"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "$1" 0
|
||||
|
||||
; The Reinstall Command is defined at
|
||||
; http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/registeringapps.asp
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\InstallInfo"
|
||||
StrCpy $1 "$\"$INSTDIR\uninstall\uninstaller.exe$\" /ua $\"${AppVersion} (${AB_CD})$\" /hs browser"
|
||||
${WriteRegStr2} $TmpVal "$0" "HideIconsCommand" "$1" 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "IconsVisible" 1 0
|
||||
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\InstallInfo"
|
||||
StrCpy $1 "$\"$INSTDIR\${FileMainEXE}$\" -silent -setDefaultBrowser"
|
||||
${WriteRegStr2} $TmpVal "$0" "ReinstallCommand" "$1" 0
|
||||
StrCpy $1 "$\"$INSTDIR\uninstall\uninstaller.exe$\" /ua $\"${AppVersion} (${AB_CD})$\" /ss browser"
|
||||
${WriteRegStr2} $TmpVal "$0" "ShowIconsCommand" "$1" 0
|
||||
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\$R9\shell\open\command"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
|
||||
; These need special handling on uninstall since they may be overwritten by
|
||||
; an install into a different location.
|
||||
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\App Paths\${FileMainEXE}"
|
||||
${WriteRegStr2} $TmpVal "$0" "" "$INSTDIR\${FileMainEXE}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Path" "$INSTDIR" 0
|
||||
|
||||
StrCpy $0 "MIME\Database\Content Type\application/x-xpinstall;app=firefox"
|
||||
${WriteRegStrHKCR} "HKCR" "$0" "Extension" ".xpi" 0
|
||||
|
||||
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\$R9"
|
||||
${CreateRegKey} "$TmpVal" "$0" 0
|
||||
|
||||
; Write the uninstall registry keys
|
||||
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${BrandFullName} (${AppVersion})"
|
||||
StrCpy $1 "$\"$INSTDIR\uninstall\uninstaller.exe$\" $\"/ua ${AppVersion} (${AB_CD})$\""
|
||||
|
||||
${WriteRegStr2} $TmpVal "$0" "Comments" "${BrandFullName}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "DisplayIcon" "$INSTDIR\${FileMainEXE},0" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "DisplayName" "${BrandFullName} (${AppVersion})" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "DisplayVersion" "${AppVersion} (${AB_CD})" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "InstallLocation" "$INSTDIR" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "Publisher" "Mozilla" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "UninstallString" "$1" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "URLInfoAbout" "${URLInfoAbout}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "URLUpdateInfo" "${URLUpdateInfo}" 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "NoModify" 1 0
|
||||
${WriteRegDWORD2} $TmpVal "$0" "NoRepair" 1 0
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
@ -1,103 +0,0 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
; Remove registry entries for non-existent apps and for apps that point to our
|
||||
; install location in the Software\Mozilla key.
|
||||
SetShellVarContext current ; Sets SHCTX to HKCU
|
||||
${un.RegCleanMain} "Software\Mozilla"
|
||||
SetShellVarContext all ; Sets SHCTX to HKLM
|
||||
${un.RegCleanMain} "Software\Mozilla"
|
||||
|
||||
; Remove uninstall entries that point to our install location
|
||||
${un.RegCleanUninstall}
|
||||
|
||||
SetShellVarContext all ; Set SHCTX to HKLM
|
||||
${un.GetSecondInstallPath} "Software\Mozilla" $R9
|
||||
${If} $R9 == "false"
|
||||
SetShellVarContext current ; Set SHCTX to HKCU
|
||||
${un.GetSecondInstallPath} "Software\Mozilla" $R9
|
||||
${EndIf}
|
||||
|
||||
; ${StrFilter} "${FileMainEXE}" "+" "" "" $R8
|
||||
StrCpy $0 "Software\Clients\StartMenuInternet\${FileMainEXE}\shell\open\command"
|
||||
ReadRegStr $1 HKLM "$0" ""
|
||||
Push $1
|
||||
${GetPathFromRegStr}
|
||||
Pop $R0
|
||||
Push $R0
|
||||
${GetParentDir}
|
||||
Pop $R1
|
||||
|
||||
; Only remove the StartMenuInternet key if it refers to this install location.
|
||||
; The StartMenuInternet registry key is independent of the default browser
|
||||
; settings. The XPInstall base un-installer always removes this key if it is
|
||||
; uninstalling the default browser and it will always replace the keys when
|
||||
; installing even if there is another install of Firefox that is set as the
|
||||
; default browser. Now the key is always updated on install but it is only
|
||||
; removed if it refers to this install location.
|
||||
${If} $INSTDIR == $R1
|
||||
; XXXrstrong - if there is another installation of the same app ideally we
|
||||
; would just modify these values. The GetSecondInstallPath macro could be
|
||||
; made to provide enough information to do this.
|
||||
DeleteRegKey HKLM "Software\Clients\StartMenuInternet\${FileMainEXE}"
|
||||
${EndIf}
|
||||
|
||||
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\App Paths\${FileMainEXE}"
|
||||
${If} $R9 == "false"
|
||||
DeleteRegKey HKLM "$0"
|
||||
DeleteRegKey HKCU "$0"
|
||||
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\$R9"
|
||||
DeleteRegKey HKLM "$0"
|
||||
DeleteRegKey HKCU "$0"
|
||||
StrCpy $0 "MIME\Database\Content Type\application/x-xpinstall;app=firefox"
|
||||
DeleteRegKey HKCR "$0"
|
||||
${Else}
|
||||
ReadRegStr $1 HKLM "$0" ""
|
||||
Push $1
|
||||
${GetPathFromRegStr}
|
||||
Pop $R0
|
||||
Push $R0
|
||||
${GetParentDir}
|
||||
Pop $R1
|
||||
${If} $INSTDIR == $R1
|
||||
WriteRegStr HKLM "$0" "" "$R9"
|
||||
Push $R9
|
||||
${GetParentDir}
|
||||
Pop $R1
|
||||
WriteRegStr HKLM "$0" "Path" "$R1"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
77
browser/locales/en-US/installer/custom.properties
Executable file
77
browser/locales/en-US/installer/custom.properties
Executable file
@ -0,0 +1,77 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# LOCALIZATION NOTE:
|
||||
|
||||
# This file must be saved as UTF8
|
||||
|
||||
# Accesskeys are defined by prefixing the letter that is to be used for the
|
||||
# accesskey with an ampersand (e.g. &).
|
||||
|
||||
# Do not replace ${BrandShortName} or ${BrandFullName} with a custom string.
|
||||
|
||||
# You can use \n to create a newline in the string but only when the string
|
||||
# from en-US contains a \n.
|
||||
|
||||
APP_DESC=Required files for the ${BrandShortName} application
|
||||
DEV_TOOLS_DESC=A tool for inspecting the DOM of HTML, XUL, and XML pages, including the browser chrome.
|
||||
QFA_DESC=A tool for submitting crash reports to Mozilla.org.
|
||||
SAFE_MODE=Safe Mode
|
||||
OPTIONS_PAGE_TITLE=Setup Type
|
||||
OPTIONS_PAGE_SUBTITLE=Choose setup options
|
||||
SHORTCUTS_PAGE_TITLE=Set Up Shortcuts
|
||||
SHORTCUTS_PAGE_SUBTITLE=Create Program Icons
|
||||
SURVEY_TEXT=&Tell us what you thought of ${BrandShortName}
|
||||
LAUNCH_TEXT=&Launch ${BrandFullName} now
|
||||
WARN_APP_RUNNING_INSTALL=${BrandFullName} must be closed to proceed with the installation.\n\nClick "OK" to exit ${BrandFullName} automatically and continue.
|
||||
WARN_APP_RUNNING_UNINSTALL=${BrandFullName} must be closed to proceed with the uninstall.\n\nClick "OK" to exit ${BrandFullName} automatically and continue.
|
||||
CREATE_ICONS_DESC=Create icons for ${BrandShortName}:
|
||||
ICONS_DESKTOP=On my &Desktop
|
||||
ICONS_STARTMENU=In my &Start Menu Programs folder
|
||||
ICONS_QUICKLAUNCH=In my &Quick Launch bar
|
||||
|
||||
# _DESC strings support approximately 65 characters per line.
|
||||
# One line
|
||||
OPTIONS_SUMMARY=Choose the type of setup you prefer, then click Next.
|
||||
# One line
|
||||
OPTION_STANDARD_DESC=${BrandShortName} will be installed with the most common options.
|
||||
OPTION_STANDARD_RADIO=&Standard
|
||||
# One line
|
||||
OPTION_COMPLETE_DESC=${BrandShortName} will be installed with all available options.
|
||||
OPTION_COMPLETE_RADIO=C&omplete
|
||||
# Two lines
|
||||
OPTION_CUSTOM_DESC=You may choose individual options to be installed. Recommended for experienced users.
|
||||
OPTION_CUSTOM_RADIO=&Custom
|
96
browser/locales/en-US/installer/mui.properties
Executable file
96
browser/locales/en-US/installer/mui.properties
Executable file
@ -0,0 +1,96 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# To make the l10n tinderboxen see changes to this file you can change a value
|
||||
# name by adding - to the end of the name followed by chars (e.g. Branding-2).
|
||||
|
||||
# LOCALIZATION NOTE:
|
||||
|
||||
# This file must be saved as UTF8
|
||||
|
||||
# Accesskeys are defined by prefixing the letter that is to be used for the
|
||||
# accesskey with an ampersand (e.g. &).
|
||||
|
||||
# Do not replace $(^NameDA) or $(^Name) with a custom string.
|
||||
|
||||
# Do not change $(^NameDA) to $(^Name) or $(^Name) to $(^NameDA). NameDA allows
|
||||
# Name to contain an ampersand (e.g. DA stands for double ampersand) and
|
||||
# prevents the letter following the ampersand being used as an accesskey.
|
||||
|
||||
# You can use \n to create a newline in the string but only when the string
|
||||
# from en-US contains a \n.
|
||||
MUI_TEXT_WELCOME_INFO_TITLE=Welcome to the $(^NameDA) Setup Wizard
|
||||
MUI_TEXT_WELCOME_INFO_TEXT=This wizard will guide you through the installation of $(^NameDA).\n\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\n\n$_CLICK
|
||||
MUI_TEXT_LICENSE_TITLE=License Agreement
|
||||
MUI_TEXT_LICENSE_SUBTITLE=Please review the license terms before installing $(^NameDA).
|
||||
MUI_INNERTEXT_LICENSE_TOP=Press Page Down to see the rest of the agreement.
|
||||
MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS=If you accept the terms of the agreement, select the first option below. You must accept the agreement to install $(^NameDA). $_CLICK
|
||||
MUI_TEXT_COMPONENTS_TITLE=Choose Components
|
||||
MUI_TEXT_COMPONENTS_SUBTITLE=Choose which features of $(^NameDA) you want to install.
|
||||
MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Description
|
||||
MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=Position your mouse over a component to see its description.
|
||||
MUI_TEXT_DIRECTORY_TITLE=Choose Install Location
|
||||
MUI_TEXT_DIRECTORY_SUBTITLE=Choose the folder in which to install $(^NameDA).
|
||||
MUI_TEXT_INSTALLING_TITLE=Installing
|
||||
MUI_TEXT_INSTALLING_SUBTITLE=Please wait while $(^NameDA) is being installed.
|
||||
MUI_TEXT_FINISH_TITLE=Installation Complete
|
||||
MUI_TEXT_FINISH_SUBTITLE=Setup was completed successfully.
|
||||
MUI_TEXT_ABORT_TITLE=Installation Aborted
|
||||
MUI_TEXT_ABORT_SUBTITLE=Setup was not completed successfully.
|
||||
MUI_BUTTONTEXT_FINISH=&Finish
|
||||
MUI_TEXT_FINISH_INFO_TITLE=Completing the $(^NameDA) Setup Wizard
|
||||
MUI_TEXT_FINISH_INFO_TEXT=$(^NameDA) has been installed on your computer.\n\nClick Finish to close this wizard.
|
||||
MUI_TEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the installation of $(^NameDA). Do you want to reboot now?
|
||||
MUI_TEXT_FINISH_REBOOTNOW=Reboot now
|
||||
MUI_TEXT_FINISH_REBOOTLATER=I want to manually reboot later
|
||||
MUI_TEXT_STARTMENU_TITLE=Choose Start Menu Folder
|
||||
MUI_TEXT_STARTMENU_SUBTITLE=Choose a Start Menu folder for the $(^NameDA) shortcuts.
|
||||
MUI_INNERTEXT_STARTMENU_TOP=Select the Start Menu folder in which you would like to create the program's shortcuts. You can also enter a name to create a new folder.
|
||||
MUI_TEXT_ABORTWARNING=Are you sure you want to quit $(^Name) Setup?
|
||||
MUI_UNTEXT_WELCOME_INFO_TITLE=Welcome to the $(^NameDA) Uninstall Wizard
|
||||
MUI_UNTEXT_WELCOME_INFO_TEXT=This wizard will guide you through the uninstallation of $(^NameDA).\n\nBefore starting the uninstallation, make sure $(^NameDA) is not running.\n\n$_CLICK
|
||||
MUI_UNTEXT_CONFIRM_TITLE=Uninstall $(^NameDA)
|
||||
MUI_UNTEXT_CONFIRM_SUBTITLE=Remove $(^NameDA) from your computer.
|
||||
MUI_UNTEXT_UNINSTALLING_TITLE=Uninstalling
|
||||
MUI_UNTEXT_UNINSTALLING_SUBTITLE=Please wait while $(^NameDA) is being uninstalled.
|
||||
MUI_UNTEXT_FINISH_TITLE=Uninstallation Complete
|
||||
MUI_UNTEXT_FINISH_SUBTITLE=Uninstall was completed successfully.
|
||||
MUI_UNTEXT_ABORT_TITLE=Uninstallation Aborted
|
||||
MUI_UNTEXT_ABORT_SUBTITLE=Uninstall was not completed successfully.
|
||||
MUI_UNTEXT_FINISH_INFO_TITLE=Completing the $(^NameDA) Uninstall Wizard
|
||||
MUI_UNTEXT_FINISH_INFO_TEXT=$(^NameDA) has been uninstalled from your computer.\n\nClick Finish to close this wizard.
|
||||
MUI_UNTEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the uninstallation of $(^NameDA). Do you want to reboot now?
|
||||
MUI_UNTEXT_ABORTWARNING=Are you sure you want to quit $(^Name) Uninstall?
|
118
browser/locales/en-US/installer/override.properties
Executable file
118
browser/locales/en-US/installer/override.properties
Executable file
@ -0,0 +1,118 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# LOCALIZATION NOTE:
|
||||
|
||||
# This file must be saved as UTF8
|
||||
|
||||
# Accesskeys are defined by prefixing the letter that is to be used for the
|
||||
# accesskey with an ampersand (e.g. &).
|
||||
|
||||
# Do not replace $(^NameDA) or $(^Name) with a custom string.
|
||||
|
||||
# Do not change $(^NameDA) to $(^Name) or $(^Name) to $(^NameDA). NameDA allows
|
||||
# Name to contain an ampersand (e.g. DA stands for double ampersand) and
|
||||
# prevents the letter following the ampersand being used as an accesskey.
|
||||
|
||||
# You can use \n to create a newline in the string but only when the string
|
||||
# from en-US contains a \n.
|
||||
|
||||
# Strings that require a space at the end should be enclosed with double
|
||||
# quotes and the double quotes will be removed. To add quotes to the beginning
|
||||
# and end of a strong enclose the add and additional double quote to the
|
||||
# beginning and end of the string (e.g. ""This will include quotes"").
|
||||
|
||||
SetupCaption=$(^Name) Setup
|
||||
UninstallCaption=$(^Name) Uninstall
|
||||
BackBtn=< &Back
|
||||
NextBtn=&Next >
|
||||
AcceptBtn=I &accept the terms in the License Agreement
|
||||
DontAcceptBtn=I &do not accept the terms in the License Agreement
|
||||
InstallBtn=&Install
|
||||
UninstallBtn=&Uninstall
|
||||
CancelBtn=Cancel
|
||||
CloseBtn=&Close
|
||||
BrowseBtn=B&rowse...
|
||||
ShowDetailsBtn=Show &details
|
||||
ClickNext=Click Next to continue.
|
||||
ClickInstall=Click Install to start the installation.
|
||||
ClickUninstall=Click Uninstall to start the uninstallation.
|
||||
Completed=Completed
|
||||
LicenseTextRB=Please review the license agreement before installing $(^NameDA). If you accept all terms of the agreement, select the first option below. $_CLICK
|
||||
ComponentsText=Check the components you want to install and uncheck the components you don't want to install. $_CLICK
|
||||
ComponentsSubText2_NoInstTypes=Select components to install:
|
||||
DirText=Setup will install $(^NameDA) in the following folder. To install in a different folder, click Browse and select another folder. $_CLICK
|
||||
DirSubText=Destination Folder
|
||||
DirBrowseText=Select the folder to install $(^NameDA) in:
|
||||
SpaceAvailable="Space available: "
|
||||
SpaceRequired="Space required: "
|
||||
UninstallingText=$(^NameDA) will be uninstalled from the following folder. $_CLICK
|
||||
UninstallingSubText=Uninstalling from:
|
||||
FileError=Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Abort to stop the installation,\r\nRetry to try again, or\r\nIgnore to skip this file.
|
||||
FileError_NoIgnore=Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Retry to try again, or\r\nCancel to stop the installation.
|
||||
CantWrite="Can't write: "
|
||||
CopyFailed=Copy failed
|
||||
CopyTo="Copy to "
|
||||
Registering="Registering: "
|
||||
Unregistering="Unregistering: "
|
||||
SymbolNotFound="Could not find symbol: "
|
||||
CouldNotLoad="Could not load: "
|
||||
CreateFolder="Create folder: "
|
||||
CreateShortcut="Create shortcut: "
|
||||
CreatedUninstaller="Created uninstaller: "
|
||||
Delete="Delete file: "
|
||||
DeleteOnReboot="Delete on reboot: "
|
||||
ErrorCreatingShortcut="Error creating shortcut: "
|
||||
ErrorCreating="Error creating: "
|
||||
ErrorDecompressing=Error decompressing data! Corrupted installer?
|
||||
ErrorRegistering=Error registering DLL
|
||||
ExecShell="ExecShell: "
|
||||
Exec="Execute: "
|
||||
Extract="Extract: "
|
||||
ErrorWriting="Extract: error writing to file "
|
||||
InvalidOpcode=Installer corrupted: invalid opcode
|
||||
NoOLE="No OLE for: "
|
||||
OutputFolder="Output folder: "
|
||||
RemoveFolder="Remove folder: "
|
||||
RenameOnReboot="Rename on reboot: "
|
||||
Rename="Rename: "
|
||||
Skipped="Skipped: "
|
||||
CopyDetails=Copy Details To Clipboard
|
||||
LogInstall=Log install process
|
||||
Byte=B
|
||||
Kilo=K
|
||||
Mega=M
|
||||
Giga=G
|
@ -1,62 +0,0 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
; Notes
|
||||
; Possible values for languages that are provided by NSIS are:
|
||||
; Albanian, Arabic, Belarusian, Bosnian, Breton, Bulgarian, Catalan, Croatian,
|
||||
; Czech, Danish, Dutch, English, Estonian, Farsi, Finnish, French, German,
|
||||
; Greek, Hebrew, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean,
|
||||
; Kurdish, Latvian, Lithuanian, Luxembourgish, Macedonian, Malay, Mongolian,
|
||||
; Norwegian, Polish, Portuguese, PortugueseBR, Romanian, Russian, Serbian,
|
||||
; SerbianLatin, SimpChinese, Slovak, Slovenian, Spanish, Swedish, Thai,
|
||||
; TradChinese, Turkish, Ukrainian
|
||||
!macro DEF_MUI_LANGUAGE
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
!macroend
|
||||
|
||||
LangString APP_DESC ${LANG_ENGLISH} "Required files for the ${BrandShortName} application"
|
||||
LangString DEV_TOOLS_DESC ${LANG_ENGLISH} "A tool for inspecting the DOM of HTML, XUL, and XML pages, including the browser chrome."
|
||||
LangString QFA_DESC ${LANG_ENGLISH} "A tool for submitting crash reports to Mozilla.org."
|
||||
LangString SAFE_MODE ${LANG_ENGLISH} "Safe Mode"
|
||||
LangString OPTIONS_PAGE_TITLE ${LANG_ENGLISH} "Setup Type"
|
||||
LangString OPTIONS_PAGE_SUBTITLE ${LANG_ENGLISH} "Choose setup options"
|
||||
LangString SHORTCUTS_PAGE_TITLE ${LANG_ENGLISH} "Set Up Shortcuts"
|
||||
LangString SHORTCUTS_PAGE_SUBTITLE ${LANG_ENGLISH} "Create Program Icons"
|
||||
# to enable the survey, see DO_UNINSTALL_SURVEY in appLocale.nsi
|
||||
LangString SURVEY_TEXT ${LANG_ENGLISH} "&Tell us what you thought of ${BrandShortName}"
|
||||
LangString LAUNCH_TEXT ${LANG_ENGLISH} '&Launch ${BrandFullName} now'
|
||||
LangString WARN_APP_RUNNING_INSTALL ${LANG_ENGLISH} '${BrandFullName} must be closed to proceed with the installation.$\r$\n$\r$\nClick "OK" to exit ${BrandFullName} automatically and continue.'
|
||||
LangString WARN_APP_RUNNING_UNINSTALL ${LANG_ENGLISH} '${BrandFullName} must be closed to proceed with the uninstall.$\r$\n$\r$\nClick "OK" to exit ${BrandFullName} automatically and continue.'
|
@ -69,6 +69,266 @@ Exch $R9 ; exchange the new $R9 value with the top of the stack
|
||||
|
||||
!define MUI_INSTALLOPTIONS_READ "!insertmacro MUI_INSTALLOPTIONS_READ"
|
||||
|
||||
!macro MOZ_MUI_LANGUAGE LANGUAGE
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
!include "${LANGUAGE}.nsh"
|
||||
!verbose pop
|
||||
!macroend
|
||||
|
||||
!macro MOZ_MUI_LANGUAGEFILE_BEGIN LANGUAGE
|
||||
!ifndef MUI_INSERT
|
||||
!define MUI_INSERT
|
||||
!insertmacro MUI_INSERT
|
||||
!endif
|
||||
!ifndef "MUI_LANGUAGEFILE_${LANGUAGE}_USED"
|
||||
!define "MUI_LANGUAGEFILE_${LANGUAGE}_USED"
|
||||
LoadLanguageFile "${LANGUAGE}.nlf"
|
||||
!else
|
||||
!error "Modern UI language file ${LANGUAGE} included twice!"
|
||||
!endif
|
||||
!macroend
|
||||
|
||||
; Custom version of MUI_LANGUAGEFILE_END. The macro to add the default MUI
|
||||
; strings and the macros for several strings that are part of the NSIS MUI and
|
||||
; not in our locale files have been commented out.
|
||||
!macro MOZ_MUI_LANGUAGEFILE_END
|
||||
|
||||
# !include "${NSISDIR}\Contrib\Modern UI\Language files\Default.nsh"
|
||||
!ifdef MUI_LANGUAGEFILE_DEFAULT_USED
|
||||
!undef MUI_LANGUAGEFILE_DEFAULT_USED
|
||||
!warning "${LANGUAGE} Modern UI language file version doesn't match. Using default English texts for missing strings."
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_DEFINE "MUI_${LANGUAGE}_LANGNAME" "MUI_LANGNAME"
|
||||
|
||||
!ifndef MUI_LANGDLL_PUSHLIST
|
||||
!define MUI_LANGDLL_PUSHLIST "'${MUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} "
|
||||
!else
|
||||
!ifdef MUI_LANGDLL_PUSHLIST_TEMP
|
||||
!undef MUI_LANGDLL_PUSHLIST_TEMP
|
||||
!endif
|
||||
!define MUI_LANGDLL_PUSHLIST_TEMP "${MUI_LANGDLL_PUSHLIST}"
|
||||
!undef MUI_LANGDLL_PUSHLIST
|
||||
!define MUI_LANGDLL_PUSHLIST "'${MUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} ${MUI_LANGDLL_PUSHLIST_TEMP}"
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME "MUI_TEXT_WELCOME_INFO_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME "MUI_TEXT_WELCOME_INFO_TEXT"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_TEXT_LICENSE_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_TEXT_LICENSE_SUBTITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_TOP"
|
||||
|
||||
# !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_BOTTOM"
|
||||
# !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS "MUI_TEXT_COMPONENTS_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS "MUI_TEXT_COMPONENTS_SUBTITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS "MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS "MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY "MUI_TEXT_DIRECTORY_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY "MUI_TEXT_DIRECTORY_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_TEXT_STARTMENU_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_TEXT_STARTMENU_SUBTITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_INNERTEXT_STARTMENU_TOP"
|
||||
# !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_INNERTEXT_STARTMENU_CHECKBOX"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_INSTALLING_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_INSTALLING_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_FINISH_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_FINISH_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_ABORT_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_ABORT_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_BUTTONTEXT_FINISH"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_INFO_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_INFO_TEXT"
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_INFO_REBOOT"
|
||||
!insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_REBOOTNOW"
|
||||
!insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_REBOOTLATER"
|
||||
# !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_RUN"
|
||||
# !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_SHOWREADME"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_ABORTWARNING "MUI_TEXT_ABORTWARNING"
|
||||
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME "MUI_UNTEXT_WELCOME_INFO_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME "MUI_UNTEXT_WELCOME_INFO_TEXT"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM "MUI_UNTEXT_CONFIRM_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM "MUI_UNTEXT_CONFIRM_SUBTITLE"
|
||||
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNTEXT_LICENSE_TITLE"
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNTEXT_LICENSE_SUBTITLE"
|
||||
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNINNERTEXT_LICENSE_BOTTOM"
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX"
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS"
|
||||
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS "MUI_UNTEXT_COMPONENTS_TITLE"
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS "MUI_UNTEXT_COMPONENTS_SUBTITLE"
|
||||
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY "MUI_UNTEXT_DIRECTORY_TITLE"
|
||||
# !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY "MUI_UNTEXT_DIRECTORY_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_UNINSTALLING_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_UNINSTALLING_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_FINISH_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_FINISH_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_ABORT_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_ABORT_SUBTITLE"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH "MUI_UNTEXT_FINISH_INFO_TITLE"
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH "MUI_UNTEXT_FINISH_INFO_TEXT"
|
||||
!insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH "MUI_UNTEXT_FINISH_INFO_REBOOT"
|
||||
|
||||
!insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_UNABORTWARNING "MUI_UNTEXT_ABORTWARNING"
|
||||
|
||||
!macroend
|
||||
|
||||
!macro createShortcutsINI
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Settings" NumFields "4"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 1" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 1" Text "$(CREATE_ICONS_DESC)"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 1" Left "0"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 1" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 1" Top "5"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 1" Bottom "15"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" Type "checkbox"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" Text "$(ICONS_DESKTOP)"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" Top "20"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" Bottom "30"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" State "1"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 2" Flags "GROUP"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 3" Type "checkbox"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 3" Text "$(ICONS_STARTMENU)"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 3" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 3" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 3" Top "40"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 3" Bottom "50"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 3" State "1"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 4" Type "checkbox"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 4" Text "$(ICONS_QUICKLAUNCH)"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 4" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 4" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 4" Top "60"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 4" Bottom "70"
|
||||
WriteINIStr "$PLUGINSDIR\shortcuts.ini" "Field 4" State "1"
|
||||
!macroend
|
||||
|
||||
!macro createBasicCustomOptionsINI
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Settings" NumFields "5"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Text "$(OPTIONS_SUMMARY)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Left "0"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Top "0"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Bottom "10"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Type "RadioButton"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Text "$(OPTION_STANDARD_RADIO)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Top "25"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Bottom "35"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" State "1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Flags "GROUP"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Type "RadioButton"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Text "$(OPTION_CUSTOM_RADIO)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Top "55"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Bottom "65"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" State "0"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Text "$(OPTION_STANDARD_DESC)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Left "30"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Top "37"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Bottom "57"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Text "$(OPTION_CUSTOM_DESC)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Left "30"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Top "67"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Bottom "87"
|
||||
!macroend
|
||||
|
||||
!macro createBasicCompleteCustomOptionsINI
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Settings" NumFields "7"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Text "$(OPTIONS_DESC)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Left "0"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Top "0"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 1" Bottom "10"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Type "RadioButton"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Text "$(OPTION_STANDARD_RADIO)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Top "25"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Bottom "35"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" State "1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 2" Flags "GROUP"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Type "RadioButton"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Text "$(OPTION_COMPLETE_RADIO)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Top "55"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" Bottom "65"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 3" State "0"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Type "RadioButton"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Text "$(OPTION_CUSTOM_RADIO)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Left "15"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Top "85"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" Bottom "95"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 4" State "0"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Text "$(OPTION_STANDARD_DESC)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Left "30"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Top "37"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 5" Bottom "57"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 6" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 6" Text "$(OPTION_COMPLETE_DESC)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 6" Left "30"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 6" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 6" Top "67"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 6" Bottom "87"
|
||||
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 7" Type "label"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 7" Text "$(OPTION_CUSTOM_DESC)"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 7" Left "30"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 7" Right "-1"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 7" Top "97"
|
||||
WriteINIStr "$PLUGINSDIR\options.ini" "Field 7" Bottom "117"
|
||||
!macroend
|
||||
|
||||
!macro GetParentDir
|
||||
Exch $R0
|
||||
Push $R1
|
||||
@ -121,9 +381,10 @@ Exch $R9 ; exchange the new $R9 value with the top of the stack
|
||||
|
||||
ClearErrors
|
||||
GetFullPathName $R8 $R0
|
||||
IfErrors 0 +2
|
||||
IfErrors +2 0
|
||||
StrCpy $R0 $R8
|
||||
|
||||
ClearErrors
|
||||
Pop $R9
|
||||
Pop $R8
|
||||
Exch $R0
|
||||
@ -186,7 +447,6 @@ Exch $R9 ; exchange the new $R9 value with the top of the stack
|
||||
!macroend
|
||||
!define LogUninstall "!insertmacro LogUninstall"
|
||||
|
||||
|
||||
/**
|
||||
* Common installer macros used by toolkit applications.
|
||||
* The macros below will automatically prepend un. to the function names when
|
||||
|
55
toolkit/mozapps/installer/windows/nsis/locales.nsi
Executable file
55
toolkit/mozapps/installer/windows/nsis/locales.nsi
Executable file
@ -0,0 +1,55 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
/**
|
||||
* "One off" locale configuration settings for font name, font size, and RTL
|
||||
* (e.g. locale text is read right to left).
|
||||
*/
|
||||
|
||||
; Arabic
|
||||
!define ar_rtl
|
||||
|
||||
; Hebrew
|
||||
!define he_rtl
|
||||
|
||||
; Chinese Simplified, China
|
||||
!define zh-CN_font "ËÎÌå"
|
||||
!define zh-CN_size "9"
|
||||
|
||||
; Chinese Traditional, Taiwan
|
||||
!define zh-TW_font "·s²Ó©úÅé"
|
||||
!define zh-TW_size "9"
|
||||
|
@ -41,8 +41,6 @@
|
||||
# deleteThisFile/deleteThisFolder instructions suitable for an install.js
|
||||
# script. This simply processes <> to stdout.
|
||||
|
||||
print "\n\n$1\n\n";
|
||||
|
||||
while (<>) {
|
||||
m|^\s*(\S+)\s*$|;
|
||||
my $file = $1;
|
||||
|
@ -46,9 +46,7 @@ endif
|
||||
|
||||
TOOLKIT_NSIS_FILES = \
|
||||
common.nsh \
|
||||
installer.nsi \
|
||||
options.ini \
|
||||
shortcuts.ini \
|
||||
locales.nsi \
|
||||
ShellLink.dll \
|
||||
version.nsh \
|
||||
$(NULL)
|
||||
@ -56,7 +54,6 @@ TOOLKIT_NSIS_FILES = \
|
||||
installer::
|
||||
$(INSTALL) $(addprefix $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/,$(TOOLKIT_NSIS_FILES)) $(CONFIG_DIR)
|
||||
$(INSTALL) $(topsrcdir)/toolkit/mozapps/installer/windows/wizard/setuprsc/setup.ico $(CONFIG_DIR)
|
||||
$(INSTALL) $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/commonLocale.nsh $(CONFIG_DIR)
|
||||
cd $(CONFIG_DIR) && makensis.exe installer.nsi
|
||||
$(INSTALL) $(CONFIG_DIR)/removed-files.log $(CONFIG_DIR)/setup.exe $(DEPTH)/installer-stage
|
||||
cd $(DEPTH)/installer-stage && $(CYGWIN_WRAPPER) 7z a -r -t7z $(CONFIG_DIR)/app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
|
||||
|
@ -1,62 +0,0 @@
|
||||
[Settings]
|
||||
NumFields=7
|
||||
|
||||
[Field 1]
|
||||
Type=label
|
||||
Text=Choose the type of setup you prefer, then click Next.
|
||||
Left=0
|
||||
Right=-1
|
||||
Top=0
|
||||
Bottom=10
|
||||
|
||||
[Field 2]
|
||||
Type=RadioButton
|
||||
Text=&Standard
|
||||
Left=15
|
||||
Right=-1
|
||||
Top=25
|
||||
Bottom=35
|
||||
State=1
|
||||
Flags=GROUP
|
||||
|
||||
[Field 3]
|
||||
Type=RadioButton
|
||||
Text=&Complete
|
||||
Left=15
|
||||
Right=-1
|
||||
Top=55
|
||||
Bottom=65
|
||||
State=0
|
||||
|
||||
[Field 4]
|
||||
Type=RadioButton
|
||||
Text=C&ustom
|
||||
Left=15
|
||||
Right=-1
|
||||
Top=85
|
||||
Bottom=95
|
||||
State=0
|
||||
|
||||
[Field 5]
|
||||
Type=label
|
||||
Text=Browser will be installed with the most common options.
|
||||
Left=30
|
||||
Right=-1
|
||||
Top=37
|
||||
Bottom=47
|
||||
|
||||
[Field 6]
|
||||
Type=label
|
||||
Text=Browser will be installed with all available options.
|
||||
Left=30
|
||||
Right=-1
|
||||
Top=67
|
||||
Bottom=77
|
||||
|
||||
[Field 7]
|
||||
Type=label
|
||||
Text=You may choose individual options to be installed. Recommended for experienced\nusers.
|
||||
Left=30
|
||||
Right=-1
|
||||
Top=97
|
||||
Bottom=117
|
186
toolkit/mozapps/installer/windows/nsis/preprocess-locale.pl
Executable file
186
toolkit/mozapps/installer/windows/nsis/preprocess-locale.pl
Executable file
@ -0,0 +1,186 @@
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla installer build scripts.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
my $topsrcdir = "$ARGV[0]";
|
||||
my $appLocaleDir = "$ARGV[1]";
|
||||
my $AB_CD = "$ARGV[2]";
|
||||
my $langCP = "$ARGV[3]";
|
||||
my $nsisVer = "v6";
|
||||
# Set the language ID to 0 to make this locale the default locale. An actual
|
||||
# ID will need to be used to create a multi-language installer (e.g. for CD
|
||||
# distributions, etc.).
|
||||
my $langID = 0;
|
||||
my $nsisCP = "-";
|
||||
my $fontName = "-";
|
||||
my $fontSize = "-";
|
||||
my $RTL = "-";
|
||||
my $line;
|
||||
my $lnum;
|
||||
|
||||
# Read the codepage for the locale and the optional font name, font size, and
|
||||
# whether the locale is right to left from locales.nsi.
|
||||
my $inFile = "$topsrcdir/toolkit/mozapps/installer/windows/nsis/locales.nsi";
|
||||
open(locales, "<$inFile");
|
||||
|
||||
$lnum = 1;
|
||||
while( $line = <locales> ) {
|
||||
$line =~ s/[\r\n]*//g; # remove \r and \n
|
||||
if ($line =~ m|^!define $AB_CD\_font .*|) {
|
||||
$fontName = $line;
|
||||
$fontName =~ s/^!define $AB_CD\_font[^"]*"([^"]*)".*$/$1/g;
|
||||
}
|
||||
if ($line =~ m|^!define $AB_CD\_size .*|) {
|
||||
$fontSize = $line;
|
||||
$fontSize =~ s/^!define $AB_CD\_size[^"]*"([^"]*)".*$/$1/g;
|
||||
}
|
||||
if ($line =~ m|^!define $AB_CD\_rtl|) {
|
||||
$RTL = "RTL";
|
||||
}
|
||||
$lnum++;
|
||||
}
|
||||
close locales;
|
||||
|
||||
if ($codepage != "CP1252") {
|
||||
$nsisCP = $langCP;
|
||||
$nsisCP =~ s/^CP(.*)$/$1/g;
|
||||
}
|
||||
|
||||
# Create the main NSIS language file with just the codepage, font, and
|
||||
# RTL information
|
||||
open(outfile, ">instgen/nlf.in");
|
||||
print outfile "# Header, don't edit\r\nNLF $nsisVer\r\n# Start editing here\r\n";
|
||||
print outfile "# Language ID\r\n$langID\r\n";
|
||||
print outfile "# Font and size - dash (-) means default\r\n$fontName\r\n$fontSize\r\n";
|
||||
print outfile "# Codepage - dash (-) means ANSI code page\r\n$nsisCP\r\n";
|
||||
print outfile "# RTL - anything else than RTL means LTR\r\n$RTL\r\n";
|
||||
close outfile;
|
||||
&cpConvert("nlf.in", "baseLocale.nlf", $langCP);
|
||||
|
||||
|
||||
# Create the main NSIS language file
|
||||
$inFile = "$appLocaleDir/override.properties";
|
||||
if (!-e $inFile) {
|
||||
die "Error $inFile does not exist!";
|
||||
}
|
||||
open(infile, "<$inFile");
|
||||
open(outfile, ">instgen/override.properties");
|
||||
$lnum = 1;
|
||||
while( $line = <infile> ) {
|
||||
$line =~ s/[\r\n]*//g; # remove \r and \n
|
||||
next if ($line =~ m|^#|);
|
||||
my @values = split('=', $line, 2);
|
||||
next if (@values[0] eq undef) || (@values[1] eq undef);
|
||||
my $value = @values[1];
|
||||
$value =~ s/^"(.*)"$/$1/g; # remove " at the beginning and end of the value
|
||||
$value =~ s/(")/\$\\$1/g; # prefix " with $\
|
||||
print outfile "LangString ^@values[0] $langID \"$value\"\r\n";
|
||||
$lnum++;
|
||||
}
|
||||
close infile;
|
||||
close outfile;
|
||||
&cpConvert("override.properties", "overrideLocale.nsh", $langCP);
|
||||
|
||||
|
||||
# Create the main Modern User Interface language file
|
||||
$inFile = "$appLocaleDir/mui.properties";
|
||||
if (!-e $inFile) {
|
||||
die "Error $inFile does not exist!";
|
||||
}
|
||||
open(infile, "<$inFile");
|
||||
open(outfile, ">instgen/mui.properties");
|
||||
print outfile ";NSIS Modern User Interface - Language File\r\n";
|
||||
print outfile ";Compatible with Modern UI 1.68\r\n";
|
||||
print outfile ";Language: baseLocale ($langID)\r\n";
|
||||
print outfile "!insertmacro MOZ_MUI_LANGUAGEFILE_BEGIN \"baseLocale\"\r\n";
|
||||
print outfile "!define MUI_LANGNAME \"baseLocale\"\r\n";
|
||||
|
||||
$lnum = 1;
|
||||
while( $line = <infile> ) {
|
||||
$line =~ s/[\r\n]*//g; # remove \r and \n
|
||||
next if ($line =~ m|^#|) || ($line eq "");
|
||||
my @values = split('=', $line, 2);
|
||||
next if (@values[0] eq undef) || (@values[1] eq undef);
|
||||
my $value = @values[1];
|
||||
$value =~ s/(")/\$\\$1/g; # prefix " with $\
|
||||
$value =~ s/(\\n)/\\r$1/g; # insert \\r before each occurence of \\n
|
||||
$value =~ s/(\\r)\\r/$1/g; # replace all ocurrences of \\r\\r with \\r
|
||||
print outfile "!define @values[0] \"$value\"\r\n";
|
||||
$lnum++;
|
||||
}
|
||||
print outfile "!insertmacro MOZ_MUI_LANGUAGEFILE_END\r\n";
|
||||
close infile;
|
||||
close outfile;
|
||||
&cpConvert("mui.properties", "baseLocale.nsh", $langCP);
|
||||
|
||||
|
||||
# Create the custom language file for our custom strings
|
||||
$inFile = "$appLocaleDir/custom.properties";
|
||||
if (!-e $inFile) {
|
||||
die "Error $inFile does not exist!";
|
||||
}
|
||||
open(infile, "<$inFile");
|
||||
open(outfile, ">instgen/custom.properties");
|
||||
|
||||
$lnum = 1;
|
||||
while( $line = <infile> ) {
|
||||
$line =~ s/[\r\n]*//g; # remove \r and \n
|
||||
next if ($line =~ m|^#|) || ($line eq "");
|
||||
my @values = split('=', $line, 2);
|
||||
next if (@values[0] eq undef) || (@values[1] eq undef);
|
||||
my $string = @values[1];
|
||||
$string =~ s/"/\$\\"/g; # replace " with $\"
|
||||
$string =~ s/(\\n)/\\r$1/g; # insert \\r before each occurence of \\n
|
||||
$string =~ s/(\\r)\\r/$1/g; # replace all ocurrences of \\r\\r with \\r
|
||||
$string =~ s/(\\[rn])/\$$1/g; # prefix all occurences of \\r and \\n with $
|
||||
print outfile "LangString @values[0] $langID \"$string\"\r\n";
|
||||
$lnum++;
|
||||
}
|
||||
close infile;
|
||||
close outfile;
|
||||
&cpConvert("custom.properties", "customLocale.nsh", $langCP);
|
||||
|
||||
|
||||
# Converts a file's codepage
|
||||
sub cpConvert
|
||||
{
|
||||
my $srcFile = $_[0];
|
||||
my $targetFile = $_[1];
|
||||
my $targetCodepage = $_[2];
|
||||
print "iconv -f UTF-8 -t $targetCodepage instgen/$srcFile > instgen/$targetFile\n";
|
||||
system("iconv -f UTF-8 -t $targetCodepage instgen/$srcFile > instgen/$targetFile") &&
|
||||
die "Error converting codepage to $targetCodepage for instgen/$srcFile";
|
||||
unlink <instgen/$srcFile>;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
[Settings]
|
||||
NumFields=4
|
||||
|
||||
[Field 1]
|
||||
Type=label
|
||||
Text=Create icons for Firefox:
|
||||
Left=0
|
||||
Right=-1
|
||||
Top=5
|
||||
Bottom=15
|
||||
|
||||
[Field 2]
|
||||
Type=checkbox
|
||||
Text=On my &Desktop
|
||||
Left=15
|
||||
Right=-1
|
||||
Top=20
|
||||
Bottom=30
|
||||
State=1
|
||||
Flags=GROUP
|
||||
|
||||
[Field 3]
|
||||
Type=checkbox
|
||||
Text=In my &Start Menu Programs folder
|
||||
Left=15
|
||||
Right=-1
|
||||
Top=40
|
||||
Bottom=50
|
||||
State=1
|
||||
|
||||
[Field 4]
|
||||
Type=checkbox
|
||||
Text=In my &Quick Launch bar
|
||||
Left=15
|
||||
Right=-1
|
||||
Top=60
|
||||
Bottom=70
|
||||
State=1
|
Loading…
x
Reference in New Issue
Block a user