Imported Upstream version 878.70.2
[platform/upstream/mdnsresponder.git] / mDNSWindows / BonjourQuickLooksInstaller / Product.wxs
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!-- Copyright (c) 2016 Apple Inc. All rights reserved. -->
4
5 <Wix    xmlns           = "http://schemas.microsoft.com/wix/2006/wi"
6                 xmlns:fire      = "http://schemas.microsoft.com/wix/FirewallExtension" >
7         
8         <?define ProductManufacturer            = "Apple Inc."?>
9         <?define ProductName                            = "Bonjour (QuickLooks Testing)"?>
10         <?define UpgradeCode                            = "46AE3251-43D6-41CF-8CDF-E902C38516D1"?>
11         <?define ProductVersion                         = "1.0.0"?>
12         <?define ProductVersionMarketing        = "1.0.0"?>
13         <?if $(var.Platform) = x64?>
14                 <?define Win64 = "yes" ?>
15                 <?define PlatformSystemFolder           = "System64Folder"?>
16                 <?define PlatformProgramFilesFolder     = "ProgramFiles64Folder"?>
17                 <?define PlatformInstallDir                     = "INSTALLDIR64"?>
18                 <?define GUID_DNSSDExe                          = "528ACC12-D4A8-11DE-927F-58D855D89593"?>
19                 <?define GUID_DNSSDDLL                          = "20F30EC6-1F92-11DC-8314-0800200C9A66"?>
20                 <?define GUID_MDNSNSPDLL                        = "255EBC6C-1F92-11DC-8314-0800200C9A66"?>
21                 <?define GUID_MDNSResponderExe          = "BB3076CA-D4DF-11E0-8AC8-AA0E4824019B"?>
22         <?else?>
23                 <?define Win64 = "no" ?>
24                 <?define PlatformSystemFolder           = "SystemFolder"?>
25                 <?define PlatformProgramFilesFolder     = "ProgramFilesFolder"?>
26                 <?define PlatformInstallDir                     = "INSTALLDIR"?>
27                 <?define GUID_DNSSDExe                          = "DCA08E52-8D4E-43AF-A0F7-9B809FCCFEBF"?>
28                 <?define GUID_DNSSDDLL                          = "E6B826D2-6338-4822-8DEA-EC03C2CA41A7"?>
29                 <?define GUID_MDNSNSPDLL                        = "0E416468-0A21-4778-BE61-64AAA5BE1039"?>
30                 <?define GUID_MDNSResponderExe          = "836FE314-37A7-4905-90F0-AFE25F315CA3"?>
31         <?endif?>
32         <?define GUID_InstallerCache            = "EDD5CC92-97D7-4364-9CA6-F7001C75A90E"?>
33         
34         <Product
35                 Id                              = "*"
36                 Language                = "1033"
37                 Manufacturer    = "$(var.ProductManufacturer)"
38                 Name                    = "$(var.ProductName)"
39                 UpgradeCode             = "$(var.UpgradeCode)"
40                 Version                 = "$(var.ProductVersion)" >
41                 
42                 <Package
43                         Keywords                        = "Installer,MSI"
44                         Comments                        = "$(var.ProductName) $(var.ProductVersion)"
45                         Compressed                      = "yes"
46                         Description                     = "[ProductName] Installer"
47                         InstallerVersion        = "300"
48                         Languages                       = "1033"
49                         Manufacturer            = "$(var.ProductManufacturer)"
50                         SummaryCodepage         = "1252" />
51                 
52                 <!-- Launch Conditions -->
53                 <Condition
54                         Message = "You do not have sufficient privileges to complete this installation for all users of the machine. Log on as an administrator and then retry this installation." >
55                         <![CDATA[Privileged]]>
56                 </Condition>
57                 <Condition
58                         Message = "[ProductName] requires that your computer is running Windows XP SP2 or newer.">
59                         <![CDATA[((VersionNT=501 AND ServicePackLevel>=2) OR VersionNT>501)]]>
60                 </Condition>
61                 <?if $(var.Win64) = "no"?>
62                 <Condition
63                         Message = "This installer is intended for 32-bit versions of Windows" >
64                         <![CDATA[NOT VersionNT64]]>
65                 </Condition>
66                 <?endif?>
67                 
68                 <!-- Directory Table -->
69                 <Directory Id="TARGETDIR" Name="SourceDir">
70                         <Directory Id="$(var.PlatformSystemFolder)" />
71                         <Directory Id="$(var.PlatformProgramFilesFolder)">
72                                 <Directory Id="Bonjour64InstallFolder" Name="Bonjour">
73                                         <Directory Id="$(var.PlatformInstallDir)" />
74                                 </Directory>
75                         </Directory>
76                         <Directory Id="DesktopFolder" />
77                         <Directory Id="CommonAppDataFolder" Name="Application Data">
78                                 <Directory Id="AppleCommonAppDataFolder" Name="Apple">
79                                         <Directory Id="CachedInstallationsFolder" Name="Installer Cache">
80                                                 <Directory Id="INSTALLERCACHE" Name="$(var.ProductName) $(var.ProductVersion)" />
81                                         </Directory>
82                                 </Directory>
83                         </Directory>
84                 </Directory>
85                 
86                 <!-- Features -->
87                 <Feature Id="Bonjour" Title="Bonjour" Level="1" AllowAdvertise="no" Display="expand">
88                         <ComponentRef Id="InstallerCache" />
89                         <Feature Id="mDNSResponder" Title="mDNSResponder" Level="1" AllowAdvertise="no" Absent="disallow">
90                                 <ComponentRef Id="dns_sd.exe" />
91                                 <ComponentRef Id="dnssd.dll" />
92                                 <ComponentRef Id="mdnsNSP.dll" />
93                                 <ComponentRef Id="mDNSResponder.exe" />
94                         </Feature>
95                 </Feature>
96                 
97                 <!-- InstallerCache -->
98                 <DirectoryRef Id="INSTALLERCACHE">
99                         <Component Id="InstallerCache" Guid="$(var.GUID_InstallerCache)" KeyPath="yes">
100                                 <Condition><![CDATA[NOT DONTCACHEMSI]]></Condition>
101                                 <CreateFolder />
102                                 <CopyFile Id="BonjourQuickLooks.msi" SourceProperty="SourceDir" SourceName="BonjourQuickLooks.msi" DestinationDirectory="INSTALLERCACHE" />
103                                 <RemoveFile Id="BonjourQuickLooks.msi" Directory="INSTALLERCACHE" Name="BonjourQuickLooks.msi" On="uninstall" />
104                                 <RemoveFolder Id="INSTALLERCACHE" Directory="INSTALLERCACHE" On="uninstall" />
105                         </Component>
106                 </DirectoryRef>
107         
108                 <!-- Bonjour -->
109                 <DirectoryRef Id="$(var.PlatformSystemFolder)">
110                         <Component Id="dns_sd.exe" Guid="$(var.GUID_DNSSDExe)" Win64="$(var.Win64)">
111                                 <File Id="dns_sd.exe" Name="dns-sd.exe" KeyPath="yes" Source="$(var.dns-sd.TargetPath)" />
112                         </Component>
113                         <Component Id="dnssd.dll" Guid="$(var.GUID_DNSSDDLL)" Win64="$(var.Win64)">
114                                 <File Id="dnssd.dll" Name="dnssd.dll" KeyPath="yes" Source="$(var.DLL.TargetPath)" />
115                         </Component>
116                 </DirectoryRef>
117                 
118                 <DirectoryRef Id="$(var.PlatformInstallDir)">
119                         <Component Id="mdnsNSP.dll" Guid="$(var.GUID_MDNSNSPDLL)" Win64="$(var.Win64)">
120                                 <File Id="mdnsNSP.dll" Name="mdnsNSP.dll" Source="$(var.mdnsNSP.TargetPath)" KeyPath="yes" SelfRegCost="1024" />
121                         </Component>
122                         <Component Id="mDNSResponder.exe" Guid="$(var.GUID_MDNSResponderExe)" Win64="$(var.Win64)">
123                                 <File Id="mDNSResponder.exe" Name="mDNSResponder.exe" Source="$(var.mDNSResponder.TargetPath)" KeyPath="yes">
124                                         <fire:FirewallException Id="mDNSException1" Name="Bonjour Service" IgnoreFailure="yes" Scope="any" />
125                                 </File>
126                                 <ServiceInstall
127                                         Id                              = "BonjourService"
128                                         Name                    = "Bonjour Service"
129                                         DisplayName             = "Bonjour Service"
130                                         Description             = "Enables hardware devices and software services to automatically configure themselves on the network and advertise their presence."
131                                         Start                   = "auto"
132                                         Type                    = "ownProcess"
133                                         ErrorControl    = "normal"
134                                         Vital                   = "yes" >
135                                         <ServiceDependency Id="Tcpip" Group="no" />
136                                 </ServiceInstall>
137                                 <ServiceControl
138                                         Id              = "BonjourService"
139                                         Name    = "Bonjour Service"
140                                         Start   = "install"
141                                         Stop    = "both"
142                                         Remove  = "uninstall"
143                                         Wait    = "yes" />
144                                 <RegistryValue
145                                         Name    = "ManageLLRouting"
146                                         Root    = "HKLM"
147                                         Key             = "SYSTEM\CurrentControlSet\Services\Bonjour Service\Parameters"
148                                         Type    = "integer"
149                                         Value   = "1" />
150                                 <RegistryKey
151                                         Root    = "HKLM"
152                                         Key             = "SOFTWARE\Apple Inc.\Bonjour"
153                                         Action  = "createAndRemoveOnUninstall" >
154                                         <RegistryValue
155                                                 Name    = "InstallDir"
156                                                 Type    = "string"
157                                                 Value   = "[$(var.PlatformInstallDir)]" />
158                                         <RegistryValue
159                                                 Name    = "Version"
160                                                 Type    = "string"
161                                                 Value   = "$(var.ProductVersion)" />
162                                 </RegistryKey>
163                         </Component>
164                 </DirectoryRef>
165                 
166                 <!-- Media -->
167                 <Media Id="1" EmbedCab="yes" Cabinet="BonjourQuickLooks.cab" CompressionLevel="high" />
168                 
169                 <!-- Properties -->
170                 <Property Id="ALLUSERS" Value="1" />
171                 <Property Id="ARPNOMODIFY" Value="1" />
172                 <Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable" />
173                 
174                 <MajorUpgrade AllowDowngrades="yes" Schedule="afterInstallValidate" />
175         </Product>
176 </Wix>