Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 13502977bd
Fetching contributors…

Cannot retrieve contributors at this time

292 lines (274 sloc) 10.456 kb
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is part of Pandion instant messenger
Copyright (c) 2009 Sebastiaan Deckers
License: GNU General Public License version 3 or later
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include version.wxs ?>
<Product
Id="*"
Language="1033"
Manufacturer="$(var.Manufacturer)"
Name="$(var.Name)"
UpgradeCode="$(var.UpgradeCode)"
Version="$(var.Version)"
>
<!--
Do not require administrative access to avoid UAC and problems for restricted users.
-->
<Package
Id="*"
Compressed="yes"
InstallPrivileges="limited"
InstallerVersion="200"
InstallScope="perUser"
/>
<Media Cabinet="product.cab" EmbedCab="yes" Id="1"/>
<!--
Deploy the files generated by heat.exe and the shortcuts described below.
-->
<Feature Id="ProductFeature" Level="1" Title="Core Application">
<ComponentGroupRef Id="CoreFiles"/>
<ComponentRef Id="DesktopShortcut"/>
<ComponentRef Id="StartMenuShortcut"/>
<ComponentRef Id="StartupShortcut"/>
<ComponentRef Id="WriteInstallPathToRegistry"/>
<!-- See below.
<ComponentRef Id="RegistryCleanupHKCU"/>
<ComponentRef Id="RegistryCleanupHKLM"/>
-->
</Feature>
<Directory Id="TARGETDIR" Name="SourceDir">
<!--
When installing with administrative permissions the application is installed in
Program Files by default. Otherwise it is installed in Local Application Data.
Shortcuts are also created accordingly for either all users or just for the
current user.
This allows installation with or without administrative permissions for better
compatibility.
-->
<Directory Id="LocalAppDataFolder" Name="PFiles">
<Directory Id="PandionLocalFiles" Name="$(var.SafeName)">
<Directory Id="DESTINATION" Name="Application"/>
</Directory>
</Directory>
<!--
Shortcut on the desktop.
-->
<Directory Id="DesktopFolder">
<Component Id="DesktopShortcut" Guid="{6d4436d8-88d8-42a5-9b4d-5d86d2f8dba1}">
<Shortcut
Id="DesktopShortcut"
Name="$(var.SafeName)"
Description="Instant messenger for XMPP networks"
Target="[DESTINATION]$(var.SafeName).exe"
WorkingDirectory="DESTINATION"
/>
<RegistryValue
Root="HKCU"
Key="Software\$(var.SafeName)"
Name="DesktopShortcut"
Type="integer"
Value="1"
KeyPath="yes"
/>
<Condition>(NOT UPGRADINGPRODUCTCODE) OR HASDESKTOPSHORTCUT</Condition>
</Component>
</Directory>
<!--
Shortcut to in the Start Menu.
-->
<Directory Id="ProgramMenuFolder">
<Component Id="StartMenuShortcut" Guid="{eee7fe7f-2a5d-4981-8d90-a67f2f74901d}">
<Shortcut
Id="StartMenuShortcut"
Name="$(var.SafeName)"
Description="Instant messenger for XMPP networks"
Target="[DESTINATION]$(var.SafeName).exe"
WorkingDirectory="DESTINATION"
/>
<RegistryValue
Root="HKCU"
Key="Software\$(var.SafeName)"
Name="StartMenuShortcut"
Type="integer"
Value="1"
KeyPath="yes"
/>
<Condition>(NOT UPGRADINGPRODUCTCODE) OR HASPROGRAMMENUSHORTCUT</Condition>
</Component>
</Directory>
<!--
Shortcut to launch on Windows startup.
-->
<Directory Id="StartupFolder">
<Component Id="StartupShortcut" Guid="{5785b179-f2a2-4a9d-a9c1-0ae8e93651dc}">
<Shortcut
Id="StartupShortcut"
Name="$(var.SafeName)"
Description="Instant messenger for XMPP networks"
Target="[DESTINATION]$(var.SafeName).exe"
Arguments="/minimized"
WorkingDirectory="DESTINATION"
/>
<RegistryValue
Root="HKCU"
Key="Software\$(var.SafeName)"
Name="StartupShortcut"
Type="integer"
Value="1"
KeyPath="yes"
/>
<Condition>(NOT UPGRADINGPRODUCTCODE) OR HASSTARTUPSHORTCUT</Condition>
</Component>
</Directory>
</Directory>
<!--
Set the system wide or per user location of shortcuts and application files.
To install system wide either run the installation with administrative rights
or supply the "ALLUSERS=1" command line argument.
Example: msiexec.exe /i $(var.SafeName).msi ALLUSERS=1
-->
<SetProperty Id="ALLUSERS" After="AppSearch" Value="1">
Privileged
</SetProperty>
<SetDirectory Id="LocalAppDataFolder" Sequence="both" Value="[ProgramFilesFolder]">
Privileged or (ALLUSERS = 1)
</SetDirectory>
<!--
Reuse previously installed location when deployed or upgraded with administrative access.
-->
<CustomAction Id="SetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION" Value="[DESTINATION]" />
<InstallExecuteSequence>
<Custom Action="SetARPINSTALLLOCATION" After="InstallValidate">
<![CDATA[Privileged]]>
</Custom>
</InstallExecuteSequence>
<Property Id="OLDINSTALLPATH">
<RegistrySearch
Id="OldInstallPath"
Type="raw"
Root="HKLM"
Key="SOFTWARE\$(var.SafeName)"
Name="InstallPath"
/>
</Property>
<SetDirectory Id="DESTINATION" Sequence="both" Value="[OLDINSTALLPATH]">
Privileged and not (OLDINSTALLPATH = "")
</SetDirectory>
<Component Id="WriteInstallPathToRegistry" Directory="TARGETDIR" Guid="{63eaff7f-ca4f-4f80-aa5b-e61f18c312c0}">
<RegistryValue
Root="HKLM"
Key="Software\$(var.SafeName)"
Name="InstallPath"
Type="string"
Value="[DESTINATION]"
KeyPath="yes"
/>
<Condition>Privileged</Condition>
</Component>
<!--
Remove older versions but do not overwrite newer versions.
-->
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="$(var.Version)" OnlyDetect="yes" Property="NEWERVERSIONDETECTED" />
<UpgradeVersion
Property="OLDERVERSIONBEINGUPGRADED"
IgnoreRemoveFailure="yes"
IncludeMaximum="no"
IncludeMinimum="yes"
Maximum="$(var.Version)"
Minimum="0.0.0"
/>
</Upgrade>
<Condition Message="A later version of [ProductName] is already installed.">NOT NEWERVERSIONDETECTED</Condition>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate"/>
</InstallExecuteSequence>
<!--
Locate and uninstall the old NSIS-based installer.
-->
<Property Id="FOUNDLEGACYUNINSTALLER">
<RegistrySearch
Id="LegacyUninstaller"
Type="raw"
Root="HKLM"
Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(var.SafeName)"
Name="UninstallString"
/>
</Property>
<Property Id="QtExecCmdLine" Value="[FOUNDLEGACYUNINSTALLER] /S"/>
<CustomAction Id="LaunchLegacyUninstaller" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="ignore"/>
<InstallExecuteSequence>
<Custom Action="LaunchLegacyUninstaller" After="InstallInitialize">
<![CDATA[FOUNDLEGACYUNINSTALLER AND (Not Installed) AND (NOT REMOVE)]]>
</Custom>
</InstallExecuteSequence>
<!--
User interface modifications and branding.
-->
<UIRef Id="WixUI_ZeroClick"/>
<WixVariable Id="WixUIBannerBmp" Value="./banner.jpg"/>
<WixVariable Id="WixUIDialogBmp" Value="./dialog.jpg"/>
<WixVariable Id="WixUILicenseRtf" Value="./Temp/License.rtf"/>
<Property Id="ARPHELPLINK" Value="$(var.AppHelpLink)"/>
<Property Id="ARPURLINFOABOUT" Value="$(var.AppUrlInfoAbout)"/>
<Property Id="ARPPRODUCTICON" Value="default.ico"/>
<Icon Id="default.ico" SourceFile="./Temp/images/brand/default.ico"/>
<!--
Check if application shortcuts already exist from a previous installation.
This ensures the presence of desktop/programs/startup shortcuts (or lack thereof) is not changed by an auto-update.
-->
<Property Id="HASDESKTOPSHORTCUT">
<DirectorySearch Id="DesktopFolder" Path="[DesktopFolder]">
<FileSearch Id="DesktopShortcut" Name="$(var.SafeName).lnk"/>
</DirectorySearch>
</Property>
<Property Id="HASPROGRAMMENUSHORTCUT">
<DirectorySearch Id="ProgramMenuFolder" Path="[ProgramMenuFolder]">
<FileSearch Id="ProgramMenuShortcut" Name="$(var.SafeName).lnk"/>
</DirectorySearch>
</Property>
<Property Id="HASSTARTUPSHORTCUT">
<DirectorySearch Id="StartupFolder" Path="[StartupFolder]">
<FileSearch Id="StartupShortcut" Name="$(var.SafeName).lnk"/>
</DirectorySearch>
</Property>
<!--
Launch the application after normal installation or in silent auto-update mode.
To run auto-update mode use the following command line:
msiexec.exe /i $(var.SafeName).msi LAUNCHAPP=yes
-->
<Property Id="WixShellExecTarget" Value="[DESTINATION]$(var.SafeName).exe"/>
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes"/>
<InstallExecuteSequence>
<Custom Action="LaunchApplication" After="InstallFinalize">
<![CDATA[LAUNCHAPP="yes" or UILevel=5]]>
</Custom>
</InstallExecuteSequence>
<!--
Remove file/mime/uri registry associations that may have been created at runtime.
Disabled due to problems with upgrades. Removing the previous version always removes these components.
Impact: Left over registry entries after manual uninstallation.
-->
<!--
<Component Id="RegistryCleanupHKCU" Directory="LocalAppDataFolder" Guid="{58642a78-00a3-4ba8-8335-7f299aa94db5}">
<CreateFolder Directory="LocalAppDataFolder"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKCU" Key="Software\Classes\Applications\$(var.SafeName).exe"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKCU" Key="Software\Classes\$(var.SafeName).File.JISP"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKCU" Key="Software\Classes\$(var.SafeName).File.PDN"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKCU" Key="Software\Classes\$(var.SafeName).Url.xmpp"/>
<Condition>NOT UPGRADINGPRODUCTCODE</Condition>
</Component>
<Component Id="RegistryCleanupHKLM" Directory="TARGETDIR" Guid="{dcd110c8-a3b5-4df0-9dbb-64ea3cc2bedb}">
<RemoveRegistryKey Action="removeOnUninstall" Root="HKLM" Key="Software\Classes\Applications\$(var.SafeName).exe"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKLM" Key="Software\Classes\$(var.SafeName).File.JISP"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKLM" Key="Software\Classes\$(var.SafeName).File.PDN"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKLM" Key="Software\Classes\$(var.SafeName).Url.xmpp"/>
<RemoveRegistryKey Action="removeOnUninstall" Root="HKLM" Key="Software\Clients\IM\$(var.SafeName)"/>
<Condition>Privileged and (NOT UPGRADINGPRODUCTCODE)</Condition>
</Component>
-->
</Product>
</Wix>
Jump to Line
Something went wrong with that request. Please try again.