123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <?xml version="1.0" encoding="UTF-8"?>
- <?include "cpack_variables.wxi"?>
- <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
- xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
- RequiredVersion="3.6.3303.0">
- <Product Id="$(var.CPACK_WIX_PRODUCT_GUID)"
- Name="$(var.CPACK_PACKAGE_NAME)"
- Language="1033"
- Version="$(var.CPACK_PACKAGE_VERSION)"
- Manufacturer="$(var.CPACK_PACKAGE_VENDOR)"
- UpgradeCode="$(var.CPACK_WIX_UPGRADE_GUID)">
- <Package InstallScope="perMachine" InstallerVersion="301" Compressed="yes"/>
- <Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/>
- <MajorUpgrade
- Schedule="afterInstallInitialize"
- AllowSameVersionUpgrades="yes"
- DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit."/>
- <WixVariable Id="WixUILicenseRtf" Value="$(var.CPACK_WIX_LICENSE_RTF)"/>
- <Property Id="WIXUI_INSTALLDIR" Value="INSTALL_ROOT"/>
- <?ifdef CPACK_WIX_PRODUCT_ICON?>
- <Property Id="ARPPRODUCTICON">ProductIcon.ico</Property>
- <Icon Id="ProductIcon.ico" SourceFile="$(var.CPACK_WIX_PRODUCT_ICON)"/>
- <?endif?>
- <?ifdef CPACK_WIX_UI_BANNER?>
- <WixVariable Id="WixUIBannerBmp" Value="$(var.CPACK_WIX_UI_BANNER)"/>
- <?endif?>
- <?ifdef CPACK_WIX_UI_DIALOG?>
- <WixVariable Id="WixUIDialogBmp" Value="$(var.CPACK_WIX_UI_DIALOG)"/>
- <?endif?>
- <UI>
- <UIRef Id="$(var.CPACK_WIX_UI_REF)" />
- <Publish Dialog="KPXC_ExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">LAUNCHAPPONEXIT</Publish>
- </UI>
- <?include "properties.wxi"?>
- <?include "product_fragment.wxi"?>
- <!-- Autostart via registry (optional) -->
- <Component Id="Autostart" Guid="*" Directory="INSTALL_ROOT">
- <RegistryValue Id="Autostart.rst" Root="HKCU" Action="write"
- Key="Software\Microsoft\Windows\CurrentVersion\Run"
- Name="$(var.CPACK_PACKAGE_NAME)"
- Value=""[#CM_FP_KeePassXC.exe]""
- Type="string" />
- <Condition>AUTOSTARTPROGRAM</Condition>
- </Component>
- <DirectoryRef Id="TARGETDIR">
- <!-- Startmenu shortcuts -->
- <Directory Id="ProgramMenuFolder">
- <Directory Id="ApplicationProgramsFolder" Name="KeePassXC">
- <Component Id="ApplicationShortcuts" Guid="*">
- <Shortcut Id="ApplicationStartMenuShortcut"
- Name="KeePassXC"
- Target="[#CM_FP_KeePassXC.exe]"
- WorkingDirectory="INSTALL_ROOT"/>
- <Shortcut Id="GettingStartedShortcut"
- Name="KeePassXC - Getting Started"
- Target="[#CM_FP_share.docs.KeePassXC_GettingStarted.html]"
- WorkingDirectory="INSTALL_ROOT" />
- <Shortcut Id="UserGuideShortcut"
- Name="KeePassXC - User Guide"
- Target="[#CM_FP_share.docs.KeePassXC_UserGuide.html]"
- WorkingDirectory="INSTALL_ROOT" />
- <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall" />
- <RegistryValue Root="HKCU" Key="Software\KeePassXC" Name="StartMenuShortcut" Type="integer" Value="1" KeyPath="yes"/>
- </Component>
- </Directory>
- </Directory>
- <!-- Desktop shortcut (optional) -->
- <Directory Id="DesktopFolder" Name="Desktop">
- <Component Id="DesktopShortcut" Guid="F8AFBA1C-296C-41AA-B968-60323A206665">
- <Condition>INSTALLDESKTOPSHORTCUT</Condition>
- <Shortcut Id="ApplicationDesktopShortcut"
- Directory="DesktopFolder"
- Name="KeePassXC"
- Target="[#CM_FP_KeePassXC.exe]"
- WorkingDirectory="INSTALL_ROOT" />
- <RemoveFile Id="RemoveDesktopIcon" Name="KeePassXC.lnk" On="uninstall" />
- <RegistryValue Root="HKCU" Key="Software\KeePassXC" Name="DesktopShortcut" Type="integer" Value="1" KeyPath="yes"/>
- </Component>
- </Directory>
- <!-- Windows system folder -->
- <Directory Id="SystemFolder" Name="SystemFolder" />
- </DirectoryRef>
- <!-- Custom properties to control installation options -->
- <Property Id="LAUNCHAPPONEXIT" Value="1" Secure="yes" />
- <Property Id="AUTOSTARTPROGRAM" Value="1" Secure="yes" />
- <Property Id="AUTOSTARTPROGRAM_REGISTRY">
- <RegistrySearch Id="AutoStartSearch" Root="HKCU" Key="Software\Microsoft\Windows\CurrentVersion\Run" Name="$(var.CPACK_PACKAGE_NAME)" Type="raw" />
- </Property>
- <Property Id="INSTALLDESKTOPSHORTCUT" Secure="yes" />
- <!-- Set properties based on existing conditions, prevents changing state on upgrade -->
- <SetProperty Id="AUTOSTARTPROGRAM" After="AppSearch" Value="">AUTOSTARTPROGRAM="0" OR (WIX_UPGRADE_DETECTED AND NOT AUTOSTARTPROGRAM_REGISTRY)</SetProperty>
- <SetProperty Id="LicenseAccepted" After="AppSearch" Value="1">WIX_UPGRADE_DETECTED</SetProperty>
- <FeatureRef Id="ProductFeature">
- <ComponentRef Id="ApplicationShortcuts" />
- <ComponentRef Id="Autostart" />
- <ComponentRef Id="DesktopShortcut" />
- </FeatureRef>
- <!-- Action to launch application after installer exits -->
- <Property Id="WixShellExecTarget" Value="[#CM_FP_KeePassXC.exe]" />
- <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
- <!-- Action to kill running KeePassXC process -->
- <Property Id="WixQuietExecCmdLine" Value='"[SystemFolder]taskkill.exe" /IM KeePassXC.exe' />
- <CustomAction Id="KillKeePassXC" BinaryKey="WixCA" DllEntry="WixQuietExec" Execute="immediate" Return="ignore" />
- <!-- Action to kill running keepassxc-proxy processes -->
- <Property Id="WixSilentExecCmdLine" Value='"[SystemFolder]taskkill.exe" /IM keepassxc-proxy.exe /F' />
- <CustomAction Id="KillKeePassXCProxy" BinaryKey="WixCA" DllEntry="WixSilentExec" Execute="immediate" Return="ignore" />
- <InstallExecuteSequence>
- <Custom Action="KillKeePassXC" Before="InstallValidate" />
- <Custom Action="KillKeePassXCProxy" Before="InstallValidate" />
- <!-- Prevent pinned taskbar shortcut from being removed -->
- <RemoveShortcuts Suppress="yes" />
- </InstallExecuteSequence>
- </Product>
- </Wix>
|