This commit is contained in:
Florian Quèze 2009-11-19 23:51:14 +01:00
Родитель c7cda17e9e
Коммит 36aef15752
28 изменённых файлов: 1559 добавлений и 623 удалений

Просмотреть файл

@ -55,10 +55,11 @@ include $(topsrcdir)/config/rules.mk
ifeq ($(OS_ARCH),WINNT)
ifdef MOZ_INSTALLER
# For Windows build the uninstaller during the application build since the
# uninstaller is included with the application for mar file generation.
libs::
# $(MAKE) -C installer/windows uninstaller
$(MAKE) -C installer/windows uninstaller
endif
endif

Просмотреть файл

@ -56,6 +56,9 @@ ifneq (,$(filter WINNT WINCE,$(OS_ARCH)))
cp $(srcdir)/instantbird.ico $(DIST)/branding/instantbird.ico
cp $(srcdir)/instantbird.ico $(DIST)/branding/app.ico
cp $(srcdir)/branding.nsi $(DIST)/branding/branding.nsi
cp $(srcdir)/../nightly/wizHeader.bmp $(DIST)/branding/wizHeader.bmp
cp $(srcdir)/../nightly/wizHeaderRTL.bmp $(DIST)/branding/wizHeaderRTL.bmp
cp $(srcdir)/../nightly/wizWatermark.bmp $(DIST)/branding/wizWatermark.bmp
endif
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
cp $(srcdir)/instantbird.icns $(DIST)/branding/instantbird.icns

Просмотреть файл

@ -35,9 +35,7 @@
# ***** END LICENSE BLOCK *****
# NSIS defines for nightly builds.
# The release build branding.nsi is located in other-license/branding/thunderbird/
!define BrandShortName "Instantbird"
!define BrandFullName "Instantbird"
# BrandFullNameInternal is used for some registry and file system values that
# should not contain release that may be in the BrandFullName (e.g. Beta 1, etc.)
!define BrandFullNameInternal "Instantbird"

Просмотреть файл

@ -56,6 +56,9 @@ ifneq (,$(filter WINNT WINCE,$(OS_ARCH)))
cp $(srcdir)/instantbird.ico $(DIST)/branding/instantbird.ico
cp $(srcdir)/instantbird.ico $(DIST)/branding/app.ico
cp $(srcdir)/branding.nsi $(DIST)/branding/branding.nsi
cp $(srcdir)/wizHeader.bmp $(DIST)/branding/wizHeader.bmp
cp $(srcdir)/wizHeaderRTL.bmp $(DIST)/branding/wizHeaderRTL.bmp
cp $(srcdir)/wizWatermark.bmp $(DIST)/branding/wizWatermark.bmp
endif
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
cp $(srcdir)/instantbird.icns $(DIST)/branding/instantbird.icns

Просмотреть файл

@ -35,9 +35,7 @@
# ***** END LICENSE BLOCK *****
# NSIS defines for nightly builds.
# The release build branding.nsi is located in other-license/branding/thunderbird/
!define BrandShortName "Instantbird"
!define BrandFullName "Instantbird"
# BrandFullNameInternal is used for some registry and file system values that
# should not contain release that may be in the BrandFullName (e.g. Beta 1, etc.)
!define BrandFullNameInternal "Instantbird"

Двоичные данные
im/branding/nightly/wizHeader.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 25 KiB

Двоичные данные
im/branding/nightly/wizHeaderRTL.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 25 KiB

Двоичные данные
im/branding/nightly/wizWatermark.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 151 KiB

Просмотреть файл

@ -20,6 +20,7 @@
#
# Contributor(s):
# Brian Ryner <bryner@brianryner.com>
# Benjamin Smedberg <benjamin@smedbergs.us>
#
# 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
@ -43,6 +44,10 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
NO_PKG_FILES = \
$(MOZ_APP_NAME)-config \
$(MOZ_APP_NAME)-bin.elf \
nspr-config \
regchrome* \
dependentlibs.list \
IA2Marshal.dll \
js \
@ -52,8 +57,6 @@ NO_PKG_FILES = \
bloaturls.txt \
codesighs* \
elf-dynstr-gc \
instantbird-bin.elf \
instantbird-config \
mangle* \
maptsv* \
mfc* \
@ -63,10 +66,6 @@ NO_PKG_FILES = \
nm2tsv* \
nsinstall* \
regxpcom* \
res/samples \
res/throbber \
shlibsign* \
winEmbed.exe \
xpcshell* \
xpidl* \
xpt_dump* \
@ -93,12 +92,15 @@ include $(topsrcdir)/config/rules.mk
MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in
ifneq (,$(BUILD_STATIC_LIBS)$(MOZ_ENABLE_LIBXUL))
ifeq (WINNT,$(OS_ARCH))
#MOZ_PKG_MANIFEST_P = $(srcdir)/windows/packages-static
endif
ifdef MOZ_ENABLE_LIBXUL
MOZ_PKG_MANIFEST_P = $(srcdir)/windows/packages-static
else
$(error you need a "--enable-static or --enable-libxul" build to create an installer)
define message
You need to build with --enable-libxul (the default, unless you specify
--disable-libxul or --enable-shared or --enable-debug) to package a build.
endef
default libs installer::
$(error $(message))
endif
MOZ_NONLOCALIZED_PKG_LIST = \
@ -108,27 +110,56 @@ MOZ_NONLOCALIZED_PKG_LIST = \
MOZ_LOCALIZED_PKG_LIST = $(AB_CD)
DEFINES += -DAB_CD=$(AB_CD)
DEFINES += -DAB_CD=$(AB_CD) -DMOZ_APP_NAME=$(MOZ_APP_NAME) -DPREF_DIR=$(PREF_DIR)
ifdef MOZ_ENABLE_GNOME_COMPONENT
DEFINES += -DMOZ_ENABLE_GNOME_COMPONENT=1
endif
ifeq (gtk2, $(MOZ_WIDGET_TOOLKIT))
DEFINES += -DMOZ_GTK2=1
endif
ifdef NSS_DISABLE_DBM
DEFINES += -DNSS_DISABLE_DBM=1
endif
ifdef MOZ_UPDATER
DEFINES += -DMOZ_UPDATER=1
endif
ifdef MOZ_PKG_MANIFEST_P
MOZ_PKG_MANIFEST = packages-static
$(MOZ_PKG_MANIFEST): $(MOZ_PKG_MANIFEST_P)
$(PERL) $(MOZILLA_SRCDIR)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $< > $@
GARBAGE += $(MOZ_PKG_MANIFEST)
endif
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
MOZ_PKG_MAC_DSSTORE=branding/dsstore
MOZ_PKG_MAC_BACKGROUND=branding/background.png
MOZ_PKG_MAC_ICON=branding/disk.icns
#MOZ_PKG_MAC_RSRC=branding/license.r
MOZ_PKG_MAC_EXTRA=--symlink "/Applications:/ "
endif
ifndef LIBXUL_SDK
INSTALL_SDK = 1
endif
include $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/packager.mk
ifeq ($(OS_TARGET),WINCE)
ifeq (Darwin, $(OS_ARCH))
DEFINES += \
-DBINPATH=$(_BINPATH) \
-DAPPNAME=$(_APPNAME) \
$(NULL)
else
# Every other platform just winds up in dist/bin
DEFINES += -DBINPATH=bin
endif
ifeq ($(OS_TARGET),WINCE)
VSINSTALLDIR ?= $(error VSINSTALLDIR not set, must be set to the Visual Studio install directory)
UNPACKAGE = $(LIBXUL_DIST)/xulrunner*$(PKG_SUFFIX)
@ -137,9 +168,10 @@ installer: stage-package
$(NSINSTALL) -D $(DIST)/$(PKG_PATH)
cd $(DIST) && $(PYTHON) $(MOZILLA_SRCDIR)/build/package/wince/make_wince_cab.py -s "$(VSINSTALLDIR)/SmartDevices/SDK/SDKTools/cabwiz.exe" "$(MOZ_PKG_DIR)" "$(MOZ_APP_DISPLAYNAME)" "$(PKG_PATH)$(PKG_BASENAME).cab" && $(ZIP) -r9D $(PACKAGE) $(MOZ_PKG_DIR)
@echo Installer $(PKG_PATH)$(PKG_BASENAME).cab created!
else
installer: removed-files
endif
installer:: removed-files
ifdef INSTALLER_DIR
$(MAKE) -C $(INSTALLER_DIR)
endif
endif

Просмотреть файл

