2
0

Product.2017.wxs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Platform specific variables -->
  3. <?if $(var.Platform) = x64 ?>
  4. <?define Win64 = "yes" ?>
  5. <?if $(var.Configuration) = Debug ?>
  6. <?define ProductName_Configuration = ", Debug" ?>
  7. <?else ?>
  8. <?define ProductName_Configuration = "" ?>
  9. <?endif ?>
  10. <?define ProductName = "FreeSWITCH (64 bit$(var.ProductName_Configuration))" ?>
  11. <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  12. <?else ?>
  13. <?define Win64 = "no" ?>
  14. <?if $(var.Configuration) = Debug ?>
  15. <?define ProductName_Configuration = " (Debug)" ?>
  16. <?else ?>
  17. <?define ProductName_Configuration = "" ?>
  18. <?endif ?>
  19. <?define ProductName = "FreeSWITCH$(var.ProductName_Configuration)" ?>
  20. <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  21. <?endif ?>
  22. <?if $(var.Configuration) = Debug ?>
  23. <?define CRT_Configuration = "Debug" ?>
  24. <?else ?>
  25. <?define CRT_Configuration = "" ?>
  26. <?endif ?>
  27. <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  28. <Product Id="b004a325-1272-47e5-a415-a74e9fc99865" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="FreeSWITCH" UpgradeCode="3af7020b-1348-45e8-a0cf-80909d4eb421">
  29. <Package InstallerVersion="405" Compressed="yes" />
  30. <WixVariable Id="WixUILicenseRtf" Value="..\..\docs\COPYING.rtf" />
  31. <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
  32. <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" />
  33. <Property Id="UCRTINSTALLED" Secure="yes">
  34. <DirectorySearch Id="searchSystem2" Path="[SystemFolder]" Depth="0">
  35. <FileSearch Id="UCRT_FileSearch"
  36. Name="ucrtbase.dll"
  37. MinVersion="6.2.10585.0"/>
  38. </DirectorySearch>
  39. </Property>
  40. <Binary Id="CustomActionDownloadOpenH264" SourceFile="CustomActions\Setup.CA.DownloadOpenH264\bin\Setup.CA.DownloadOpenH264.CA.dll" />
  41. <CustomAction Id="SetForCustomActionDownloadOpenH264" Return="check" Property="CustomActionDownloadOpenH264" Value="location=[INSTALLLOCATION]"/>
  42. <CustomAction Id="CustomActionDownloadOpenH264" BinaryKey="CustomActionDownloadOpenH264" DllEntry="DownloadOpenH264" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes"/>
  43. <CustomAction Id="SetForCustomActionRemoveOpenH264Binary" Return="check" Property="CustomActionRemoveOpenH264Binary" Value="location=[INSTALLLOCATION]"/>
  44. <CustomAction Id="CustomActionRemoveOpenH264Binary" BinaryKey="CustomActionDownloadOpenH264" DllEntry="RemoveOpenH264Binary" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes"/>
  45. <UI>
  46. <ProgressText Action="CustomActionDownloadOpenH264">Downloading OpenH264 Video Codec provided by Cisco Systems, Inc.</ProgressText>
  47. </UI>
  48. <InstallExecuteSequence>
  49. <Custom Action='CheckForUCRT' Before='LaunchConditions'>
  50. <![CDATA[Not REMOVE="ALL" AND UCRTINSTALLED = ""]]>
  51. </Custom>
  52. <Custom Action="SetForCustomActionDownloadOpenH264" Before="CustomActionDownloadOpenH264" />
  53. <Custom Action="CustomActionDownloadOpenH264" Before="InstallFinalize"> <![CDATA[&DownloadOpenH264TaskFeature=3]]> AND ((NOT (REMOVE="ALL")) OR (REINSTALL="ALL"))
  54. </Custom>
  55. <Custom Action="SetForCustomActionRemoveOpenH264Binary" Before="CustomActionRemoveOpenH264Binary" />
  56. <Custom Action="CustomActionRemoveOpenH264Binary" After="InstallInitialize"> (<![CDATA[&DownloadOpenH264TaskFeature=2]]> AND (Installed OR MaintenanceMode="Modify")) OR ((NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL"))
  57. </Custom>
  58. </InstallExecuteSequence>
  59. <Directory Id="TARGETDIR" Name="SourceDir">
  60. <Directory Id="$(var.PlatformProgramFilesFolder)">
  61. <Directory Id="INSTALLLOCATION" Name="FreeSWITCH">
  62. <Component Id="openh264licence" Guid="CF3DBA7A-5DDB-45DC-823B-54C52D4A6188">
  63. <File Id="openh264licence" KeyPath="yes" Source="..\..\docs\OPENH264_BINARY_LICENSE.txt" />
  64. </Component>
  65. <Directory Id="MODLOCATION" Name="mod">
  66. </Directory>
  67. <Directory Id="CONFLOCATION" Name="conf">
  68. </Directory>
  69. <Directory Id="SOUNDLOCATION" Name="sounds">
  70. </Directory>
  71. <!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
  72. <!-- <Component Id="ProductComponent" Guid="6f1498a7-d029-430b-b9d9-fe12e17bdbab"> -->
  73. <!-- TODO: Insert files, registry keys, and other resources here. -->
  74. <!-- </Component> -->
  75. <?if $(var.Platform) != x64 ?>
  76. <Merge Id="CrtFiles_x86"
  77. SourceFile="$(var.MergeModules)\Microsoft_VC$(var.VCVer)_$(var.CRT_Configuration)CRT_x86.msm"
  78. DiskId="1"
  79. Language="1033"/>
  80. <?endif ?>
  81. <?if $(var.Platform) = x64 ?>
  82. <Merge Id="CrtFiles_x64"
  83. SourceFile="$(var.MergeModules)\Microsoft_VC$(var.VCVer)_$(var.CRT_Configuration)CRT_x64.msm"
  84. DiskId="1"
  85. Language="1033"/>
  86. <?endif ?>
  87. </Directory>
  88. </Directory>
  89. <Directory Id="ProgramMenuFolder">
  90. <Directory Id="ApplicationProgramsFolder" Name="FreeSWITCH"/>
  91. </Directory>
  92. </Directory>
  93. <DirectoryRef Id="ApplicationProgramsFolder">
  94. <Component Id="ApplicationShortcut" Guid="B554D1D1-C8C6-4d46-A3E7-4BA836EF929B">
  95. <Shortcut Id="ApplicationStartMenuShortcut"
  96. Name="FreeSWITCH"
  97. Description="FreeSWITCH Telephony SoftSwitch"
  98. Target="[INSTALLLOCATION]FreeSwitchConsole.exe"
  99. WorkingDirectory="INSTALLLOCATION"/>
  100. <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
  101. <RegistryValue Root="HKCU" Key="Software\FreeSWITCH\FreeSWITCH" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  102. </Component>
  103. <Component Id="FSCliShortcut" Guid="D209546C-C728-4d8f-BDB2-29AED8824282">
  104. <Shortcut Id="FSCliStartMenuShortcut"
  105. Name="FS_Cli"
  106. Description="FreeSWITCH Command Line Interface"
  107. Target="[INSTALLLOCATION]fs_cli.exe"
  108. WorkingDirectory="INSTALLLOCATION"/>
  109. <RegistryValue Root="HKCU" Key="Software\FreeSWITCH\FS_CLI" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  110. </Component>
  111. </DirectoryRef>
  112. <Feature Id="ProductFeature" Title="FreeSWITCH Core" Level="1"
  113. Description = "FreeSWITCH core library, all available modules and their dependencies."
  114. >
  115. <!-- TODO: Remove the comments around this ComponentRef element and the Component above in order to add resources to this installer. -->
  116. <!-- <ComponentRef Id="ProductComponent" /> -->
  117. <!-- The following Ref pulls in FreeSWITCHconsole.wxs items -->
  118. <ComponentRef Id="cmpBEF12B96A80D45AC32F3B692E94A57C9"/>
  119. <!-- This following Ref Pulls in fs_cli.exe-->
  120. <ComponentRef Id="cmp5A06A4A7E1884331BC6C949456B5F293"/>
  121. <!-- Note: The following ComponentGroupRef is required to pull in generated authoring from project references. -->
  122. <ComponentGroupRef Id="FreeSWITCHBaseFiles" />
  123. <ComponentGroupRef Id="FreeSWITCHhtdocsFiles" />
  124. <ComponentGroupRef Id="FreeSWITCHimagesFiles" />
  125. <ComponentGroupRef Id="FreeSWITCHfontsFiles" />
  126. <ComponentGroupRef Id="FreeSWITCHgrammarFiles" />
  127. <?if $(var.Platform) != x64 ?>
  128. <MergeRef Id="CrtFiles_x86"/>
  129. <?endif ?>
  130. <?if $(var.Platform) = x64 ?>
  131. <MergeRef Id="CrtFiles_x64"/>
  132. <?endif ?>
  133. </Feature>
  134. <Feature Id="DownloadOpenH264TaskFeature" Title="Download OpenH264 Binary" Level="1" Absent="allow"
  135. 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)"
  136. >
  137. <ComponentRef Id="openh264licence" />
  138. </Feature>
  139. <Feature Id="ProductFeatureFreeSWITCH" Title="FreeSWITCH" Level="1"
  140. Description = "FreeSWITCH Console Application Shortcut"
  141. >
  142. <ComponentRef Id="ApplicationShortcut" />
  143. </Feature>
  144. <Feature Id="ProductFeatureFSCli" Title="FreeSWITCH Command Line Interface" Level="1"
  145. Description = "FreeSWITCH CLI Application Shortcut"
  146. >
  147. <ComponentRef Id="FSCliShortcut" />
  148. </Feature>
  149. <Feature Id="ProductFeatureConf" Title="FreeSWITCH Configuration Sample" Level="1"
  150. Description = "Vanilla is the 'Default configuration' for FreeSWITCH, *NOT* designed for a production environment without some important modifications!"
  151. >
  152. <ComponentGroupRef Id="FreeSWITCHConfFiles" />
  153. </Feature>
  154. <Feature Id="ProductFeatureSounds" Title="FreeSWITCH Sounds 8Khz" Level="1"
  155. Description = "We provide 8Khz sounds with the installer. Follow our Confluence to get 16, 32, 48Khz sounds."
  156. >
  157. <ComponentGroupRef Id="FreeSWITCHSoundFiles8" />
  158. </Feature>
  159. <UIRef Id="WixUI_Mondo" />
  160. </Product>
  161. </Wix>