WiX Database XML Schema

Element: File

Description

File specification for File table, must be child node of Component.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  No    The unique identifier for this File element.
CompanionFile  string  No    Set this attribute to make this file a companion child of another file.
Name  LongFileNameType  No    In prior versions of the WiX toolset, this attribute specified the short file name. This attribute's value may now be either a short or long file name.
LongName  LongFileNameType  No     
KeyPath  YesNoType  No    Set to yes in order to force this file to be the key path for the parent component.
ShortName  ShortFileNameType  No    The short file name of the file in 8.3 format.
ReadOnly  YesNoType  No    Set to yes in order to have the file's read-only attribute set when it is installed on the target machine.
Hidden  YesNoType  No    Set to yes in order to have the file's hidden attribute set when it is installed on the target machine.
System  YesNoType  No    Set to yes in order to have the file's system attribute set when it is installed on the target machine.
Vital  YesNoType  No    If a file is vital, then installation cannot proceed unless the file is successfully installed.
Checksum  YesNoType  No    This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header.
Compressed  YesNoDefaultType  No    Sets the file's source type compression.
BindPath  string  No    A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs.
SelfRegCost  integer  No    The cost of registering the file in bytes.
TrueType  YesNoType  No    Causes an entry to be generated for the file in the Font table with no FontTitle specified.
FontTitle  string  No    Causes an entry to be generated for the file in the Font table with the specified FontTitle.
DefaultLanguage  string  No    This is the default language of this file.
DefaultSize  integer  No    This is the default size of this file.
DefaultVersion  string  No    This is the default version of this file.
Assembly  NMTOKEN (restriction)  No    Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the Global Assembly Cache.
AssemblyManifest  string  No    Specifies the file identifier of the manifest file that describes this assembly.
AssemblyApplication  string  No    Specifies the file identifier of the application file.
ProcessorArchitecture  NMTOKEN (restriction)  No    Specifies the architecture for this assembly.
DiskId  integer  No    Specifies the Media this File should be sourced on.
Source  string  No    Specifies the path to the File in the build process.
src  string  No     
PatchGroup  integer  No    This attribute must be set for patch-added files.
PatchIgnore  YesNoType  No    Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images.
PatchAllowIgnoreOnError  YesNoType  No    Set to indicate that the patch is non-vital.
PatchWholeFile  YesNoType  No    Set if the entire file should be installed rather than creating a binary patch.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
AppId  anyType (restriction)  1..1  Application ID containing DCOM information for the associated application GUID.

AssemblyName  anyType (restriction)  1..1  The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.

Class  anyType (restriction)  1..1  COM Class registration for parent Component.
CopyFile  anyType (restriction)  1..1  Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination.
ODBCDriver  anyType (restriction)  1..1  ODBCDriver for a Component
ODBCTranslator  anyType (restriction)  1..1  ODBCTranslator for a Component
Permission  anyType (restriction)  1..1  Sets ACLs on File, Registry, or CreateFolder.
Shortcut  anyType (restriction)  1..1  Shortcut, default target is parent File, CreateFolder, or Component's Directory
SymbolPath  anyType (restriction)  1..1  A path to symbols.
TypeLib  anyType (restriction)  1..1  Register a type library (TypeLib).

Referenced By

Definition

