deskflow/src/setup/win32/Product.wxs

126 lines
5.2 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<Wix
xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?include Include.wxi?>
<Product
Id="*" Name="$(var.Name) ($(var.PlatformSimpleName))" Language="1033"
Version="$(var.Version)" Manufacturer="$(var.Author)"
UpgradeCode="E87C85E3-69FD-4F00-BBB4-69C5FD615D47">
<Package InstallerVersion="300" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of $(var.Name) is already installed." />
<MediaTemplate EmbedCab="yes" />
<UIRef Id="WixUI_InstallDir" />
<Feature Id="ProductFeature" Title="$(var.Name)">
<ComponentGroupRef Id="ProductComponents" />
<MergeRef Id="CRT" />
</Feature>
<Icon Id="synergy.ico" SourceFile="$(var.ResPath)/synergy.ico"/>
<WixVariable Id="WixUILicenseRtf" Value="$(var.ResPath)\License.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="$(var.ResPath)\banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="$(var.ResPath)\dialog.bmp" />
<Property Id="ARPPRODUCTICON" Value="synergy.ico" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
<Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable" />
<Property Id="LEGACY_UNINSTALL_EXISTS">
<RegistrySearch
Id="LegacyRegistrySearch" Root="HKLM"
Key="SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Synergy"
Name="UninstallString" Win64="no" Type="file">
<FileSearch Id="LegacyFileSearch" Name="uninstall.exe" />
</RegistrySearch>
</Property>
<Condition Message="An existing installation of $(var.Name) was detected, please uninstall it before continuing.">
NOT LEGACY_UNINSTALL_EXISTS
</Condition>
<CustomAction Id="StartGui" FileKey="GuiProgram" ExeCommand="" Return="asyncNoWait" />
<InstallExecuteSequence>
<Custom Action="StartGui" After="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
<util:RestartResource Id="RestartExplorer" Path="[EXPLORERPATH]" ProcessName="explorer.exe"/>
<Property Id="EXPLORERPATH" >
<DirectorySearch Id="FindExplorerDir" AssignToProperty="no" Depth="0" Path="[WindowsFolder]">
<FileSearch Id="FindExplorer" Name="explorer.exe" />
</DirectorySearch>
</Property>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.ProgramFilesFolder)">
<Directory Id="INSTALLFOLDER" Name="$(var.Name)">
<Merge Id="CRT" Language="0" SourceFile="$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC100_CRT_x86.msm" DiskId="1" />
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" />
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="Core" Guid="EC9AD3B0-277C-4157-B5C8-5FD5B6A5F4AD">
<File Source="$(var.BinPath)/synergyd.exe" KeyPath="yes" />
<ServiceInstall
Id="ServiceInstall" Name="Synergy" DisplayName="$(var.Name)"
Description="Controls the $(var.Name) foreground processes."
Type="ownProcess" Start="auto" ErrorControl="normal" />
<ServiceControl
Id="ServiceControl" Name="Synergy"
Start="install" Stop="both" Remove="uninstall" />
<File Source="$(var.BinPath)/synergys.exe">
<fire:FirewallException Id="SereverFirewallException" Name="$(var.Name)" Scope="any" />
</File>
<File Source="$(var.BinPath)/synergyc.exe" />
<File Source="$(var.BinPath)/syntool.exe" />
<File Source="$(var.BinPath)/synwinhk.dll" />
<File Source="$(var.BinPath)/synwinxt.dll" />
<RegistryKey Root="HKCR" Key="*\shellex\DataHandler">
<RegistryValue Value="{1BE208B1-BC21-4E39-8BB6-A5DC3F51479E}" Type="string" />
</RegistryKey>
<RegistryKey Root="HKCR" Key="CLSID\{1BE208B1-BC21-4E39-8BB6-A5DC3F51479E}\InprocServer32">
<RegistryValue Value="[INSTALLFOLDER]synwinxt.dll" Type="string" />
<RegistryValue Name="ThreadingModel" Value="Apartment" Type="string" />
</RegistryKey>
</Component>
<Component Id="Gui" Guid="BAC8149B-6287-45BF-9C27-43D71ED40214">
<File Id="GuiProgram" Source="$(var.BinPath)/synergy.exe" KeyPath="yes">
<Shortcut Id="GuiShortcut" Name="$(var.Name)" Directory="ProgramMenuFolder" Icon="synergy.ico" Advertise="yes" />
</File>
<File Source="$(var.QtPath)\libgcc_s_dw2-1.dll" CompanionFile="GuiProgram" />
<File Source="$(var.QtPath)\mingwm10.dll" CompanionFile="GuiProgram" />
<File Source="$(var.QtPath)\QtCore4.dll" CompanionFile="GuiProgram" />
<File Source="$(var.QtPath)\QtGui4.dll" CompanionFile="GuiProgram" />
<File Source="$(var.QtPath)\QtNetwork4.dll" CompanionFile="GuiProgram" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>