You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							240 lines
						
					
					
						
							14 KiB
						
					
					
				
			
		
		
	
	
							240 lines
						
					
					
						
							14 KiB
						
					
					
				<?xml version="1.0" encoding="utf-8"?> | 
						|
<!-- | 
						|
  <copyright file="netfx.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/NetFxExtension" | 
						|
              xmlns="http://schemas.microsoft.com/wix/NetFxExtension"> | 
						|
    <xs:annotation> | 
						|
        <xs:documentation> | 
						|
            The source code schema for the Windows Installer XML Toolset .NET Framework Extension. | 
						|
        </xs:documentation> | 
						|
    </xs:annotation> | 
						|
 | 
						|
    <xs:element name="NativeImage"> | 
						|
        <xs:annotation> | 
						|
            <xs:documentation> | 
						|
                Improves the performance of managed applications by creating native images. | 
						|
                Requires the .NET Framework 2.0 or newer to be installed on the target machine since | 
						|
                it runs <html:a href="http://msdn2.microsoft.com/en-us/library/6t9t5wcf.aspx">NGen</html:a>. | 
						|
            </xs:documentation> | 
						|
            <xs:appinfo> | 
						|
                <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" /> | 
						|
                <xse:remarks> | 
						|
                    <html:p> | 
						|
                        Native images are files containing compiled processor-specific machine code, which | 
						|
                        are installed into the native image cache on the local computer. The runtime | 
						|
                        can use native images from the cache instead using the just-in-time (JIT) | 
						|
                        compiler to compile the original assembly. | 
						|
                    </html:p> | 
						|
                    <html:p> | 
						|
                        The native image custom actions are configured to ignore failures so that failing | 
						|
                        to generate or remove a native image will not cause setup to fail and roll back. | 
						|
                    </html:p> | 
						|
                    <html:p> | 
						|
                        <html:b>Note for patches:</html:b> if you built your target, or baseline, MSI with | 
						|
                        previous versions 3.0 or 3.5 of this extension and want to upgrade to formattable | 
						|
                        values for @AssemblyApplication or @AppBaseDirectory you must also include a | 
						|
                        BinaryRef to "NetFxCA" to pull in necessary changes. If you do use formattable | 
						|
                        values and do not include the binary changes ngen.exe will not optimize your | 
						|
                        native images for the specified application. | 
						|
                    </html:p> | 
						|
                    <html:p> | 
						|
                        This should be a rare occurrence, however. Because you cannot remove components | 
						|
                        in a patch - and pyro does validate you do not - it is not practical to switch | 
						|
                        from using identifiers to formattable values in a patch. One practical possibility | 
						|
                        is if you wanted to use a different application to optimize your native images | 
						|
                        and that application is not already installed with the MSI to be updated. | 
						|
                    </html:p> | 
						|
                </xse:remarks> | 
						|
            </xs:appinfo> | 
						|
        </xs:annotation> | 
						|
        <xs:complexType> | 
						|
            <xs:attribute name="Id" type="xs:string" use="required"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        The identifier for this NativeImage. | 
						|
                    </xs:documentation> | 
						|
                </xs:annotation> | 
						|
            </xs:attribute> | 
						|
            <xs:attribute name="AppBaseDirectory" type="xs:string"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        <html:p> | 
						|
                            The directory to use for locating dependent assemblies. | 
						|
                            For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC), | 
						|
                            this attribute should be set to the directory of the application which loads this | 
						|
                            assembly.  For EXE assemblies, this attribute does not need to be set because NGen | 
						|
                            will use the directory of the assembly file by default. | 
						|
                        </html:p> | 
						|
                        <html:p> | 
						|
                            The value can be in the form of a directory identifier, or a formatted string | 
						|
                            that resolves to either a directory identifier or a full path to a directory. | 
						|
                        </html:p> | 
						|
                    </xs:documentation> | 
						|
                </xs:annotation> | 
						|
            </xs:attribute> | 
						|
            <xs:attribute name="AssemblyApplication" type="xs:string"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        <html:p> | 
						|
                            The application which will load this assembly. | 
						|
                            For DLL assemblies which are loaded via reflection, this attribute should | 
						|
                            be set to indicate the application which will load this assembly. | 
						|
                            The configuration of the application (usually specified via an exe.config file) will be used | 
						|
                            to determine how to resolve dependencies for this assembly. | 
						|
                        </html:p> | 
						|
                        <html:p> | 
						|
                            The value can be in the form of a file identifier, or a formatted string | 
						|
                            that resolves to either a file identifier or a full path to a file. | 
						|
                        </html:p> | 
						|
                        <html:p> | 
						|
                            When a shared component is loaded at run time, using the Load method, the | 
						|
                            application's configuration file determines the dependencies that are loaded | 
						|
                            for the shared component — for example, the version of a dependency that is loaded. | 
						|
                            This attribute gives guidance on which dependencies would be loaded at run time in order | 
						|
                            to figure out which dependency assemblies will also need to have native images generated | 
						|
                            (assuming the Dependency attribute is not set to "no"). | 
						|
                        </html:p> | 
						|
                        <html:p> | 
						|
                            This attribute cannot be set if the AssemblyApplication attribute is set on the parent | 
						|
                            File element (please note that these attributes both refer to the same application | 
						|
                            assembly but do very different things: specifiying File/@AssemblyApplication will force | 
						|
                            an assembly to install to a private location next to the indicated application, whereas | 
						|
                            this AssemblyApplication attribute will be used to help resolve dependent assemblies | 
						|
                            while generating native images for this assembly). | 
						|
                        </html:p> | 
						|
                    </xs:documentation> | 
						|
                </xs:annotation> | 
						|
            </xs:attribute> | 
						|
            <xs:attribute name="Debug" type="YesNoType"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        Set to "yes" to generate native images that can be used under a debugger. | 
						|
                        The default value is "no". | 
						|
                    </xs:documentation> | 
						|
                </xs:annotation> | 
						|
            </xs:attribute> | 
						|
            <xs:attribute name="Dependencies" type="YesNoType"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        Set to "no" to generate the minimum number of native images. | 
						|
                        The default value is "yes". | 
						|
                    </xs:documentation> | 
						|
                </xs:annotation> | 
						|
            </xs:attribute> | 
						|
            <xs:attribute name="Platform"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        Sets the platform(s) for which native images will be generated. | 
						|
                    </xs:documentation> | 
						|
                </xs:annotation> | 
						|
                <xs:simpleType> | 
						|
                    <xs:restriction base="xs:NMTOKEN"> | 
						|
                        <xs:enumeration value="32bit"> | 
						|
                            <xs:annotation> | 
						|
                                <xs:documentation> | 
						|
                                    Attempt to generate native images only for the 32-bit version of the .NET Framework | 
						|
                                    on the target machine.  If the 32-bit version of the .NET Framework 2.0 or newer is not | 
						|
                                    present on the target machine, native image custom actions will not be scheduled. | 
						|
                                    This is the default value. | 
						|
                                </xs:documentation> | 
						|
                            </xs:annotation> | 
						|
                        </xs:enumeration> | 
						|
                        <xs:enumeration value="64bit"> | 
						|
                            <xs:annotation> | 
						|
                                <xs:documentation> | 
						|
                                    Attempt to generate native images only for the 64-bit version of the .NET Framework | 
						|
                                    on the target machine.  If a 64-bit version of the .NET Framework 2.0 or newer is not | 
						|
                                    present on the target machine, native image custom actions will not be scheduled. | 
						|
                                </xs:documentation> | 
						|
                            </xs:annotation> | 
						|
                        </xs:enumeration> | 
						|
                        <xs:enumeration value="all"> | 
						|
                            <xs:annotation> | 
						|
                                <xs:documentation> | 
						|
                                    Attempt to generate native images for the 32-bit and 64-bit versions of the .NET Framework | 
						|
                                    on the target machine.  If a version of the .NET Framework 2.0 or newer is not present on the | 
						|
                                    target machine for a processor architecture, native image custom actions will not be | 
						|
                                    scheduled for that processor architecture. | 
						|
                                </xs:documentation> | 
						|
                            </xs:annotation> | 
						|
                        </xs:enumeration> | 
						|
                    </xs:restriction> | 
						|
                </xs:simpleType> | 
						|
            </xs:attribute> | 
						|
            <xs:attribute name="Priority"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        Sets the priority of generating the native images for this assembly. | 
						|
                    </xs:documentation> | 
						|
                </xs:annotation> | 
						|
                <xs:simpleType> | 
						|
                    <xs:restriction base="xs:NMTOKEN"> | 
						|
                        <xs:enumeration value="0"> | 
						|
                            <xs:annotation> | 
						|
                                <xs:documentation> | 
						|
                                    This is the highest priority, it means that image generation occurs syncronously | 
						|
                                    during the setup process.  This option will slow down setup performance. | 
						|
                                </xs:documentation> | 
						|
                            </xs:annotation> | 
						|
                        </xs:enumeration> | 
						|
                        <xs:enumeration value="1"> | 
						|
                            <xs:annotation> | 
						|
                                <xs:documentation> | 
						|
                                    This will queue image generation to the NGen service to occur immediately. | 
						|
                                    This option will slow down setup performance. | 
						|
                                </xs:documentation> | 
						|
                            </xs:annotation> | 
						|
                        </xs:enumeration> | 
						|
                        <xs:enumeration value="2"> | 
						|
                            <xs:annotation> | 
						|
                                <xs:documentation> | 
						|
                                    This will queue image generation to the NGen service to occur after all priority 1 | 
						|
                                    assemblies have completed. | 
						|
                                    This option will slow down setup performance. | 
						|
                                </xs:documentation> | 
						|
                            </xs:annotation> | 
						|
                        </xs:enumeration> | 
						|
                        <xs:enumeration value="3"> | 
						|
                            <xs:annotation> | 
						|
                                <xs:documentation> | 
						|
                                    This is the lowest priority, it will queue image generation to occur when the | 
						|
                                    machine is idle. | 
						|
                                    This option should not slow down setup performance. | 
						|
                                    This is the default value. | 
						|
                                </xs:documentation> | 
						|
                            </xs:annotation> | 
						|
                        </xs:enumeration> | 
						|
                    </xs:restriction> | 
						|
                </xs:simpleType> | 
						|
            </xs:attribute> | 
						|
            <xs:attribute name="Profile" type="YesNoType"> | 
						|
                <xs:annotation> | 
						|
                    <xs:documentation> | 
						|
                        Set to "yes" to generate native images that can be used under a profiler. | 
						|
                        The default value is "no". | 
						|
                    </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>
 | 
						|
 |