freeswitch/w32/Setup/Product.2017.wxs

175 lines
8.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Platform specific variables -->
<?if $(var.Platform) = x64 ?>
<?define Win64 = "yes" ?>
<?if $(var.Configuration) = Debug ?>
<?define ProductName_Configuration = ", Debug" ?>
<?else ?>
<?define ProductName_Configuration = "" ?>
<?endif ?>
<?define ProductName = "FreeSWITCH (64 bit$(var.ProductName_Configuration))" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define Win64 = "no" ?>
<?if $(var.Configuration) = Debug ?>
<?define ProductName_Configuration = " (Debug)" ?>
<?else ?>
<?define ProductName_Configuration = "" ?>
<?endif ?>
<?define ProductName = "FreeSWITCH$(var.ProductName_Configuration)" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>
<?if $(var.Configuration) = Debug ?>
<?define CRT_Configuration = "Debug" ?>
<?else ?>
<?define CRT_Configuration = "" ?>
<?endif ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="b004a325-1272-47e5-a415-a74e9fc99865" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="FreeSWITCH" UpgradeCode="3af7020b-1348-45e8-a0cf-80909d4eb421">
<Package InstallerVersion="405" Compressed="yes" />
<WixVariable Id="WixUILicenseRtf" Value="..\..\docs\COPYING.rtf" />
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
<CustomAction Id='CheckForUCRT' Error="Installation failed because the Universal C Runtime is not installed. Please run Windows Update and install all required Windows updates. You can download the UCRT separately from here: https://support.microsoft.com/en-us/kb/2999226" />
<Property Id="UCRTINSTALLED" Secure="yes">
<DirectorySearch Id="searchSystem2" Path="[SystemFolder]" Depth="0">
<FileSearch Id="UCRT_FileSearch"
Name="ucrtbase.dll"
MinVersion="6.2.10585.0"/>
</DirectorySearch>
</Property>
<Binary Id="CustomActionDownloadOpenH264" SourceFile="CustomActions\Setup.CA.DownloadOpenH264\bin\Setup.CA.DownloadOpenH264.CA.dll" />
<CustomAction Id="SetForCustomActionDownloadOpenH264" Return="check" Property="CustomActionDownloadOpenH264" Value="location=[INSTALLLOCATION]"/>
<CustomAction Id="CustomActionDownloadOpenH264" BinaryKey="CustomActionDownloadOpenH264" DllEntry="DownloadOpenH264" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes"/>
<CustomAction Id="SetForCustomActionRemoveOpenH264Binary" Return="check" Property="CustomActionRemoveOpenH264Binary" Value="location=[INSTALLLOCATION]"/>
<CustomAction Id="CustomActionRemoveOpenH264Binary" BinaryKey="CustomActionDownloadOpenH264" DllEntry="RemoveOpenH264Binary" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes"/>
<UI>
<ProgressText Action="CustomActionDownloadOpenH264">Downloading OpenH264 Video Codec provided by Cisco Systems, Inc.</ProgressText>
</UI>
<InstallExecuteSequence>
<Custom Action='CheckForUCRT' Before='LaunchConditions'>
<![CDATA[Not REMOVE="ALL" AND UCRTINSTALLED = ""]]>
</Custom>
<Custom Action="SetForCustomActionDownloadOpenH264" Before="CustomActionDownloadOpenH264" />
<Custom Action="CustomActionDownloadOpenH264" Before="InstallFinalize"> <![CDATA[&DownloadOpenH264TaskFeature=3]]> AND ((NOT (REMOVE="ALL")) OR (REINSTALL="ALL"))
</Custom>
<Custom Action="SetForCustomActionRemoveOpenH264Binary" Before="CustomActionRemoveOpenH264Binary" />
<Custom Action="CustomActionRemoveOpenH264Binary" After="InstallInitialize"> (<![CDATA[&DownloadOpenH264TaskFeature=2]]> AND (Installed OR MaintenanceMode="Modify")) OR ((NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL"))
</Custom>
</InstallExecuteSequence>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="INSTALLLOCATION" Name="FreeSWITCH">
<Component Id="openh264licence" Guid="CF3DBA7A-5DDB-45DC-823B-54C52D4A6188">
<File Id="openh264licence" KeyPath="yes" Source="..\..\docs\OPENH264_BINARY_LICENSE.txt" />
</Component>
<Directory Id="MODLOCATION" Name="mod">
</Directory>
<Directory Id="CONFLOCATION" Name="conf">
</Directory>
<Directory Id="SOUNDLOCATION" Name="sounds">
</Directory>
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<!-- <Component Id="ProductComponent" Guid="6f1498a7-d029-430b-b9d9-fe12e17bdbab"> -->
<!-- TODO: Insert files, registry keys, and other resources here. -->
<!-- </Component> -->
<?if $(var.Platform) != x64 ?>
<Merge Id="CrtFiles_x86"
SourceFile="$(var.MergeModules)\Microsoft_VC$(var.VCVer)_$(var.CRT_Configuration)CRT_x86.msm"
DiskId="1"
Language="1033"/>
<?endif ?>
<?if $(var.Platform) = x64 ?>
<Merge Id="CrtFiles_x64"
SourceFile="$(var.MergeModules)\Microsoft_VC$(var.VCVer)_$(var.CRT_Configuration)CRT_x64.msm"
DiskId="1"
Language="1033"/>
<?endif ?>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="FreeSWITCH"/>
</Directory>
</Directory>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="B554D1D1-C8C6-4d46-A3E7-4BA836EF929B">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="FreeSWITCH"
Description="FreeSWITCH Telephony SoftSwitch"
Target="[INSTALLLOCATION]FreeSwitchConsole.exe"
WorkingDirectory="INSTALLLOCATION"/>
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\FreeSWITCH\FreeSWITCH" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
<Component Id="FSCliShortcut" Guid="D209546C-C728-4d8f-BDB2-29AED8824282">
<Shortcut Id="FSCliStartMenuShortcut"
Name="FS_Cli"
Description="FreeSWITCH Command Line Interface"
Target="[INSTALLLOCATION]fs_cli.exe"
WorkingDirectory="INSTALLLOCATION"/>
<RegistryValue Root="HKCU" Key="Software\FreeSWITCH\FS_CLI" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<Feature Id="ProductFeature" Title="FreeSWITCH Core" Level="1"
Description = "FreeSWITCH core library, all available modules and their dependencies."
>
<!-- TODO: Remove the comments around this ComponentRef element and the Component above in order to add resources to this installer. -->
<!-- <ComponentRef Id="ProductComponent" /> -->
<!-- The following Ref pulls in FreeSWITCHconsole.wxs items -->
<ComponentRef Id="cmpBEF12B96A80D45AC32F3B692E94A57C9"/>
<!-- This following Ref Pulls in fs_cli.exe-->
<ComponentRef Id="cmp5A06A4A7E1884331BC6C949456B5F293"/>
<!-- Note: The following ComponentGroupRef is required to pull in generated authoring from project references. -->
<ComponentGroupRef Id="FreeSWITCHBaseFiles" />
<ComponentGroupRef Id="FreeSWITCHhtdocsFiles" />
<ComponentGroupRef Id="FreeSWITCHimagesFiles" />
<ComponentGroupRef Id="FreeSWITCHfontsFiles" />
<ComponentGroupRef Id="FreeSWITCHgrammarFiles" />
<?if $(var.Platform) != x64 ?>
<MergeRef Id="CrtFiles_x86"/>
<?endif ?>
<?if $(var.Platform) = x64 ?>
<MergeRef Id="CrtFiles_x64"/>
<?endif ?>
</Feature>
<Feature Id="DownloadOpenH264TaskFeature" Title="Download OpenH264 Binary" Level="1" Absent="allow"
Description="OpenH264 Video Codec provided by Cisco Systems, Inc. (This is required for mod_av, but you can always disable that module later and not download OpenH264 codec now)"
>
<ComponentRef Id="openh264licence" />
</Feature>
<Feature Id="ProductFeatureFreeSWITCH" Title="FreeSWITCH" Level="1"
Description = "FreeSWITCH Console Application Shortcut"
>
<ComponentRef Id="ApplicationShortcut" />
</Feature>
<Feature Id="ProductFeatureFSCli" Title="FreeSWITCH Command Line Interface" Level="1"
Description = "FreeSWITCH CLI Application Shortcut"
>
<ComponentRef Id="FSCliShortcut" />
</Feature>
<Feature Id="ProductFeatureConf" Title="FreeSWITCH Configuration Sample" Level="1"
Description = "Vanilla is the 'Default configuration' for FreeSWITCH, *NOT* designed for a production environment without some important modifications!"
>
<ComponentGroupRef Id="FreeSWITCHConfFiles" />
</Feature>
<Feature Id="ProductFeatureSounds" Title="FreeSWITCH Sounds 8Khz" Level="1"
Description = "We provide 8Khz sounds with the installer. Follow our Confluence to get 16, 32, 48Khz sounds."
>
<ComponentGroupRef Id="FreeSWITCHSoundFiles8" />
</Feature>
<UIRef Id="WixUI_Mondo" />
</Product>
</Wix>