<?xml version="1.0" encoding="utf-8"?> | |
<!-- | |
<copyright file="firewall.xsd" company="Outercurve Foundation"> | |
Copyright (c) 2004, Outercurve Foundation. | |
This software is released under Microsoft Reciprocal License (MS-RL). | |
The license and further copyright text can be found in the file | |
LICENSE.TXT at the root directory of the distribution. | |
</copyright> | |
--> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" | |
xmlns:html="http://www.w3.org/1999/xhtml" | |
targetNamespace="http://schemas.microsoft.com/wix/FirewallExtension" | |
xmlns="http://schemas.microsoft.com/wix/FirewallExtension"> | |
<xs:annotation> | |
<xs:documentation> | |
The source code schema for the Windows Installer XML Toolset Firewall Extension. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" /> | |
<xs:element name="FirewallException"> | |
<xs:annotation> | |
<xs:documentation> | |
Registers an exception for a program or a specific port and protocol in the Windows Firewall | |
on Windows XP SP2, Windows Server 2003 SP1, and later. For more information about the Windows | |
Firewall, see <html:a href="http://msdn2.microsoft.com/en-us/library/aa364679.aspx"> | |
About Windows Firewall API</html:a>. | |
</xs:documentation> | |
<xs:appinfo> | |
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" /> | |
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" /> | |
</xs:appinfo> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
Explicitly-listed remote addresses that this exception allows through the | |
firewall. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:element ref="RemoteAddress" /> | |
</xs:choice> | |
<xs:attribute name="Id" type="xs:string" use="required"> | |
<xs:annotation> | |
<xs:documentation> | |
Unique ID of this firewall exception. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="Name" type="xs:string" use="required"> | |
<xs:annotation> | |
<xs:documentation> | |
Name of this firewall exception, visible to the user in the firewall | |
control panel. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="Scope"> | |
<xs:annotation> | |
<xs:documentation> | |
The scope of this firewall exception, which indicates whether incoming | |
connections can come from any computer including those on the Internet | |
or only those on the local network subnet. To more precisely specify | |
allowed remote address, specify a custom scope using RemoteAddress | |
child elements. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:NMTOKEN"> | |
<xs:enumeration value="any" /> | |
<xs:enumeration value="localSubnet" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
<xs:attribute name="Port" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation> | |
Port to allow through the firewall for this exception. | |
If you use Port and also File or Program in the same | |
FirewallException element, the exception will fail to install on | |
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to | |
ignore the resulting failure, but the exception will not be added. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="Protocol"> | |
<xs:annotation> | |
<xs:documentation> | |
IP protocol used for this firewall exception. If Port is defined, | |
"tcp" is assumed if the protocol is not specified. | |
If you use Protocol and also File or Program in the same | |
FirewallException element, the exception will fail to install on | |
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to | |
ignore the resulting failure, but the exception will not be added. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:NMTOKEN"> | |
<xs:enumeration value="tcp" /> | |
<xs:enumeration value="udp" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
<xs:attribute name="File" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation> | |
Identifier of a file to be granted access to all incoming ports and | |
protocols. If you use File, you cannot also use Program. | |
If you use File and also Port or Protocol in the same | |
FirewallException element, the exception will fail to install on | |
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to | |
ignore the resulting failure, but the exception will not be added. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="Program" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation> | |
Path to a target program to be granted access to all incoming ports and | |
protocols. Note that this is a formatted field, so you can use [#fileId] | |
syntax to refer to a file being installed. If you use Program, you cannot | |
also use File. | |
If you use Program and also Port or Protocol in the same | |
FirewallException element, the exception will fail to install on | |
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to | |
ignore the resulting failure, but the exception will not be added. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="IgnoreFailure" type="YesNoType"> | |
<xs:annotation> | |
<xs:documentation> | |
If "yes," failures to register this firewall exception will be silently | |
ignored. If "no" (the default), failures will cause rollback. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="Profile"> | |
<xs:annotation> | |
<xs:documentation> | |
Profile type for this firewall exception. Default is "all". | |
</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:NMTOKEN"> | |
<xs:enumeration value="domain" /> | |
<xs:enumeration value="private" /> | |
<xs:enumeration value="public" /> | |
<xs:enumeration value="all" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
<xs:attribute name="Description" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation> | |
Description for this firewall rule displayed in Windows Firewall manager in | |
Windows Vista and later. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="RemoteAddress"> | |
<xs:annotation> | |
<xs:documentation> | |
A remote address to which the port or program can listen. Address formats vary | |
based on the version of Windows and Windows Firewall the program is being installed | |
on. For Windows XP SP2 and Windows Server 2003 SP1, see | |
<html:a href="http://msdn2.microsoft.com/en-us/library/aa365270.aspx"> | |
RemoteAddresses Property</html:a>. | |
For Windows Vista and Windows Server 2008, see | |
<html:a href="http://msdn2.microsoft.com/en-us/library/aa365366.aspx"> | |
RemoteAddresses Property</html:a>. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:annotation> | |
<xs:documentation> | |
A remote address. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:simpleType name="YesNoType"> | |
<xs:annotation> | |
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base='xs:NMTOKEN'> | |
<xs:enumeration value="no"/> | |
<xs:enumeration value="yes"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:schema> |