Windows installer.
|
@ -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"
|
||||
|
|
После Ширина: | Высота: | Размер: 25 KiB |
После Ширина: | Высота: | Размер: 25 KiB |
После Ширина: | Высота: | Размер: 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
|
||||
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}
|
||||
|
||||
; Add Software\Mozilla\ registry entries
|
||||
; 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}
|
||||
|
||||
${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"
|
||||
|
||||
!macro SetAppKeys
|
||||
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}
|
||||
; 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
|
||||
|
||||
${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}
|
||||
StrCpy $0 "Software\Clients\IM\${ClientsRegName}"
|
||||
|
||||
; 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}
|
||||
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"
|
||||
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
|
||||
WriteRegDWORD HKLM "$0\InstallInfo" "IconsVisible" 1
|
||||
${Else}
|
||||
${WriteRegDWORD2} $TmpVal "$0" "Create Quick Launch Shortcut" 0 0
|
||||
WriteRegDWORD HKLM "$0\InstallInfo" "IconsVisible" 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.
|
||||
|
||||
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" "$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:
|
||||
# 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}
|
||||
; 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
|
||||
${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
|
||||
|
|
|
@ -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
|
|
@ -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"
|
||||
|
|
После Ширина: | Высота: | Размер: 25 KiB |
После Ширина: | Высота: | Размер: 25 KiB |
После Ширина: | Высота: | Размер: 151 KiB |