@ -17,7 +17,6 @@ components/i18n.dll
components/imgicon.dll
components/imglib2.dll
components/import.dll
components/mail.dll
components/mork.dll
components/mozfind.dll
components/mozldap.dll
@ -97,9 +96,6 @@ components/layout_xul.xpt
components/layout_xul_tree.xpt
components/locale.xpt
components/lwbrk.xpt
components/mailnews.xpt
components/mailview.xpt
components/mapihook.xpt
components/mime.xpt
components/mimetype.xpt
components/mozbrwsr.xpt
@ -162,7 +158,6 @@ components/xuldoc.xpt
components/xultmpl.xpt
components/downloadmanager.xpt
#endif
components/nsUnsetDefaultMail.js
components/nsBackgroundUpdateService.js
components/nsCloseAllWindows.js
components/nsDownloadProgressListener.js
@ -171,11 +166,9 @@ component.reg
chrome/installed-chrome.txt
chrome/chrome.rdf
chrome/app-chrome.manifest
chrome/mail.jar
chrome/qute.jar
chrome/offline.jar
chrome/offline.manifest
chrome/en-US-mail.jar
chrome/overlayinfo/
defaults/pref/all.js
defaults/pref/security-prefs.js
@ -187,17 +180,6 @@ defaults/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/
defaults/profile/extensions/Extensions.rdf
defaults/profile/extensions/installed-extensions.txt
defaults/profile/extensions/
defaults/messenger/SpamAssassin.sfd
defaults/messenger/SpamPal.sfd
defaults/isp/rss.rdf
defaults/isp/movemail.rdf
defaults/isp/dotmac.rdf
defaults/isp/en-US/rss.rdf
defaults/isp/en-US/movemail.rdf
defaults/isp/en-US/dotmac.rdf
defaults/isp/en-US/
defaults/isp/
isp/gmail.rdf
components/@DLL_PREFIX@xpcom_compat_c@DLL_SUFFIX@
@DLL_PREFIX@xpcom_compat@DLL_SUFFIX@

Просмотреть файл

@ -21,6 +21,8 @@
# Contributor(s):
# Brian Ryner <bryner@brianryner.com>
# Chase Phillips <cmp@mozilla.org>
# Ehsan Akhgari <ehsan.akhgari@gmail.com>
# 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
@ -47,6 +49,13 @@ include $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/package-name.mk
CONFIG_DIR = instgen
SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/instantbird/7zSD.sfx
DEFINES += -DMOZ_APP_VERSION=$(MOZ_APP_VERSION)
PRE_RELEASE_SUFFIX := $(shell $(PYTHON) $(topsrcdir)/mozilla/config/printprereleasesuffix.py $(MOZ_APP_VERSION))
DEFINES += -DPRE_RELEASE_SUFFIX="$(PRE_RELEASE_SUFFIX)"
ifdef MOZ_UPDATER
DEFINES += -DMOZ_UPDATER=1
endif
PP_LOCALIZED_FILES = \
packages-static \
@ -78,9 +87,7 @@ BRANDING_FILES = \
DEFINES += \
-DAB_CD=$(AB_CD) \
-DPKG_BASENAME=$(PKG_BASENAME) \
-DPKG_INST_BASENAME=$(PKG_INST_BASENAME) \
-DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \
-DMOZ_APP_NAME=$(MOZ_APP_NAME) \
-DMOZ_APP_DISPLAYNAME=${MOZ_APP_DISPLAYNAME} \
-DMOZILLA_VERSION=${MOZILLA_VERSION} \
$(NULL)
@ -116,7 +123,7 @@ uninstaller::
cat $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/windows/nsis/utf16-le-bom.bin - > \
$(CONFIG_DIR)/defines.nsi
$(PERL) $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.pl \
$(MOZILLA_SRCDIR) $(call EXPAND_LOCALE_SRCDIR,mail/locales)/installer $(AB_CD) \
$(MOZILLA_SRCDIR) $(call EXPAND_LOCALE_SRCDIR,instantbird/locales)/installer $(AB_CD) \
$(CONFIG_DIR)
$(CONFIG_DIR)/setup.exe::
@ -133,19 +140,20 @@ $(CONFIG_DIR)/setup.exe::
$(CONFIG_DIR)/$$i; \
done
$(INSTALL) $(addprefix $(DIST)/branding/,$(BRANDING_FILES)) $(CONFIG_DIR)
cp $(topsrcdir)/instantbird/EULA.rtf $(CONFIG_DIR)/license.rtf
$(EXIT_ON_ERROR) \
for i in $(PP_LOCALIZED_FILES); do \
$(PERL) $(MOZILLA_SRCDIR)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $(srcdir)/$$i > $(CONFIG_DIR)/$$i; \
done
ifeq ($(CONFIG_DIR),instgen)
$(PERL) $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/windows/nsis/make-installremoves.pl \
../removed-files > $(CONFIG_DIR)/removed-files.log
endif
$(PERL) $(MOZILLA_SRCDIR)/config/preprocessor.pl -Fsubstitution $(DEFINES) $(ACDEFINES) \
$(srcdir)/nsis/defines.nsi.in | iconv -f UTF-8 -t UTF-16LE | \
cat $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/windows/nsis/utf16-le-bom.bin - > \
$(CONFIG_DIR)/defines.nsi
$(PERL) $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.pl \
$(MOZILLA_SRCDIR) $(call EXPAND_LOCALE_SRCDIR,mail/locales)/installer $(AB_CD) \
$(MOZILLA_SRCDIR) $(call EXPAND_LOCALE_SRCDIR,instantbird/locales)/installer $(AB_CD) \
$(CONFIG_DIR)
include $(topsrcdir)/config/rules.mk

Просмотреть файл

