mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-11 01:59:58 +00:00
Rename directory: app -> bridge
This commit is contained in:
153
bridge/packaging/win/installer.nsi
Normal file
153
bridge/packaging/win/installer.nsi
Normal file
@@ -0,0 +1,153 @@
|
||||
Unicode True
|
||||
SetCompressor /SOLID LZMA
|
||||
|
||||
# Registry keys
|
||||
!define KEY_MANIFEST "Software\Mozilla\NativeMessagingHosts\{{applicationName}}"
|
||||
!define KEY_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\{{winRegistryKey}}"
|
||||
|
||||
|
||||
!include MUI2.nsh
|
||||
|
||||
# Save installer language for uninstallation
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT HKLM
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${KEY_MANIFEST}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
|
||||
|
||||
# MUI general
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
# Installer pages
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_LICENSE "{{{licensePath}}}"
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
# Uninstaller pages
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
|
||||
# Translator note: see CONTRIBUTING for more info on how to
|
||||
# translate NSIS installer strings.
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
|
||||
# lang:en
|
||||
LangString MSG__INSTALL_BONJOUR ${LANG_ENGLISH} \
|
||||
"Install Bonjour dependency?"
|
||||
LangString MSG__FIREFOX_OPEN ${LANG_ENGLISH} \
|
||||
"Firefox must be closed during uninstallation if the extension is \
|
||||
installed. Close Firefox and click $\"Retry$\", click $\"Ignore$\" \
|
||||
to force close or $\"Abort$\" to cancel uninstallation."
|
||||
|
||||
# lang:es
|
||||
LangString MSG__INSTALL_BONJOUR ${LANG_SPANISH} \
|
||||
"¿Instalar dependencia Bonjour?"
|
||||
LangString MSG__FIREFOX_OPEN ${LANG_SPANISH} \
|
||||
"Firefox debe estar cerrado durante la desinstalación si la extensión \
|
||||
está instalada. Cierra Firefox y aprieta $\"Reintentar$\", aprieta \
|
||||
$\"Omitir$\" para forzar el cierre o $\"Anular$\" para cancelar la \
|
||||
desinstalación."
|
||||
|
||||
# lang:de
|
||||
LangString MSG__INSTALL_BONJOUR ${LANG_GERMAN} \
|
||||
"Bonjour installieren?"
|
||||
LangString MSG__FIREFOX_OPEN ${LANG_GERMAN} \
|
||||
"Firefox muss während der Deinstallation geschlossen werden, wenn die \
|
||||
Erweiterung installiert ist. Schließen Sie Firefox und klicken Sie auf \
|
||||
$\"Wiederholen$\", klicken Sie auf $\"Ignorieren$\". um das Schließen \
|
||||
zu erzwingen oder $\"Abbrechen$\", um die Deinstallation abzubrechen."
|
||||
|
||||
|
||||
# Application name
|
||||
Name "{{applicationName}} v{{applicationVersion}}"
|
||||
|
||||
OutFile "{{outputName}}" # Installer filename
|
||||
InstallDir "{{executablePath}}" # Installation directory
|
||||
|
||||
# Version info
|
||||
VIProductVersion "{{applicationVersion}}.0"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "{{applicationName}}"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© {{{registryPublisher}}}"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "{{applicationName}}"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "{{applicationVersion}}"
|
||||
|
||||
# Need admin privileges for global install
|
||||
RequestExecutionLevel admin
|
||||
|
||||
Section
|
||||
SetRegView 64
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
# Main executable
|
||||
File "{{executableName}}"
|
||||
File "{{bindingName}}"
|
||||
File "{{manifestName}}"
|
||||
|
||||
# Install Bonjour
|
||||
IfFileExists "$SYSDIR\dnssd.dll" skipInstallBonjour
|
||||
MessageBox MB_YESNO \
|
||||
$(MSG__INSTALL_BONJOUR) \
|
||||
IDNO skipInstallBonjour
|
||||
|
||||
${If} ${ARCH} == "x86"
|
||||
File /oname=Bonjour.msi "C:\Program Files\Bonjour SDK\Installer\Bonjour.msi"
|
||||
${ElseIf} ${ARCH} == "x64"
|
||||
File /oname=Bonjour.msi "C:\Program Files\Bonjour SDK\Installer\Bonjour64.msi"
|
||||
${EndIf}
|
||||
|
||||
ExecWait "msiexec /i $\"$INSTDIR\Bonjour.msi$\""
|
||||
|
||||
skipInstallBonjour:
|
||||
Delete "$INSTDIR\Bonjour.msi"
|
||||
|
||||
# Native manifest key
|
||||
WriteRegStr HKLM "${KEY_MANIFEST}" "" "$INSTDIR\{{manifestName}}"
|
||||
|
||||
# Create and register uninstaller
|
||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||||
WriteRegStr HKLM ${KEY_UNINSTALL} DisplayName "{{applicationName}}"
|
||||
WriteRegStr HKLM ${KEY_UNINSTALL} DisplayVersion "{{applicationVersion}}"
|
||||
WriteRegStr HKLM ${KEY_UNINSTALL} Publisher "{{{registryPublisher}}}"
|
||||
WriteRegStr HKLM ${KEY_UNINSTALL} URLInfoAbout "{{{registryUrlInfoAbout}}}"
|
||||
WriteRegStr HKLM ${KEY_UNINSTALL} InstallLocation "$\"$INSTDIR$\""
|
||||
WriteRegStr HKLM ${KEY_UNINSTALL} UninstallString "$\"$INSTDIR\uninstall.exe$\""
|
||||
WriteRegStr HKLM ${KEY_UNINSTALL} QuietUninstallString "$\"$INSTDIR\uninstall.exe$\" /S"
|
||||
WriteRegDWORD HKLM ${KEY_UNINSTALL} NoModify 1
|
||||
WriteRegDWORD HKLM ${KEY_UNINSTALL} NoRepair 1
|
||||
SectionEnd
|
||||
|
||||
Section "uninstall"
|
||||
SetRegView 64
|
||||
|
||||
retryUninstall:
|
||||
FindWindow $0 "MozillaWindowClass"
|
||||
StrCmp $0 0 continueUninstall
|
||||
MessageBox MB_ABORTRETRYIGNORE|MB_ICONEXCLAMATION \
|
||||
$(MSG__FIREFOX_OPEN) \
|
||||
IDABORT abortUninstall \
|
||||
IDRETRY retryUninstall
|
||||
|
||||
ExecWait "taskkill /f /im firefox.exe /t"
|
||||
Goto continueUninstall
|
||||
|
||||
abortUninstall:
|
||||
Abort
|
||||
|
||||
continueUninstall:
|
||||
|
||||
ExecWait "taskkill /f /im '{{executableName}}'"
|
||||
|
||||
# Remove uninstaller
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
DeleteRegKey HKLM ${KEY_UNINSTALL}
|
||||
|
||||
# Remove manifest and executable dir
|
||||
DeleteRegKey HKLM ${KEY_MANIFEST}
|
||||
Delete "$INSTDIR\{{executableName}}"
|
||||
Delete "$INSTDIR\{{bindingName}}"
|
||||
Delete "$INSTDIR\{{manifestName}}"
|
||||
RMDir $INSTDIR
|
||||
SectionEnd
|
||||
Reference in New Issue
Block a user