<?xml version="1.0" encoding="UTF-8"?> | |
<?include Config.wxi?> | |
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> | |
<Product Id="*" Name="$(var.Name)" Language="1033" Version="$(fun.AutoVersion(1.0))" Manufacturer="$(var.Manufacturer)" UpgradeCode="7c45b52b-0390-4fe8-947a-3f13e82dd346"> | |
<Package InstallerVersion="301" Compressed="yes" InstallScope="perMachine" /> | |
<MajorUpgrade AllowSameVersionUpgrades="yes" DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> | |
<MediaTemplate EmbedCab="yes" CompressionLevel="high" /> | |
<!--Icon File should be in release folder(not wix project), otherwise cannot be read--> | |
<Icon Id="icon.ico" SourceFile="$(var.ReleaseDir)\jami.ico" /> | |
<Property Id="ARPPRODUCTICON" Value="icon.ico" /> | |
<Property Id="ARPNOMODIFY" Value="1" /> | |
<Feature Id="ProductFeature" Title="Main" Level="1" Absent="disallow"> | |
<ComponentGroupRef Id="StandardComponents" Primary="yes" /> | |
<ComponentGroupRef Id="HeatGenerated" /> | |
<ComponentRef Id="ApplicationShortcutDesktop" /> | |
<ComponentRef Id="ApplicationShortcutStartMenu" /> | |
<ComponentRef Id="RegistryEntries" /> | |
</Feature> | |
<!--Visual C++ Redist merge module--> | |
<DirectoryRef Id="TARGETDIR"> | |
<Merge Id="VCRedist" SourceFile="$(env.VCRedistMergeModule)" DiskId="1" Language="0" /> | |
</DirectoryRef> | |
<Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden" Level="1"> | |
<MergeRef Id="VCRedist"/> | |
</Feature> | |
<!--SetDirectory of APPLICATIONFOLDER --> | |
<SetDirectory Id="APPLICATIONFOLDER" Value="[ProgramFiles64Folder][ApplicationFolderName]">APPLICATIONFOLDER=""</SetDirectory> | |
<SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]" After="CostFinalize" /> | |
<UIRef Id="CustomUI" /> | |
<WixVariable Id="WixUIInfoIcon" Value="icon.ico"/> | |
<WixVariable Id="WixUIBannerBmp" Value="top-banner.bmp" /> | |
<WixVariable Id="WixUIDialogBmp" Value="main-banner.bmp" /> | |
<WixVariable Id="WixUISupportPerUser" Value="0" /> | |
<CustomAction Id="removeOldJamiFiles" Directory="APPLICATIONFOLDER" ExeCommand="cmd /c "del vc_redist.x64.exe; del uninstall.exe; del WinSparkle.dll;"" Execute="deferred" Return="ignore" HideTarget="no" Impersonate="no" /> | |
<Property Id="QtExecCmdLine" Value='"[WindowsFolder]\System32\taskkill.exe" /F /IM QtWebEngineProcess.exe /IM Jami.exe'/> | |
<CustomAction Id="JamiProcesses.TaskKill" | |
BinaryKey="WixCA" | |
DllEntry="CAQuietExec" | |
Execute="immediate" | |
Return="ignore"/> | |
</Product> | |
<Fragment Id="DirectoryStructure"> | |
<Directory Id="TARGETDIR" Name="SourceDir"> | |
<Directory Id="ProgramFiles64Folder"> | |
<Directory Id="APPLICATIONFOLDER" Name="$(var.Name)" /> | |
</Directory> | |
<Directory Id="DesktopFolder" Name="Desktop" /> | |
<Directory Id="ProgramMenuFolder"> | |
<Directory Id="ApplicationProgramsFolder" /> | |
</Directory> | |
<Directory Id="WindowsFolder" Name="WINDOWS"/> | |
</Directory> | |
</Fragment> | |
<Fragment Id="Shortcuts"> | |
<DirectoryRef Id="DesktopFolder"> | |
<Component Id="ApplicationShortcutDesktop" Guid="*" Win64="yes"> | |
<Shortcut Id="ApplicationShortcutDesktop" Name="$(var.Name)" Description="Launch $(var.Name)" Target="[#fileMain.exe]" WorkingDirectory="INSTALLFOLDER" /> | |
<RemoveFolder Id="DesktopFolder" On="uninstall" /> | |
<RegistryValue Root="HKCU" Key="Software\jami.net\$(var.Name)" Name="desktop" Type="integer" Value="1" KeyPath="yes" /> | |
</Component> | |
</DirectoryRef> | |
<DirectoryRef Id="ApplicationProgramsFolder"> | |
<Component Id="ApplicationShortcutStartMenu" Guid="*" Win64="yes"> | |
<Shortcut Id="ApplicationShortcutStartMenu" Name="$(var.Name)" Description="Launch $(var.Name)" Target="[#fileMain.exe]" WorkingDirectory="INSTALLFOLDER" /> | |
<RemoveFolder Id="StartMenuFolder" On="uninstall" /> | |
<RegistryValue Root="HKCU" Key="Software\jami.net\$(var.Name)" Name="startmenu" Type="integer" Value="1" KeyPath="yes" /> | |
</Component> | |
</DirectoryRef> | |
</Fragment> | |
<Fragment Id="OtherRegistryEntries"> | |
<DirectoryRef Id="TARGETDIR"> | |
<Component Id="RegistryEntries" Guid="*" Win64="yes"> | |
<RegistryValue Root="HKCU" Key="Software\jami.net\$(var.AppName)" Name="hasRun" Type="integer" Value="0" KeyPath="yes" /> | |
</Component> | |
</DirectoryRef> | |
</Fragment> | |
<Fragment Id="UI"> | |
<UI Id="CustomUI"> | |
<Property Id="WixAppFolder" Value="WixPerMachineFolder" /> | |
<!--APPLICATIONFOLDER required by WixUI_Advanced, ApplicationFolderName reset APPLICATIONFOLDER path--> | |
<Property Id="ApplicationFolderName" Value="$(var.Manufacturer)\$(var.AppName)" /> | |
<UIRef Id="WixUI_Advanced" /> | |
<!--Remove User Exit Dialog--> | |
<Publish Dialog="AdvancedWelcomeEulaDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish> | |
<Publish Dialog="InstallDirDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish> | |
<Publish Dialog="FeaturesDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish> | |
<Publish Dialog="MaintenanceWelcomeDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish> | |
<Publish Dialog="MaintenanceTypeDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish> | |
<!--Launch Program If Checkbox is clicked--> | |
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish> | |
<InstallUISequence> | |
<Show Dialog="UserExit" OnExit="cancel">NOT AbortInstall = 1</Show> | |
<Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" /> | |
</InstallUISequence> | |
</UI> | |
<InstallExecuteSequence> | |
<Custom Action='JamiProcesses.TaskKill' Before='InstallValidate'/> | |
<Custom Action="removeOldJamiFiles" After="RemoveFiles" /> | |
<Custom Action="LaunchApplication_nonUI" After="InstallFinalize"> WIXNONUILAUNCH </Custom> | |
<Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" /> | |
</InstallExecuteSequence> | |
<!--License check box text, Launch check box text (auto check)--> | |
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Launch $(var.Name)" /> | |
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch $(var.Name)" /> | |
<!--CheckBox Default Set to One--> | |
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1"/> | |
<Property Id="LicenseAccepted" Value="1"/> | |
<Property Id="WixShellExecTarget" Value="[#fileMain.exe]" /> | |
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" /> | |
<CustomAction Id="LaunchApplication_nonUI" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes"/> | |
<CustomAction Id="Overwrite_WixSetDefaultPerMachineFolder" Property="WixPerMachineFolder" Value="[ProgramFiles64Folder][ApplicationFolderName]" Execute="immediate" /> | |
<!--License File--> | |
<WixVariable Id="WixUILicenseRtf" Value="$(var.ReleaseDir)\License.rtf"/> | |
</Fragment> | |
</Wix> |