@ -2,13 +2,26 @@
!define AppVersion "@MOZ_APP_VERSION@"
!define GREVersion @MOZILLA_VERSION@
!define AB_CD "@AB_CD@"
!define FileInstallerEXE "@PKG_INST_BASENAME@.exe"
!define FileInstallerMSI "@PKG_INST_BASENAME@.msi"
!define FileInstallerNETRoot "@PKG_BASENAME@.net-installer"
!define FileMainEXE "instantbird.exe"
!define FileMainEXE "@MOZ_APP_NAME@.exe"
!define WindowClass "InstantbirdMessageWindow"
!define AppRegNameIM "Instantbird"
!define AppRegName "Instantbird"
!define ClientsRegName "Instantbird"
!define MinUnsupportedVer "Microsoft Windows 2000"
!define MinSupportedVer "Microsoft Windows 2000"
!define BrandShortName "@MOZ_APP_DISPLAYNAME@"
!define PreReleaseSuffix "@PRE_RELEASE_SUFFIX@"
!define BrandFullName "${BrandFullNameInternal}${PreReleaseSuffix}"
!define NO_UNINSTALL_SURVEY
# NO_INSTDIR_FROM_REG is defined for pre-releases which have a PreReleaseSuffix
# (e.g. Alpha X, Beta X, etc.) to prevent finding a non-default installation
# directory in the registry and using that as the default. This prevents
# Beta releases built with official branding from finding an existing install
# of an official release and defaulting to its installation directory.
!if "@PRE_RELEASE_SUFFIX@" != ""
!define NO_INSTDIR_FROM_REG
!endif

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -36,22 +36,42 @@
# ***** END LICENSE BLOCK *****
!macro PostUpdate
SetShellVarContext all
${CreateShortcutsLog}
; Remove registry entries for non-existent apps and for apps that point to our
; install location in the Software\Mozilla key and uninstall registry entries
; that point to our install location for both HKCU and HKLM.
SetShellVarContext current ; Set SHCTX to HKCU
SetShellVarContext current ; Set SHCTX to the current user (e.g. HKCU)
${RegCleanMain} "Software\Mozilla"
${RegCleanUninstall}
SetShellVarContext all ; Set SHCTX to HKLM
${RegCleanMain} "Software\Mozilla"
${RegCleanUninstall}
ClearErrors
WriteRegStr HKLM "Software\Mozilla" "${BrandShortName}InstallerTest" "Write Test"
${If} ${Errors}
StrCpy $TmpVal "HKCU" ; used primarily for logging
${Else}
SetShellVarContext all ; Set SHCTX to all users (e.g. HKLM)
DeleteRegValue HKLM "Software\Mozilla" "${BrandShortName}InstallerTest"
StrCpy $TmpVal "HKLM" ; used primarily for logging
${RegCleanMain} "Software\Mozilla"
${RegCleanUninstall}
; Only update the Clients\IM registry key values if they don't exist or
; this installation is the same as the one set in those keys.
ReadRegStr $0 HKLM "Software\Clients\IM\${ClientsRegName}\DefaultIcon" ""
${GetPathFromString} "$0" $0
${GetParent} "$0" $0
${If} ${FileExists} "$0"
${GetLongPath} "$0" $0
${EndIf}
${If} "$0" == "$INSTDIR"
${SetClientsIM}
${EndIf}
${EndIf}
${RemoveDeprecatedKeys}
; Add Software\Mozilla\ registry entries
${SetAppKeys}
${SetUninstallKeys}
; Remove files that may be left behind by the application in the
@ -65,9 +85,20 @@
!macroend
!define PostUpdate "!insertmacro PostUpdate"
!macro SetAsDefaultAppGlobal
${RemoveDeprecatedKeys}
SetShellVarContext all ; Set SHCTX to all users (e.g. HKLM)
${SetClientsIM}
${ShowShortcuts}
WriteRegStr HKLM "Software\Clients\IM" "" "${ClientsRegName}"
!macroend
!define SetAsDefaultAppGlobal "!insertmacro SetAsDefaultAppGlobal"
; Removes shortcuts for this installation.
!macro HideShortcuts
StrCpy $R1 "Software\Clients\IM\${BrandFullNameInternal}\InstallInfo"
WriteRegDWORD HKLM $R1 "IconsVisible" 0
StrCpy $R1 "Software\Clients\IM\${ClientsRegName}\InstallInfo"
WriteRegDWORD HKLM "$R1" "IconsVisible" 0
SetShellVarContext all ; Set $DESKTOP to All Users
${Unless} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
SetShellVarContext current ; Set $DESKTOP to the current user's desktop
@ -76,11 +107,11 @@
${If} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
ShellLink::GetShortCutArgs "$DESKTOP\${BrandFullName}.lnk"
Pop $0
${If} $0 == ""
${If} "$0" == ""
ShellLink::GetShortCutTarget "$DESKTOP\${BrandFullName}.lnk"
Pop $0
; Needs to handle short paths
${If} $0 == "$INSTDIR\${FileMainEXE}"
${If} "$0" == "$INSTDIR\${FileMainEXE}"
Delete "$DESKTOP\${BrandFullName}.lnk"
${EndIf}
${EndIf}
@ -89,11 +120,11 @@
${If} ${FileExists} "$QUICKLAUNCH\${BrandFullName}.lnk"
ShellLink::GetShortCutArgs "$QUICKLAUNCH\${BrandFullName}.lnk"
Pop $0
${If} $0 == ""
${If} "$0" == ""
ShellLink::GetShortCutTarget "$QUICKLAUNCH\${BrandFullName}.lnk"
Pop $0
; Needs to handle short paths
${If} $0 == "$INSTDIR\${FileMainEXE}"
${If} "$0" == "$INSTDIR\${FileMainEXE}"
Delete "$QUICKLAUNCH\${BrandFullName}.lnk"
${EndIf}
${EndIf}
@ -101,9 +132,10 @@
!macroend
!define HideShortcuts "!insertmacro HideShortcuts"
; Adds shortcuts for this installation.
!macro ShowShortcuts
StrCpy $R1 "Software\Clients\IM\${BrandFullNameInternal}\InstallInfo"
WriteRegDWORD HKLM $R1 "IconsVisible" 1
StrCpy $R1 "Software\Clients\IM\${ClientsRegName}\InstallInfo"
WriteRegDWORD HKLM "$R1" "IconsVisible" 1
SetShellVarContext all ; Set $DESKTOP to All Users
${Unless} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
CreateShortCut "$DESKTOP\${BrandFullName}.lnk" "$INSTDIR\${FileMainEXE}" "" "$INSTDIR\${FileMainEXE}" 0
@ -123,70 +155,86 @@
!macroend
!define ShowShortcuts "!insertmacro ShowShortcuts"
; Adds the HKLM\Software\Clients\IM\INSTANTBIRD.EXE registry
; entries (does not use SHCTX).
;
; The values for StartMenuInternet are only valid under HKLM and there can only
; be one installation registerred under StartMenuInternet per application since
; the key name is derived from the main application executable.
; http://support.microsoft.com/kb/297878
;
; Note: we might be able to get away with using the full path to the
; application executable for the key name in order to support multiple
; installations.
!macro SetClientsIM
${GetLongPath} "$INSTDIR\${FileMainEXE}" $8
${GetLongPath} "$INSTDIR\uninstall\helper.exe" $7
StrCpy $0 "Software\Clients\IM\${ClientsRegName}"
WriteRegStr HKLM "$0" "" "${ClientsRegName}"
WriteRegStr HKLM "$0\DefaultIcon" "" "$8,0"
WriteRegStr HKLM "$0" "DLLPath" "$6"
WriteRegStr HKLM "$0\DefaultIcon" "" "$8,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
WriteRegStr HKLM "$0\InstallInfo" "HideIconsCommand" "$\"$7$\" /HideShortcuts"
WriteRegStr HKLM "$0\InstallInfo" "ShowIconsCommand" "$\"$7$\" /ShowShortcuts"
WriteRegStr HKLM "$0\InstallInfo" "ReinstallCommand" "$\"$7$\" /SetAsDefaultAppGlobal"
ClearErrors
ReadRegDWORD $1 HKLM "$0\InstallInfo" "IconsVisible"
; If the IconsVisible name value pair doesn't exist add it otherwise the
; application won't be displayed in Set Program Access and Defaults.
${If} ${Errors}
${If} ${FileExists} "$QUICKLAUNCH\${BrandFullName}.lnk"
WriteRegDWORD HKLM "$0\InstallInfo" "IconsVisible" 1
${Else}
WriteRegDWORD HKLM "$0\InstallInfo" "IconsVisible" 0
${EndIf}
${EndIf}
WriteRegStr HKLM "$0\shell\open\command" "" "$8"
; options
WriteRegStr HKLM "$0\shell\properties" "" "$(CONTEXT_OPTIONS)"
WriteRegStr HKLM "$0\shell\properties\command" "" "$\"$8$\" -preferences"
; safemode
WriteRegStr HKLM "$0\shell\safemode" "" "$(CONTEXT_SAFE_MODE)"
WriteRegStr HKLM "$0\shell\safemode\command" "" "$\"$8$\" -safe-mode"
; Vista Capabilities registry keys
WriteRegStr HKLM "$0\Capabilities" "ApplicationDescription" "$(REG_APP_DESC)"
WriteRegStr HKLM "$0\Capabilities" "ApplicationIcon" "$8,0"
WriteRegStr HKLM "$0\Capabilities" "ApplicationName" "${BrandShortName}"
; Vista Registered Application
WriteRegStr HKLM "Software\RegisteredApplications" "${AppRegName}" "$0\Capabilities"
!macroend
!define SetClientsIM "!insertmacro SetClientsIM"
; Add Software\Mozilla\ registry entries (uses SHCTX).
!macro SetAppKeys
${GetLongPath} "$INSTDIR" $8
StrCpy $0 "Software\Mozilla\${BrandFullNameInternal}\${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
SetShellVarContext all ; Set $DESKTOP to All Users
${Unless} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
SetShellVarContext current ; Set $DESKTOP to the current user's desktop
${EndUnless}
${If} ${FileExists} "$DESKTOP\${BrandFullName}.lnk"
ShellLink::GetShortCutArgs "$DESKTOP\${BrandFullName}.lnk"
Pop $1
${If} $1 == ""
ShellLink::GetShortCutTarget "$DESKTOP\${BrandFullName}.lnk"
Pop $1
; Needs to handle short paths
${If} $1 == "$INSTDIR\${FileMainEXE}"
${WriteRegDWORD2} $TmpVal "$0" "Create Desktop Shortcut" 1 0
${Else}
${WriteRegDWORD2} $TmpVal "$0" "Create Desktop Shortcut" 0 0
${EndIf}
${EndIf}
${EndIf}
; XXXrstrong - need a cleaner way to prevent unsetting SHCTX from HKLM when
; trying to find the desktop shortcut.
${If} $TmpVal == "HKCU"
SetShellVarContext current
${Else}
SetShellVarContext all
${EndIf}
${If} ${FileExists} "$QUICKLAUNCH\${BrandFullName}.lnk"
ShellLink::GetShortCutArgs "$QUICKLAUNCH\${BrandFullName}.lnk"
Pop $1
${If} $1 == ""
ShellLink::GetShortCutTarget "$QUICKLAUNCH\${BrandFullName}.lnk"
Pop $1
; Needs to handle short paths
${If} $1 == "$INSTDIR\${FileMainEXE}"
${WriteRegDWORD2} $TmpVal "$0" "Create Quick Launch Shortcut" 1 0
${Else}
${WriteRegDWORD2} $TmpVal "$0" "Create Quick Launch Shortcut" 0 0
${EndIf}
${EndIf}
${EndIf}
; XXXrstrong - "Create Start Menu Shortcut" and "Start Menu Folder" are only
; set in the installer and should also be set here for software update.
${WriteRegStr2} $TmpVal "$0" "Install Directory" "$8" 0
${WriteRegStr2} $TmpVal "$0" "PathToExe" "$8\${FileMainEXE}" 0
StrCpy $0 "Software\Mozilla\${BrandFullNameInternal}\${AppVersion} (${AB_CD})\Uninstall"
${WriteRegStr2} $TmpVal "$0" "Uninstall Log Folder" "$INSTDIR\uninstall" 0
${WriteRegStr2} $TmpVal "$0" "Description" "${BrandFullNameInternal} (${AppVersion})" 0
StrCpy $0 "Software\Mozilla\${BrandFullNameInternal}\${AppVersion} (${AB_CD})"
${WriteRegStr2} $TmpVal "$0" "" "${AppVersion} (${AB_CD})" 0
StrCpy $0 "Software\Mozilla\${BrandFullNameInternal} ${AppVersion}\bin"
${WriteRegStr2} $TmpVal "$0" "PathToExe" "$INSTDIR\${FileMainEXE}" 0
${WriteRegStr2} $TmpVal "$0" "PathToExe" "$8\${FileMainEXE}" 0
StrCpy $0 "Software\Mozilla\${BrandFullNameInternal} ${AppVersion}\extensions"
${WriteRegStr2} $TmpVal "$0" "Components" "$INSTDIR\components" 0
${WriteRegStr2} $TmpVal "$0" "Plugins" "$INSTDIR\plugins" 0
${WriteRegStr2} $TmpVal "$0" "Components" "$8\components" 0
${WriteRegStr2} $TmpVal "$0" "Plugins" "$8\plugins" 0
StrCpy $0 "Software\Mozilla\${BrandFullNameInternal} ${AppVersion}"
${WriteRegStr2} $TmpVal "$0" "GeckoVer" "${GREVersion}" 0
@ -197,22 +245,201 @@
!macroend
!define SetAppKeys "!insertmacro SetAppKeys"
; Add uninstall registry entries. This macro tests for write access to determine
; if the uninstall keys should be added to HKLM or HKCU.
!macro SetUninstallKeys
; Write the uninstall registry keys
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${BrandFullNameInternal} (${AppVersion})"
GetFullPathName $8 "$INSTDIR\${FileMainEXE}"
GetFullPathName $7 "$INSTDIR\uninstall\helper.exe"
${WriteRegStr2} $TmpVal "$0" "Comments" "${BrandFullNameInternal}" 0
${WriteRegStr2} $TmpVal "$0" "DisplayIcon" "$8,0" 0
${WriteRegStr2} $TmpVal "$0" "DisplayName" "${BrandFullNameInternal} (${AppVersion})" 0
${WriteRegStr2} $TmpVal "$0" "DisplayVersion" "${AppVersion} (${AB_CD})" 0
${WriteRegStr2} $TmpVal "$0" "InstallLocation" "$INSTDIR" 0
${WriteRegStr2} $TmpVal "$0" "Publisher" "Instantbird" 0
${WriteRegStr2} $TmpVal "$0" "UninstallString" "$7" 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
WriteRegStr HKLM "$0" "${BrandShortName}InstallerTest" "Write Test"
${If} ${Errors}
StrCpy $1 "HKCU"
SetShellVarContext current ; Set SHCTX to the current user (e.g. HKCU)
${Else}
StrCpy $1 "HKLM"
SetShellVarContext all ; Set SHCTX to all users (e.g. HKLM)
DeleteRegValue HKLM "$0" "${BrandShortName}InstallerTest"
${EndIf}
${GetLongPath} "$INSTDIR" $8
; Write the uninstall registry keys
${WriteRegStr2} $1 "$0" "Comments" "${BrandFullNameInternal}" 0
${WriteRegStr2} $1 "$0" "DisplayIcon" "$8\${FileMainEXE},0" 0
${WriteRegStr2} $1 "$0" "DisplayName" "${BrandFullNameInternal} (${AppVersion})" 0
${WriteRegStr2} $1 "$0" "DisplayVersion" "${AppVersion} (${AB_CD})" 0
${WriteRegStr2} $1 "$0" "InstallLocation" "$8" 0
${WriteRegStr2} $1 "$0" "Publisher" "Mozilla" 0
${WriteRegStr2} $1 "$0" "UninstallString" "$8\uninstall\helper.exe" 0
${WriteRegStr2} $1 "$0" "URLInfoAbout" "${URLInfoAbout}" 0
${WriteRegStr2} $1 "$0" "URLUpdateInfo" "${URLUpdateInfo}" 0
${WriteRegDWORD2} $1 "$0" "NoModify" 1 0
${WriteRegDWORD2} $1 "$0" "NoRepair" 1 0
${If} "$TmpVal" == "HKLM"
SetShellVarContext all ; Set SHCTX to all users (e.g. HKLM)
${Else}
SetShellVarContext current ; Set SHCTX to the current user (e.g. HKCU)
${EndIf}
!macroend
!define SetUninstallKeys "!insertmacro SetUninstallKeys"
; Removes various registry entries for reasons noted below (does not use SHCTX).
!macro RemoveDeprecatedKeys
; Remove the app compatibility registry key
StrCpy $0 "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
DeleteRegValue HKLM "$0" "$INSTDIR\${FileMainEXE}"
DeleteRegValue HKCU "$0" "$INSTDIR\${FileMainEXE}"
!macroend
!define RemoveDeprecatedKeys "!insertmacro RemoveDeprecatedKeys"
; Creates the shortcuts log ini file with the appropriate entries if it doesn't
; already exist.
!macro CreateShortcutsLog
${GetShortcutsLogPath} $0
${Unless} ${FileExists} "$0"
; Default to ${BrandFullName} for the Start Menu Folder
StrCpy $TmpVal "${BrandFullName}"
; Prior to Unicode installer the Start Menu directory was written to the
; registry and this value can be used to set the Start Menu directory.
ClearErrors
ReadRegStr $0 SHCTX "Software\Mozilla\${BrandFullNameInternal}\${AppVersion} (${AB_CD})\Main" "Start Menu Folder"
${If} ${Errors}
${FindSMProgramsDir} $0
${If} "$0" != ""
StrCpy $TmpVal "$0"
${EndIf}
${Else}
StrCpy $TmpVal "$0"
${EndUnless}
${LogSMProgramsDirRelPath} "$TmpVal"
${LogSMProgramsShortcut} "${BrandFullName}.lnk"
${LogSMProgramsShortcut} "${BrandFullName} ($(SAFE_MODE)).lnk"
${LogQuickLaunchShortcut} "${BrandFullName}.lnk"
${LogDesktopShortcut} "${BrandFullName}.lnk"
${EndUnless}
!macroend
!define CreateShortcutsLog "!insertmacro CreateShortcutsLog"
; The files to check if they are in use during (un)install so the restart is
; required message is displayed. All files must be located in the $INSTDIR
; directory.
!macro PushFilesToCheck
; The first string to be pushed onto the stack MUST be "end" to indicate
; that there are no more files to check in $INSTDIR and the last string
; should be ${FileMainEXE} so if it is in use the CheckForFilesInUse macro
; returns after the first check.
Push "end"
Push "AccessibleMarshal.dll"
Push "freebl3.dll"
Push "nssckbi.dll"
Push "nspr4.dll"
Push "nssdbm3.dll"
Push "sqlite3.dll"
Push "xpcom.dll"
Push "crashreporter.exe"
Push "updater.exe"
Push "xpicleanup.exe"
Push "${FileMainEXE}"
!macroend
!define PushFilesToCheck "!insertmacro PushFilesToCheck"
; Sets this installation as the default IM app by setting the registry keys
; under HKEY_CURRENT_USER via registry calls and using the AppAssocReg NSIS
; plugin for Vista and above. This is a function instead of a macro so it is
; easily called from an elevated instance of the binary. Since this can be
; called by an elevated instance logging is not performed in this function.
Function SetAsDefaultAppUserHKCU
; Only set as the user's IM app if the IM
; registry keys are for this install.
${StrFilter} "${FileMainEXE}" "+" "" "" $R9
ClearErrors
ReadRegStr $0 HKLM "Software\Clients\IM\$R9\DefaultIcon" ""
${Unless} ${Errors}
${GetPathFromString} "$0" $0
${GetParent} "$0" $0
${If} ${FileExists} "$0"
${GetLongPath} "$0" $0
${If} "$0" == "$INSTDIR"
WriteRegStr HKCU "Software\Clients\IM" "" "$R9"
${EndIf}
${EndIf}
${EndUnless}
SetShellVarContext current ; Set SHCTX to the current user (e.g. HKCU)
${If} ${AtLeastWinVista}
; Only register as the handler on Vista and above if the app registry name
; exists under the RegisteredApplications registry key. The protocol and
; file handlers set previously at the user level will associate this install
; as the default browser.
ClearErrors
ReadRegStr $0 HKLM "Software\RegisteredApplications" "${AppRegName}"
${Unless} ${Errors}
AppAssocReg::SetAppAsDefaultAll "${AppRegName}"
${EndUnless}
${EndIf}
${RemoveDeprecatedKeys}
FunctionEnd
; The !ifdef NO_LOG prevents warnings when compiling the installer.nsi due to
; this function only being used by the uninstaller.nsi.
!ifdef NO_LOG
Function SetAsDefaultAppUser
; It is only possible to set this installation of the application as the
; StartMenuInternet handler if it was added to the HKLM StartMenuInternet
; registry keys.
; http://support.microsoft.com/kb/297878
; Check if this install location registered as the StartMenuInternet client
${StrFilter} "${FileMainEXE}" "+" "" "" $R9
ClearErrors
ReadRegStr $0 HKLM "Software\Clients\IM\$R9\DefaultIcon" ""
${Unless} ${Errors}
${GetPathFromString} "$0" $0
${GetParent} "$0" $0
${If} ${FileExists} "$0"
${GetLongPath} "$0" $0
${If} "$0" == "$INSTDIR"
; Check if this is running in an elevated process
ClearErrors
${GetParameters} $0
${GetOptions} "$0" "/UAC:" $0
${If} ${Errors} ; Not elevated
Call SetAsDefaultAppUserHKCU
${Else} ; Elevated - execute the function in the unelevated process
GetFunctionAddress $0 SetAsDefaultAppUserHKCU
UAC::ExecCodeSegment $0
${EndIf}
Return ; Nothing more needs to be done
${EndIf}
${EndIf}
${EndUnless}
; The code after ElevateUAC won't be executed on Vista and above when the
; user:
; a) is a member of the administrators group (e.g. elevation is required)
; b) is not a member of the administrators group and chooses to elevate
${ElevateUAC}
${SetClientsIM}
SetShellVarContext all ; Set SHCTX to all users (e.g. HKLM)
${RemoveDeprecatedKeys}
ClearErrors
${GetParameters} $0
${GetOptions} "$0" "/UAC:" $0
${If} ${Errors}
Call SetAsDefaultAppUserHKCU
${Else}
GetFunctionAddress $0 SetAsDefaultAppUserHKCU
UAC::ExecCodeSegment $0
${EndIf}
FunctionEnd
!define SetAsDefaultAppUser "Call SetAsDefaultAppUser"
!endif

