blob: e072ddae29634b5f21d0c9a794eb8e9d27598e0d [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="difxapp.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:html="http://www.w3.org/1999/xhtml"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
targetNamespace="http://schemas.microsoft.com/wix/DifxAppExtension"
xmlns="http://schemas.microsoft.com/wix/DifxAppExtension">
<xs:annotation>
<xs:documentation>
The source code schema for the Windows Installer XML Toolset Driver Install Frameworks for Applications Extension.
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
<xs:element name="Driver">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
Installs a driver. To use this element, you need to reference the WixDifxAppExtension extension and add the
.wixlib appropriate for the target platform (difxapp_x86.wixlib or difxapp_x64.wixlib)
to your project.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="AddRemovePrograms" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies that the DIFxApp CustomActions should add an entry in the Add/Remove Programs Control
Panel applet. The default is 'yes'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DeleteFiles" type="YesNoType">
<xs:annotation>
<xs:documentation>
If set to "yes", configures DIFxApp to delete binary files that were copied to the system from the driver
store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not
remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the
Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table.
Setting DeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DeleteFiles to "no"
clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses a
default value of "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ForceInstall" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies that the DIFxApp CustomActions should force the installation of a new Plug and Play driver
on a device, even if the currently installed driver on the device is a better match than the new driver.
Specifying 'no' is an excellent way to ensure the DIFxApp CustomActions recognize the Component contains
a driver for installation. The default is null which means the Component does not install a driver via
DIFxApp CustomActions. See <html:a href='http://www.microsoft.com/whdc/driver/install/difxtools.mspx'>http://www.microsoft.com/whdc/driver/install/difxtools.mspx</html:a>
for more information.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Legacy" type="YesNoType">
<xs:annotation>
<xs:documentation>
If set to "yes", configures DIFxApp to install unsigned driver packages and driver packages with missing
files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper.
If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note
that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component
that represents the driver package in the MsiDriverPackages custom table. Setting Legacy to "yes" sets
the corresponding bit in the Flags entry value. Setting Legacy to "no" clears the bit in the Flags
entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present,
DIFxApp uses a default value of "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PlugAndPlayPrompt" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies that the DIFxApp CustomActions should prompt the user to connect the Plug and Play
device if it is not connected. The default is 'yes'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:integer">
<xs:annotation>
<xs:documentation>
Specifies an optional installation sequence number. DIFxApp CustomActions install the driver packages in
an installation package in the order of increasing sequence numbers. The same sequence number can be used
for more than one driver; however, the order in which packages with the same sequence number are actually
installed cannot be determined.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</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>