<xs:element name="File">
<xs:annotation>
<xs:documentation>
File specification for File table, must be child node of Component.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="File" href="http://msdn.microsoft.com/library/aa368596.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AssemblyName" />
<xs:element ref="Permission">
<xs:annotation>
<xs:documentation>Used to configure the ACLs for this file.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CopyFile">
<xs:annotation>
<xs:documentation>Used to create a duplicate of this file elsewhere.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Shortcut">
<xs:annotation>
<xs:documentation>Target of the shortcut will be set to this file.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ODBCDriver" />
<xs:element ref="ODBCTranslator" />
<xs:element ref="SymbolPath" />
<xs:element ref="Class" />
<xs:element ref="AppId" />
<xs:element ref="TypeLib" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
The unique identifier for this File element. If you omit Id, it defaults to the file name portion of the Source attribute, if specified. May be referenced as a Property by specifying [#value].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CompanionFile" type="xs:string">
<xs:annotation>
<xs:documentation>Set this attribute to make this file a companion child of another file. The installation
state of a companion file depends not on its own file versioning information, but on the versioning of its
companion parent. A file that is the key path for its component can not be a companion file (that means
this attribute cannot be set if KeyPath="yes" for this file). The Version attribute cannot be set along
with this attribute since companion files are not installed based on their own version.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short file name.
This attribute's value may now be either a short or long file name.
If a short file name is specified, the ShortName attribute may not be specified.
If a long file name is specified, the LongName attribute may not be specified.
Also, if this value is a long file name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short file name.
However, if this name collides with another file or you wish to manually specify
the short file name, then the ShortName attribute may be specified.
Finally, if this attribute is omitted then its default value is the file name portion
of the Source attribute, if one is specified, or the value of the Id attribute, if
the Source attribute is omitted or doesn't contain a file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to force this file to be the key path for the parent component.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
This attribute should only be set if there is a conflict between generated short file names
or the user wants to manually specify the short file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- 'Attributes' column integer value generated from XML attributes below -->
<xs:attribute name="ReadOnly" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's read-only attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's hidden attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="System" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's system attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Vital" type="YesNoType">
<xs:annotation>
<xs:documentation>If a file is vital, then installation cannot proceed unless the file is successfully installed. The user will have no option to ignore an error installing this file. If an error occurs, they can merely retry to install the file or abort the installation. The default is "yes," unless the -sfdvital switch (candle.exe) or SuppressFileDefaultVital property (.wixproj) is used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Checksum" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header. Only those files that have this attribute set will be verified for valid checksum during a reinstall.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Compressed" type="YesNoDefaultType">
<xs:annotation>
<xs:documentation>Sets the file's source type compression. A setting of "yes" or "no" will override the setting in the Word Count Summary Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BindPath" type="xs:string">
<xs:annotation>
<xs:documentation>A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. The list is usually a list of properties, with each property enclosed inside square brackets. The value may be set to an empty string. Including this attribute will cause an entry to be generated for the file in the BindImage table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SelfRegCost" type="xs:integer">
<xs:annotation>
<xs:documentation>The cost of registering the file in bytes. This must be a non-negative number. Including this attribute will cause an entry to be generated for the file in the SelfReg table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TrueType" type="YesNoType">
<xs:annotation>
<xs:documentation>Causes an entry to be generated for the file in the Font table with no FontTitle specified. This attribute is intended to be used to register the file as a TrueType font.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FontTitle" type="xs:string">
<xs:annotation>
<xs:documentation>Causes an entry to be generated for the file in the Font table with the specified FontTitle. This attribute is intended to be used to register the file as a non-TrueType font.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultLanguage" type="xs:string">
<xs:annotation>
<xs:documentation>This is the default language of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultSize" type="xs:integer">
<xs:annotation>
<xs:documentation>This is the default size of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultVersion" type="xs:string">
<xs:annotation>
<xs:documentation>This is the default version of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- assembly information -->
<xs:attribute name="Assembly">
<xs:annotation>
<xs:documentation>
Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the
Global Assembly Cache. If the value is '.net' or 'win32', this file must also be the key path of the Component.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value=".net">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="no">
<xs:annotation>
<xs:documentation>
The file is not a .NET Framework or Win32 assembly. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="win32">
<xs:annotation>
<xs:documentation>
The file is a Win32 assembly.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AssemblyManifest" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the file identifier of the manifest file that describes this assembly.
The manifest file should be in the same component as the assembly it describes.
This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AssemblyApplication" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the file identifier of the application file. This assembly will be isolated
to the same directory as the application file.
If this attribute is absent, the assembly will be installed to the Global Assembly Cache.
This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProcessorArchitecture">
<xs:annotation>
<xs:documentation>Specifies the architecture for this assembly. This attribute should only be used on .NET Framework 2.0 assemblies.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="msil">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly that is processor-neutral.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x86">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the x86 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x64">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the x64 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ia64">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the ia64 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>Specifies the Media this File should be sourced on. This attribute overrides the default DiskId attribute from the parent Component element. If no DiskId attribute is specifed, the default is "1".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Source" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the path to the File in the build process. This attribute must be set if no source information can be gathered from parent directories.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Source" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchGroup" type="xs:integer">
<xs:annotation>
<xs:documentation>
This attribute must be set for patch-added files. Each patch should be assigned a different patch group number. Patch groups
numbers must be greater 0 and should be assigned consecutively. For example, the first patch should use PatchGroup='1', the
second patch will have PatchGroup='2', etc...
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchIgnore" type="YesNoType">
<xs:annotation>
<xs:documentation>Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchAllowIgnoreOnError" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to indicate that the patch is non-vital.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchWholeFile" type="YesNoType">
<xs:annotation>
<xs:documentation>Set if the entire file should be installed rather than creating a binary patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>