Просмотреть файл

@ -36,7 +36,9 @@
# ***** END LICENSE BLOCK *****
# Required Plugins:
# ShellLink http://nsis.sourceforge.net/ShellLink_plug-in
# AppAssocReg http://nsis.sourceforge.net/Application_Association_Registration_plug-in
# ShellLink http://nsis.sourceforge.net/ShellLink_plug-in
# UAC http://nsis.sourceforge.net/UAC_plug-in
; Set verbosity to 3 (e.g. no script) to lessen the noise in the build logs
!verbose 3
@ -47,8 +49,14 @@ SetDatablockOptimize on
SetCompress off
CRCCheck on
RequestExecutionLevel user
!addplugindir ./
; On Vista and above attempt to elevate Standard Users in addition to users that
; are a member of the Administrators group.
!define NONADMIN_ELEVATE
; prevents compiling of the reg write logging.
!define NO_LOG
@ -58,28 +66,15 @@ Var TmpVal
; The following includes are provided by NSIS.
!include FileFunc.nsh
!include LogicLib.nsh
!include TextFunc.nsh
!include WinMessages.nsh
!include WordFunc.nsh
!include MUI.nsh
!include WinMessages.nsh
!include WinVer.nsh
!include WordFunc.nsh
; WinVer.nsh was added in the same release that RequestExecutionLevel so check
; if ___WINVER__NSH___ is defined to determine if RequestExecutionLevel is
; available.
!include /NONFATAL WinVer.nsh
!ifdef ___WINVER__NSH___
RequestExecutionLevel admin
!else
!warning "Uninstaller will be created without Vista compatibility.$\n \
Upgrade your NSIS installation to at least version 2.22 to resolve."
!endif
!insertmacro WordFind
!insertmacro StrFilter
!insertmacro WordReplace
!insertmacro un.GetParent
!insertmacro un.LineFind
!insertmacro un.TrimNewLines
; The following includes are custom.
!include branding.nsi
@ -91,17 +86,29 @@ Var TmpVal
; This is named BrandShortName helper because we use this for software update
; post update cleanup.
VIAddVersionKey "FileDescription" "${BrandShortName} Helper"
VIAddVersionKey "OriginalFilename" "helper.exe"
; Most commonly used macros for managing shortcuts
!insertmacro _LoggingShortcutsCommon
!insertmacro AddHandlerValues
!insertmacro CleanVirtualStore
!insertmacro ElevateUAC
!insertmacro FindSMProgramsDir
!insertmacro GetLongPath
!insertmacro GetPathFromString
!insertmacro RegCleanMain
!insertmacro RegCleanUninstall
!insertmacro SetBrandNameVars
!insertmacro UnloadUAC
!insertmacro WriteRegDWORD2
!insertmacro WriteRegStr2
!insertmacro un.ChangeMUIHeaderImage
!insertmacro un.CheckForFilesInUse
!insertmacro un.CleanUpdatesDir
!insertmacro un.CleanVirtualStore
!insertmacro un.DeleteRelativeProfiles
!insertmacro un.DeleteShortcuts
!insertmacro un.GetLongPath
!insertmacro un.GetSecondInstallPath
!insertmacro un.ManualCloseAppPrompt
@ -109,12 +116,16 @@ VIAddVersionKey "FileDescription" "${BrandShortName} Helper"
!insertmacro un.RegCleanMain
!insertmacro un.RegCleanUninstall
!insertmacro un.RemoveQuotesFromPath
!insertmacro un.SetBrandNameVars
!include shared.nsh
; Helper macros for ui callbacks. Insert these after shared.nsh
!insertmacro OnEndCommon
!insertmacro UninstallOnInitCommon
!insertmacro un.OnEndCommon
Name "${BrandFullName}"
OutFile "helper.exe"
InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${BrandFullNameInternal} (${AppVersion})" "InstallLocation"
@ -143,22 +154,33 @@ ShowUnInstDetails nevershow
* Uninstall Pages
*/
; Welcome Page
!define MUI_PAGE_CUSTOMFUNCTION_PRE un.preWelcome
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.leaveWelcome
!insertmacro MUI_UNPAGE_WELCOME
; Uninstall Confirm Page
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.leaveConfirm
!insertmacro MUI_UNPAGE_CONFIRM
; Custom Uninstall Confirm Page
UninstPage custom un.preConfirm un.leaveConfirm
; Remove Files Page
!insertmacro MUI_UNPAGE_INSTFILES
; Finish Page
; Don't setup the survey controls, functions, etc. when the application has
; defined NO_UNINSTALL_SURVEY
!ifndef NO_UNINSTALL_SURVEY
!define MUI_PAGE_CUSTOMFUNCTION_PRE un.preFinish
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME ""
!define MUI_FINISHPAGE_SHOWREADME_TEXT $(SURVEY_TEXT)
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION un.Survey
!endif
!insertmacro MUI_UNPAGE_FINISH
; Use the default dialog for IDD_VERIFY for a simple Banner
ChangeUI IDD_VERIFY "${NSISDIR}\Contrib\UIs\default.exe"
################################################################################
# Install Sections
; Empty section required for the installer to compile as an uninstaller
@ -185,16 +207,30 @@ Section "Uninstall"
ClearErrors
${EndIf}
; Remove registry entries for non-existent apps and for apps that point to our
; install location in the Software\Mozilla key and uninstall registry entries
; that point to our install location for both HKCU and HKLM.
SetShellVarContext current ; Sets SHCTX to HKCU
${un.RegCleanMain} "Software\Mozilla"
${un.RegCleanUninstall}
${MUI_INSTALLOPTIONS_READ} $0 "unconfirm.ini" "Field 3" "State"
${If} "$0" == "1"
${un.DeleteRelativeProfiles} "Instantbird"
${EndIf}
SetShellVarContext all ; Sets SHCTX to HKLM
SetShellVarContext current ; Set SHCTX to HKCU
${un.RegCleanMain} "Software\Mozilla"
${un.RegCleanUninstall}
${un.DeleteShortcuts}
ClearErrors
WriteRegStr HKLM "Software\Mozilla" "${BrandShortName}InstallerTest" "Write Test"
${If} ${Errors}
StrCpy $TmpVal "HKCU" ; used primarily for logging
${Else}
SetShellVarContext all ; Set SHCTX to HKLM
DeleteRegValue HKLM "Software\Mozilla" "${BrandShortName}InstallerTest"
StrCpy $TmpVal "HKLM" ; used primarily for logging
${un.RegCleanMain} "Software\Mozilla"
${un.RegCleanUninstall}
${un.DeleteShortcuts}
${EndIf}
ClearErrors
SetShellVarContext all ; Set SHCTX to HKLM
${un.GetSecondInstallPath} "Software\Mozilla" $R9
@ -203,25 +239,21 @@ Section "Uninstall"
${un.GetSecondInstallPath} "Software\Mozilla" $R9
${EndIf}
StrCpy $0 "Software\Clients\IM\${BrandFullNameInternal}\shell\open\command"
StrCpy $0 "Software\Clients\IM\${FileMainEXE}\shell\open\command"
ReadRegStr $R1 HKLM "$0" ""
${un.RemoveQuotesFromPath} "$R1" $R1
${un.GetParent} "$R1" $R1
; Only remove the Clients\IM key if it refers to this
; install location. The Clients\IM is independent
; of the default app for the OS settings. The XPInstall base un-installer
; always removes these keys if it is uninstalling the default app and it
; will always replace the keys when installing even if there is another
; install of Thunderbird that is set as the
; default app. Now the keys are always updated on install but are only
; removed if they refer to this install location.
; Only remove the IM key if it refers to this install location.
; The IM registry key is independent of the default IM app
; 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 Instantbird that is set as the
; default IM app. 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\IM\${BrandFullNameInternal}"
DeleteRegValue HKLM "Software\RegisteredApplications" "${AppRegNameIM}"
DeleteRegKey HKLM "Software\Clients\IM\${FileMainEXE}"
DeleteRegValue HKLM "Software\RegisteredApplications" "${AppRegName}"
${EndIf}
StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\App Paths\${FileMainEXE}"
@ -254,6 +286,13 @@ Section "Uninstall"
Delete /REBOOTOK "$INSTDIR\removed-files"
${EndIf}
; Remove the updates directory for Vista and above
${un.CleanUpdatesDir} "Instantbird"
; Remove files that may be left behind by the application in the
; VirtualStore directory.
${un.CleanVirtualStore}
; Parse the uninstall log to unregister dll's and remove all installed
; files / directories this install is responsible for.
${un.ParseUninstallLog}
@ -264,12 +303,8 @@ Section "Uninstall"
; Remove the installation directory if it is empty
${RemoveDir} "$INSTDIR"
; Remove files that may be left behind by the application in the
; VirtualStore directory.
${un.CleanVirtualStore}
; If firefox.exe was successfully deleted yet we still need to restart to
; remove other files create a dummy firefox.exe.moz-delete to prevent the
; If instantbird.exe was successfully deleted yet we still need to restart to
; remove other files create a dummy instantbird.exe.moz-delete to prevent the
; installer from allowing an install without restart when it is required
; to complete an uninstall.
${If} ${RebootFlag}
@ -290,6 +325,13 @@ SectionEnd
################################################################################
# Helper Functions
; Don't setup the survey controls, functions, etc. when the application has
; defined NO_UNINSTALL_SURVEY
!ifndef NO_UNINSTALL_SURVEY
Function un.Survey
Exec "$\"$TmpVal$\" $\"${SurveyURL}$\""
FunctionEnd
!endif
################################################################################
# Language
@ -306,16 +348,146 @@ SectionEnd
BrandingText " "
################################################################################
# Page pre and leave functions
# Page pre, show, and leave functions
Function un.preWelcome
${If} ${FileExists} "$INSTDIR\distribution\modern-wizard.bmp"
Delete "$PLUGINSDIR\modern-wizard.bmp"
CopyFiles /SILENT "$INSTDIR\distribution\modern-wizard.bmp" "$PLUGINSDIR\modern-wizard.bmp"
${EndIf}
FunctionEnd
Function un.leaveWelcome
${If} ${FileExists} "$INSTDIR\${FileMainEXE}"
Banner::show /NOUNLOAD "$(BANNER_CHECK_EXISTING)"
; If the message window has been found previously give the app an additional
; five seconds to close.
${If} "$TmpVal" == "FoundMessageWindow"
Sleep 5000
${EndIf}
${PushFilesToCheck}
${un.CheckForFilesInUse} $TmpVal
Banner::destroy
; If there are files in use $TmpVal will be "true"
${If} "$TmpVal" == "true"
; If the message window is found the call to ManualCloseAppPrompt will
; abort leaving the value of $TmpVal set to "FoundMessageWindow".
StrCpy $TmpVal "FoundMessageWindow"
${un.ManualCloseAppPrompt} "${WindowClass}" "$(WARN_MANUALLY_CLOSE_APP_UNINSTALL)"
; If the message window is not found set $TmpVal to "true" so the restart
; required message is displayed.
StrCpy $TmpVal "true"
${EndIf}
${EndIf}
FunctionEnd
Function un.preConfirm
${If} ${FileExists} "$INSTDIR\distribution\modern-header.bmp"
${AndIf} $hHeaderBitmap == ""
Delete "$PLUGINSDIR\modern-header.bmp"
CopyFiles /SILENT "$INSTDIR\distribution\modern-header.bmp" "$PLUGINSDIR\modern-header.bmp"
${un.ChangeMUIHeaderImage} "$PLUGINSDIR\modern-header.bmp"
${EndIf}
; Setup the unconfirm.ini file for the Custom Uninstall Confirm Page
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Settings" NumFields "5"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Type "label"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Text "$(UN_CONFIRM_UNINSTALLED_FROM)"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Left "0"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Right "-1"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Top "5"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Bottom "15"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Type "text"
; The contents of this control must be set as follows in the pre function
; ${MUI_INSTALLOPTIONS_READ} $1 "unconfirm.ini" "Field 2" "HWND"
; SendMessage $1 ${WM_SETTEXT} 0 "STR:$INSTDIR"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" State ""
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Left "0"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Right "-1"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Top "17"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Bottom "30"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" flags "READONLY"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Type "checkbox"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Text "$(UN_REMOVE_PROFILES)"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Left "0"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Right "-1"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Top "40"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Bottom "50"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" State "0"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" flags "NOTIFY"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Type "text"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" State "$(UN_REMOVE_PROFILES_DESC)"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Left "0"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Right "-1"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Top "52"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Bottom "120"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" flags "MULTILINE|READONLY"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 5" Type "label"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 5" Text "$(UN_CONFIRM_CLICK)"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 5" Left "0"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 5" Right "-1"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 5" Top "130"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 5" Bottom "150"
${If} "$TmpVal" == "true"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 6" Type "label"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 6" Text "$(SUMMARY_REBOOT_REQUIRED_UNINSTALL)"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 6" Left "0"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 6" Right "-1"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 6" Top "35"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 6" Bottom "45"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Settings" NumFields "6"
; To insert this control reset Top / Bottom for controls below this one
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Top "55"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Bottom "65"
WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Top "67"
${EndIf}
!insertmacro MUI_HEADER_TEXT "$(UN_CONFIRM_PAGE_TITLE)" "$(UN_CONFIRM_PAGE_SUBTITLE)"
; The Summary custom page has a textbox that will automatically receive
; focus. This sets the focus to the Install button instead.
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "unconfirm.ini"
GetDlgItem $0 $HWNDPARENT 1
${MUI_INSTALLOPTIONS_READ} $1 "unconfirm.ini" "Field 4" "HWND"
SetCtlColors $1 0x000000 0xFFFFEE
ShowWindow $1 ${SW_HIDE}
System::Call "user32::SetFocus(i r0, i 0x0007, i,i)i"
${MUI_INSTALLOPTIONS_READ} $1 "unconfirm.ini" "Field 2" "HWND"
SendMessage $1 ${WM_SETTEXT} 0 "STR:$INSTDIR"
!insertmacro MUI_INSTALLOPTIONS_SHOW
FunctionEnd
; Checks if the app being uninstalled is running.
Function un.leaveConfirm
${MUI_INSTALLOPTIONS_READ} $0 "unconfirm.ini" "Settings" "State"
StrCmp $0 "3" +1 continue
${MUI_INSTALLOPTIONS_READ} $0 "unconfirm.ini" "Field 3" "State"
${MUI_INSTALLOPTIONS_READ} $1 "unconfirm.ini" "Field 4" "HWND"
StrCmp $0 1 +1 +3
ShowWindow $1 ${SW_SHOW}
Abort
ShowWindow $1 ${SW_HIDE}
Abort
continue:
; Try to delete the app executable and if we can't delete it try to find the
; app's message window and prompt the user to close the app. This allows
; running an instance that is located in another directory. If for whatever
; reason there is no message window we will just rename the app's files and
; then remove them on restart if they are in use.
StrCpy $TmpVal ""
ClearErrors
${DeleteFile} "$INSTDIR\${FileMainEXE}"
${If} ${Errors}
@ -323,16 +495,23 @@ Function un.leaveConfirm
${EndIf}
FunctionEnd
!ifndef NO_UNINSTALL_SURVEY
Function un.preFinish
; Do not modify the finish page if there is a reboot pending
${Unless} ${RebootFlag}
; When we add an optional action to the finish page the cancel button
; is enabled. This disables it and leaves the finish button as the
; only choice.
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "settings" "cancelenabled" "0"
!endif
; Don't display the option to take a survey on the finish page if the OS is
; Vista or above since the process will be running elevated.
${If} ${AtLeastWinVista}
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "settings" "NumFields" "3"
${Else}
; When we add an optional action to the finish page the cancel button
; is enabled. This disables it and leaves the finish button as the
; only choice.
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "settings" "cancelenabled" "0"
${EndIf}
${EndUnless}
FunctionEnd
!endif
################################################################################
# Initialization Functions
@ -342,10 +521,26 @@ Function .onInit
FunctionEnd
Function un.onInit
GetFullPathName $INSTDIR "$INSTDIR\.."
${un.GetParent} "$INSTDIR" $INSTDIR
${un.GetLongPath} "$INSTDIR" $INSTDIR
${Unless} ${FileExists} "$INSTDIR\${FileMainEXE}"
Abort
${EndUnless}
StrCpy $LANGUAGE 0
${un.SetBrandNameVars} "$INSTDIR\distribution\setup.ini"
; Initialize $hHeaderBitmap to prevent redundant changing of the bitmap if
; the user clicks the back button
StrCpy $hHeaderBitmap ""
!insertmacro InitInstallOptionsFile "unconfirm.ini"
FunctionEnd
Function .onGUIEnd
${OnEndCommon}
FunctionEnd
Function un.onGUIEnd
${un.OnEndCommon}
FunctionEnd

