mirror of
https://github.com/zealdocs/zeal.git
synced 2024-11-23 14:26:12 +03:00
994cc5f6b6
Fixes #979.
236 lines
12 KiB
XML
236 lines
12 KiB
XML
<?xml version="1.0" encoding="windows-1252"?>
|
|
|
|
<?ifndef AppVersion ?>
|
|
<?error AppVersion must be set ?>
|
|
<?endif?>
|
|
|
|
<?ifndef AppPackageDir ?>
|
|
<?error AppPackageDir must be set ?>
|
|
<?endif?>
|
|
|
|
<?ifndef CompressionLevel ?>
|
|
<?define CompressionLevel="high" ?>
|
|
<?endif?>
|
|
|
|
<?ifndef VCRedistPath ?>
|
|
<?error VCRedistPath must be set ?>
|
|
<?endif?>
|
|
|
|
<?ifndef VCRedistFile ?>
|
|
<?error VCRedistFile must be set ?>
|
|
<?endif?>
|
|
|
|
<?define AppName="Zeal" ?>
|
|
<?define AppManufacturer="Oleg Shparber" ?>
|
|
<?define AppExeName="zeal.exe" ?>
|
|
|
|
<?define UpgradeCode="5C4B6030-A1B4-4EFE-A5AF-28F6FA2E7978" ?>
|
|
|
|
<?if $(sys.BUILDARCH)="x86"?>
|
|
<?define PlatformProgramFilesFolder="ProgramFilesFolder" ?>
|
|
<?elseif $(sys.BUILDARCH)="x64"?>
|
|
<?define PlatformProgramFilesFolder="ProgramFiles64Folder" ?>
|
|
<?else ?>
|
|
<?error Unsupported value of sys.BUILDARCH=$(sys.BUILDARCH) ?>
|
|
<?endif ?>
|
|
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
<Product Id="*" Name="$(var.AppName) $(var.AppVersion)" Version="$(var.AppVersion)"
|
|
Manufacturer="$(var.AppManufacturer)" UpgradeCode="$(var.UpgradeCode)"
|
|
Language="1033" Codepage="1252">
|
|
|
|
<Package Id="*" Description="$(var.AppName) $(var.AppVersion) Installer"
|
|
Languages="1033" Compressed="yes" SummaryCodepage="1252"
|
|
InstallerVersion="301" />
|
|
|
|
<MajorUpgrade
|
|
DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." />
|
|
|
|
<Upgrade Id="$(var.UpgradeCode)">
|
|
<UpgradeVersion Minimum="$(var.AppVersion)" IncludeMinimum="yes"
|
|
Maximum="$(var.AppVersion)" IncludeMaximum="yes"
|
|
OnlyDetect="yes" Property="CURRENTVERSIONDETECTED" />
|
|
</Upgrade>
|
|
|
|
<MediaTemplate CompressionLevel="$(var.CompressionLevel)" EmbedCab="yes" />
|
|
|
|
<Icon Id="$(var.AppExeName)" SourceFile="$(var.AppPackageDir)\$(var.AppExeName)" />
|
|
<Property Id="ARPPRODUCTICON" Value="$(var.AppExeName)" />
|
|
<Property Id="ARPURLINFOABOUT" Value="https://zealdocs.org" />
|
|
<Property Id="ARPHELPLINK" Value="https://go.zealdocs.org/l/support" />
|
|
<Property Id="ARPURLUPDATEINFO" Value="https://go.zealdocs.org/r/v$(var.AppVersion)" />
|
|
|
|
<!-- Features -->
|
|
<Feature Id="App" Title="$(var.AppName)" Level="1" Absent="disallow"
|
|
Description="Provides $(var.AppName) executable.">
|
|
<ComponentGroupRef Id="Binaries" />
|
|
<ComponentGroupRef Id="Binaries_Imageformats" />
|
|
<ComponentGroupRef Id="Binaries_Platforms" />
|
|
<ComponentGroupRef Id="Binaries_Resources" />
|
|
<ComponentGroupRef Id="Binaries_Styles" />
|
|
<ComponentGroupRef Id="Binaries_Translations_QtWE" />
|
|
<ComponentRef Id="ProgramMenuDir" />
|
|
</Feature>
|
|
|
|
<Feature Id="Protocol" Title="Plugin Support" Level="1"
|
|
Description="Provides dash:// and dash-plugin:// protocol handlers.">
|
|
<ComponentRef Id="ProtocolHandlers" />
|
|
</Feature>
|
|
|
|
<Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden">
|
|
<MergeRef Id="VCRedist" />
|
|
</Feature>
|
|
|
|
<!-- Directory Structure -->
|
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
<Merge Id="VCRedist" SourceFile="$(var.VCRedistPath)\$(var.VCRedistFile)" DiskId="1" Language="0" />
|
|
|
|
<Directory Id="$(var.PlatformProgramFilesFolder)">
|
|
<Directory Id="APPLICATIONFOLDER" Name="$(var.AppName)">
|
|
<Directory Id="APPLICATIONFOLDER_IMAGEFORMATS" Name="imageformats" />
|
|
<Directory Id="APPLICATIONFOLDER_PLATFORMS" Name="platforms" />
|
|
<Directory Id="APPLICATIONFOLDER_RESOURCES" Name="resources" />
|
|
<Directory Id="APPLICATIONFOLDER_STYLES" Name="styles" />
|
|
<Directory Id="APPLICATIONFOLDER_TRANSLATIONS" Name="translations">
|
|
<Directory Id="APPLICATIONFOLDER_TRANSLATIONS_QTWE" Name="qtwebengine_locales" />
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<Directory Id="ProgramMenuFolder">
|
|
<Directory Id="ProgramMenuDir" Name="$(var.AppName)" />
|
|
</Directory>
|
|
|
|
<Directory Id="DesktopFolder" />
|
|
</Directory>
|
|
|
|
<!-- Components -->
|
|
<ComponentGroup Id="Binaries" Directory="APPLICATIONFOLDER" Source="$(var.AppPackageDir)">
|
|
|
|
<!-- Direct dependencies -->
|
|
<Component><File Name="archive.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="sqlite3.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="zlib1.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
|
|
<!-- OpenSSL -->
|
|
<?if $(sys.BUILDARCH)="x86"?>
|
|
<Component><File Name="libcrypto-1_1.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="libssl-1_1.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<?elseif $(sys.BUILDARCH)="x64"?>
|
|
<Component><File Name="libcrypto-1_1-x64.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="libssl-1_1-x64.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<?endif ?>
|
|
|
|
<!-- Qt -->
|
|
<Component><File Name="Qt5Concurrent.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Core.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Gui.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Network.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Positioning.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5PrintSupport.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Qml.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5QmlModels.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Quick.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5QuickWidgets.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5SerialPort.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Svg.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5WebChannel.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5WebEngineCore.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5WebEngineWidgets.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="Qt5Widgets.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
|
|
<Component><File Name="d3dcompiler_47.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="libEGL.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="libGLESv2.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
|
|
<Component><File Name="QtWebEngineProcess.exe" Checksum="yes" KeyPath="yes" /></Component>
|
|
|
|
<!-- Executable -->
|
|
<Component>
|
|
<File Name="$(var.AppExeName)" Checksum="yes" KeyPath="yes">
|
|
<Shortcut Id="StartMenuShortcut" Directory="ProgramMenuDir" Name="$(var.AppName)"
|
|
WorkingDirectory="APPLICATIONFOLDER" Icon="$(var.AppExeName)" IconIndex="0" Advertise="yes" />
|
|
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="$(var.AppName)"
|
|
WorkingDirectory="APPLICATIONFOLDER" Icon="$(var.AppExeName)" IconIndex="0" Advertise="yes" />
|
|
</File>
|
|
</Component>
|
|
<Component><File Name="$(var.AppExeName).manifest" Checksum="yes" KeyPath="yes" /></Component>
|
|
</ComponentGroup>
|
|
|
|
<ComponentGroup Id="Binaries_Imageformats" Directory="APPLICATIONFOLDER_IMAGEFORMATS" Source="$(var.AppPackageDir)\imageformats">
|
|
<Component><File Name="qgif.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="qico.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="qjpeg.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="qsvg.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
</ComponentGroup>
|
|
|
|
<ComponentGroup Id="Binaries_Platforms" Directory="APPLICATIONFOLDER_PLATFORMS" Source="$(var.AppPackageDir)\platforms">
|
|
<Component><File Name="qwindows.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
</ComponentGroup>
|
|
|
|
<ComponentGroup Id="Binaries_Resources" Directory="APPLICATIONFOLDER_RESOURCES" Source="$(var.AppPackageDir)\resources">
|
|
<Component><File Name="icudtl.dat" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="qtwebengine_devtools_resources.pak" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="qtwebengine_resources.pak" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="qtwebengine_resources_100p.pak" Checksum="yes" KeyPath="yes" /></Component>
|
|
<Component><File Name="qtwebengine_resources_200p.pak" Checksum="yes" KeyPath="yes" /></Component>
|
|
</ComponentGroup>
|
|
|
|
<ComponentGroup Id="Binaries_Styles" Directory="APPLICATIONFOLDER_STYLES" Source="$(var.AppPackageDir)\styles">
|
|
<Component><File Name="qwindowsvistastyle.dll" Checksum="yes" KeyPath="yes" /></Component>
|
|
</ComponentGroup>
|
|
|
|
<ComponentGroup Id="Binaries_Translations_QtWE" Directory="APPLICATIONFOLDER_TRANSLATIONS_QTWE" Source="$(var.AppPackageDir)\translations\qtwebengine_locales">
|
|
<Component><File Name="en-US.pak" Checksum="yes" KeyPath="yes" /></Component>
|
|
</ComponentGroup>
|
|
|
|
<Component Id="ProgramMenuDir" Directory="ProgramMenuDir">
|
|
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
|
|
<RegistryValue Root="HKCU" Key="Software\Zeal\Zeal" Type="string" Value="" KeyPath="yes" />
|
|
</Component>
|
|
|
|
<SetProperty Id="AppExePath" Value="[APPLICATIONFOLDER]$(var.AppExeName)" After="CostFinalize" />
|
|
<Component Id="ProtocolHandlers" Directory="TARGETDIR">
|
|
<?foreach UrlScheme in dash;dash-plugin ?>
|
|
<RegistryKey Root="HKMU" Key="Software\Classes\$(var.UrlScheme)">
|
|
<RegistryValue Type="string" Value="URL: Dash Plugin Protocol (Zeal)" />
|
|
<RegistryValue Name="URL Protocol" Type="string" Value="" />
|
|
|
|
<RegistryKey Key="DefaultIcon">
|
|
<RegistryValue Type="string" Value=""[AppExePath],1"" />
|
|
</RegistryKey>
|
|
|
|
<RegistryKey Key="shell\open\command">
|
|
<RegistryValue Type="string" Value=""[AppExePath]" "%1"" />
|
|
</RegistryKey>
|
|
</RegistryKey>
|
|
<?endforeach ?>
|
|
</Component>
|
|
|
|
<UIRef Id="WixUI_Advanced" />
|
|
|
|
<Property Id="ApplicationFolderName" Value="$(var.AppName)" />
|
|
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
|
|
<Property Id="ALLUSERS" Value="1" />
|
|
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
|
|
|
|
<CustomAction Id="AlreadyInstalled"
|
|
Error="A different build of $(var.AppName) version $(var.AppVersion) is already installed. Same version upgrades are not supported. Please remove the currently installed version first." />
|
|
|
|
<!-- Fix for https://github.com/wixtoolset/issues/issues/2165 -->
|
|
<CustomAction Id="Overwrite_WixSetDefaultPerMachineFolder" Property="WixPerMachineFolder"
|
|
Value="[$(var.PlatformProgramFilesFolder)][ApplicationFolderName]" Execute="immediate" />
|
|
|
|
<InstallUISequence>
|
|
<Custom Action="AlreadyInstalled" After="FindRelatedProducts">CURRENTVERSIONDETECTED</Custom>
|
|
<Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" />
|
|
</InstallUISequence>
|
|
|
|
<InstallExecuteSequence>
|
|
<Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" />
|
|
</InstallExecuteSequence>
|
|
|
|
<SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]" After="CostFinalize" />
|
|
</Product>
|
|
</Wix>
|