75
im/installer/windows/packages-static Normal file → Executable file
Просмотреть файл

@ -1,7 +1,7 @@
#filter substitution
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Base Thunderbird Package File for Win32
; Base Instantbird Package File for Win32
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[@AB_CD@]
@ -16,14 +16,21 @@ bin\nspr4.dll
bin\plc4.dll
bin\plds4.dll
bin\js3250.dll
#ifndef MOZ_MEMORY
bin\Microsoft.VC80.CRT.manifest
bin\msvcm80.dll
bin\msvcp80.dll
bin\msvcr80.dll
#else
bin\mozcrt19.dll
#endif
; Modules
bin\modules\*
; Search engines
bin\searchplugins\*.xml
[instantbird]
bin\instantbird.exe
@ -31,7 +38,6 @@ bin\application.ini
bin\platform.ini
bin\LICENSE.txt
bin\license.html
bin\README.txt
bin\sqlite3.dll
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -41,6 +47,7 @@ bin\defaults\profile\localstore.rdf
bin\defaults\profile\prefs.js
bin\defaults\profile\mimeTypes.rdf
bin\components\components.list
bin\components\xpcom_base.xpt
bin\components\xpcom_system.xpt
bin\components\xpcom_components.xpt
@ -56,17 +63,33 @@ bin\chrome\pippki.jar
bin\chrome\pippki.manifest
bin\chrome\instantbird.jar
bin\chrome\instantbird.manifest
bin\chrome\icons\default\blistWindow.ico
bin\chrome\icons\default\convWindow.ico
bin\chrome\icons\default\default.ico
bin\extensions\{972ce4c6-7e08-4474-a285-3208198ce6fd}\install.rdf
bin\components\purpleloader.dll
bin\libraries\xml2.dll
bin\libraries\glib.dll
bin\libraries\purple.dll
bin\libraries\purplexpcom.dll
bin\libraries\prpl\*.dll
; [libpurple]
bin\xml2.dll
bin\glib.dll
bin\purple.dll
bin\components\purplexpcom.dll
bin\components\purplexpcom.xpt
bin\components\gg.dll
bin\components\irc.dll
bin\components\jabber.dll
bin\components\msn.dll
bin\components\myspace.dll
bin\components\netsoul.dll
bin\components\novell.dll
bin\components\oscar.dll
bin\components\qq.dll
bin\components\simple.dll
bin\components\yahoo.dll
bin\components\profileMigrator.js
bin\components\autoLoginHandler.js
bin\components\gtalkOverrideProtocol.js
bin\components\smileProtocolHandler.js
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Chrome Files
@ -87,6 +110,14 @@ bin\greprefs\*
; App extensions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; login manager
bin\components\loginmgr.xpt
bin\components\nsLoginInfo.js
bin\components\nsLoginManager.js
bin\components\nsLoginManagerPrompter.js
bin\components\storage-Legacy.js
bin\components\storage-mozStorage.js
; download progress
bin\components\nsHelperAppDlg.js
bin\components\nsDownloadManagerUI.js
@ -172,6 +203,11 @@ bin\components\toolkitprofile.xpt
bin\components\appstartup.xpt
bin\components\commandlines.xpt
bin\components\chrome.xpt
bin\components\nsDefaultCLH.js
bin\components\nsFormAutoComplete.js
bin\components\toolkitsearch.xpt
bin\components\nsSearchService.js
bin\components\nsSearchSuggestions.js
; rdf
bin\components\rdf.xpt
@ -200,6 +236,8 @@ bin\components\dom_views.xpt
bin\components\dom_xbl.xpt
bin\components\dom_xul.xpt
bin\components\dom_loadsave.xpt
bin\components\NetworkGeolocationProvider.js
bin\components\GPSDGeolocationProvider.js
; editor / composer for HTML compose
bin\components\editor.xpt
@ -229,8 +267,11 @@ bin\components\nsProxyAutoConfig.js
bin\components\nsAddonRepository.js
bin\components\nsExtensionManager.js
bin\components\nsBlocklistService.js
#ifdef MOZ_UPDATER
bin\components\nsUpdateService.js
bin\components\nsPostUpdateWin.js
bin\components\nsUpdateServiceStub.js
#endif
bin\components\nsUpdateTimerManager.js
bin\components\extensions.xpt
bin\components\update.xpt
#ifdef MOZ_WEBSERVICES
@ -238,6 +279,7 @@ bin\components\websrvcs.xpt
#endif
bin\components\nsURLFormatter.js
bin\components\urlformatter.xpt
bin\components\nsContentPrefService.js
; plugins
bin\components\plugin.xpt
@ -256,9 +298,11 @@ bin\freebl3.chk
bin\freebl3.dll
bin\ssl3.dll
bin\nssckbi.dll
bin\nssdbm3.chk
bin\nssdbm3.dll
; core platform files
bin\components\FeedProcessor.js
bin\components\autocomplete.xpt
bin\components\alerts.xpt
bin\components\jsdservice.xpt
@ -284,13 +328,13 @@ bin\components\txEXSLTRegExFunctions.js
bin\components\feeds.xpt
bin\components\saxparser.xpt
bin\components\zipwriter.xpt
bin\components\nsBadCertHandler.js
bin\res\hiddenWindow.html
bin\res\ua.css
bin\res\html.css
bin\res\quirk.css
bin\res\forms.css
bin\res\mathml.css
bin\res\viewsource.css
bin\res\contenteditable.css
bin\res\designmode.css
@ -301,9 +345,9 @@ bin\res\language.properties
bin\res\wincharset.properties
bin\res\entityTables\*
bin\res\dtd\xhtml11.dtd
bin\res\dtd\mathml.dtd
bin\res\fonts\*
bin\res\broken-image.gif
bin\res\broken-image.png
bin\res\loading-image.png
bin\res\html\folder.png
; editor resource files
@ -328,14 +372,17 @@ bin\res\table-remove-row-active.gif
bin\res\table-remove-row-hover.gif
bin\res\table-remove-row.gif
#ifdef MOZ_SVG
; svg
bin\res\svg.css
bin\components\dom_svg.xpt
#endif
; [Updater]
bin\updater.exe
bin\update.locale
bin\updater.ini
; [Uninstall]
bin\uninstall\helper.exe
; [crash reporter]
bin\crashreporter.exe

Двоичные данные
im/installer/windows/wizHeader.bmp

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 25 KiB

Двоичные данные
im/installer/windows/wizHeaderRTL.bmp

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 25 KiB

Двоичные данные
im/installer/windows/wizWatermark.bmp

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 151 KiB

Просмотреть файл

@ -0,0 +1,115 @@
# ***** 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, $BrandFullName, or $BrandFullNameDA with a
# custom string and always use the same one as used by the en-US files.
# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
# for double ampersand) and prevents the letter following the ampersand from
# 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.
REG_APP_DESC=$BrandShortName is an easy to use instant messaging application. It connects to all the famous IM networks.
CONTEXT_OPTIONS=$BrandShortName &Options
CONTEXT_SAFE_MODE=$BrandShortName &Safe Mode
SAFE_MODE=Safe Mode
OPTIONS_PAGE_TITLE=Setup Type
OPTIONS_PAGE_SUBTITLE=Choose setup options
OPTIONS_MAKE_DEFAULT=&Use $BrandShortName as my default instant messaging client
SHORTCUTS_PAGE_TITLE=Set Up Shortcuts
SHORTCUTS_PAGE_SUBTITLE=Create Program Icons
SUMMARY_PAGE_TITLE=Summary
SUMMARY_PAGE_SUBTITLE=Ready to start installing $BrandShortName
SUMMARY_INSTALLED_TO=$BrandShortName will be installed to the following location:
SUMMARY_REBOOT_REQUIRED_INSTALL=A restart of your computer may be required to complete the installation.
SUMMARY_REBOOT_REQUIRED_UNINSTALL=A restart of your computer may be required to complete the uninstall.
SUMMARY_TAKE_DEFAULTS=U&se $BrandShortName as my default instant messaging client
SUMMARY_INSTALL_CLICK=Click Install to continue.
SUMMARY_UPGRADE_CLICK=Click Upgrade to continue.
SURVEY_TEXT=&Tell us what you thought of $BrandShortName
LAUNCH_TEXT=&Launch $BrandShortName now
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
WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName must be closed to proceed with the installation.\n\nPlease close $BrandShortName to continue.
WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName must be closed to proceed with the uninstall.\n\nPlease close $BrandShortName to continue.
WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName is already running.\n\nPlease close $BrandShortName prior to launching the version you have just installed.
WARN_WRITE_ACCESS=You don't have access to write to the installation directory.\n\nClick OK to select a different directory.
WARN_DISK_SPACE=You don't have sufficient disk space to install to this location.\n\nClick OK to select a different location.
WARN_MIN_SUPPORTED_OS_MSG=Sorry, $BrandShortName can't be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer.
WARN_RESTART_REQUIRED_UNINSTALL=Your computer must be restarted to complete a previous uninstall of $BrandShortName. Do you want to reboot now?
WARN_RESTART_REQUIRED_UPGRADE=Your computer must be restarted to complete a previous upgrade of $BrandShortName. Do you want to reboot now?
ERROR_CREATE_DIRECTORY_PREFIX=Error creating directory:
ERROR_CREATE_DIRECTORY_SUFFIX=Click Cancel to stop the installation or\nRetry to try again.
UN_CONFIRM_PAGE_TITLE=Uninstall $BrandFullName
UN_CONFIRM_PAGE_SUBTITLE=Remove $BrandFullName from your computer.
UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName will be uninstalled from the following location:
UN_CONFIRM_CLICK=Click Uninstall to continue.
UN_REMOVE_PROFILES=&Remove my $BrandShortName personal data and customizations
UN_REMOVE_PROFILES_DESC=This will permanently remove your bookmarks, saved passwords, cookies and customizations. You may wish to keep this information if you plan on installing another version of $BrandShortName in the future.
BANNER_CHECK_EXISTING=Checking existing installation…
STATUS_INSTALL_APP=Installing $BrandShortName…
STATUS_INSTALL_LANG=Installing Language Files (${AB_CD})…
STATUS_UNINSTALL_MAIN=Uninstalling $BrandShortName…
STATUS_CLEANUP=A Little Housekeeping…
# _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
# Two lines
OPTION_CUSTOM_DESC=You may choose individual options to be installed. Recommended for experienced users.
OPTION_CUSTOM_RADIO=&Custom
# LOCALIZATION NOTE:
# The following text replaces the Install button text on the summary page.
# Verify that the access key for InstallBtn (in override.properties) and
# UPGRADE_BUTTON is not already used by SUMMARY_TAKE_DEFAULTS.
UPGRADE_BUTTON=&Upgrade

Просмотреть файл

@ -0,0 +1,93 @@
# ***** 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 $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
# custom string and always use the same one as used by the en-US files.
# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
# for double ampersand) and prevents the letter following the ampersand from
# 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 $BrandFullNameDA Setup Wizard
MUI_TEXT_WELCOME_INFO_TEXT=This wizard will guide you through the installation of $BrandFullNameDA.\n\n$_CLICK
MUI_TEXT_COMPONENTS_TITLE=Choose Components
MUI_TEXT_COMPONENTS_SUBTITLE=Choose which features of $BrandFullNameDA 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 $BrandFullNameDA.
MUI_TEXT_INSTALLING_TITLE=Installing
MUI_TEXT_INSTALLING_SUBTITLE=Please wait while $BrandFullNameDA 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 $BrandFullNameDA Setup Wizard
MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA 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 $BrandFullNameDA. 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 $BrandFullNameDA 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 $BrandFullName Setup?
MUI_UNTEXT_WELCOME_INFO_TITLE=Welcome to the $BrandFullNameDA Uninstall Wizard
MUI_UNTEXT_WELCOME_INFO_TEXT=This wizard will guide you through the uninstallation of $BrandFullNameDA.\n\nBefore starting the uninstallation, make sure $BrandFullNameDA is not running.\n\n$_CLICK
MUI_UNTEXT_CONFIRM_TITLE=Uninstall $BrandFullNameDA
MUI_UNTEXT_CONFIRM_SUBTITLE=Remove $BrandFullNameDA from your computer.
MUI_UNTEXT_UNINSTALLING_TITLE=Uninstalling
MUI_UNTEXT_UNINSTALLING_SUBTITLE=Please wait while $BrandFullNameDA 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 $BrandFullNameDA Uninstall Wizard
MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA 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 $BrandFullNameDA. Do you want to reboot now?
MUI_UNTEXT_ABORTWARNING=Are you sure you want to quit $BrandFullName Uninstall?

Просмотреть файл

@ -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 $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
# custom string and always use the same one as used by the en-US files.
# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
# for double ampersand) and prevents the letter following the ampersand from
# 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 string enclose the string with an additional double quote at the
# beginning and the end of the string (e.g. ""This will include quotes"").
SetupCaption=$BrandFullName Setup
UninstallCaption=$BrandFullName 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 $BrandFullNameDA. 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 $BrandFullNameDA 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 $BrandFullNameDA in:
SpaceAvailable="Space available: "
SpaceRequired="Space required: "
UninstallingText=$BrandFullNameDA 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

Двоичные данные
other-licenses/7zstub/instantbird/7zSD.sfx Executable file

Двоичный файл не отображается.

Просмотреть файл

@ -56,6 +56,9 @@ ifneq (,$(filter WINNT WINCE,$(OS_ARCH)))
cp $(srcdir)/instantbird.ico $(DIST)/branding/instantbird.ico
cp $(srcdir)/instantbird.ico $(DIST)/branding/app.ico
cp $(srcdir)/branding.nsi $(DIST)/branding/branding.nsi
cp $(srcdir)/wizHeader.bmp $(DIST)/branding/wizHeader.bmp
cp $(srcdir)/wizHeaderRTL.bmp $(DIST)/branding/wizHeaderRTL.bmp
cp $(srcdir)/wizWatermark.bmp $(DIST)/branding/wizWatermark.bmp
endif
ifdef MOZ_SPLASHSCREEN
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)

Просмотреть файл

@ -34,10 +34,8 @@
#
# ***** END LICENSE BLOCK *****
# NSIS defines for nightly builds.
# The release build branding.nsi is located in other-license/branding/thunderbird/
!define BrandShortName "Instantbird"
!define BrandFullName "Instantbird"
# NSIS defines for release builds.
# BrandFullNameInternal is used for some registry and file system values that
# should not contain release that may be in the BrandFullName (e.g. Beta 1, etc.)
!define BrandFullNameInternal "Instantbird"

Двоичные данные
other-licenses/branding/instantbird/wizHeader.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 25 KiB

Двоичные данные
other-licenses/branding/instantbird/wizHeaderRTL.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 25 KiB

Двоичные данные
other-licenses/branding/instantbird/wizWatermark.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 151 KiB