1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
<element name="NativeImage">
<annotation>
<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 [NGen](https://learn.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator).
</documentation>
<appinfo>
<parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="File" />
<remarks>
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.
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.
</remarks>
</appinfo>
</annotation>
<complexType>
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax">
<annotation>
<documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</documentation>
</annotation>
</any>
</choice>
<attribute name="Id" type="xs:string">
<annotation>
<documentation>Identifier for the native image in the output database. If the Id is not specified, one will be generated.</documentation>
</annotation>
</attribute>
<attribute name="AppBaseDirectory" type="xs:string">
<annotation>
<documentation>
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.
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.
</documentation>
</annotation>
</attribute>
<attribute name="AssemblyApplication" type="xs:string">
<annotation>
<documentation>
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.
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.
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").
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).
</documentation>
</annotation>
</attribute>
<attribute name="Debug" type="wxs:YesNoTypeUnion">
<annotation>
<documentation>
Set to "yes" to generate native images that can be used under a debugger.
The default value is "no".
</documentation>
</annotation>
</attribute>
<attribute name="Dependencies" type="wxs:YesNoTypeUnion">
<annotation>
<documentation>
Set to "no" to generate the minimum number of native images.
The default value is "yes".
</documentation>
</annotation>
</attribute>
<attribute name="Platform" type="NativeImagePreprocessorPlatformType">
<annotation>
<documentation>
Sets the platform(s) for which native images will be generated.
</documentation>
</annotation>
</attribute>
<attribute name="Priority">
<annotation>
<documentation>
Sets the priority of generating the native images for this assembly.
</documentation>
</annotation>
<simpleType>
<restriction base="xs:NMTOKEN">
<enumeration value="0">
<annotation>
<documentation>
This is the highest priority, it means that image generation occurs
and completes during setup. This option ensures images are generated
by the time setup is complete.
</documentation>
</annotation>
</enumeration>
<enumeration value="1">
<annotation>
<documentation>
This will queue image generation to the NGen service to occur immediately.
This option will slow down setup performance.
</documentation>
</annotation>
</enumeration>
<enumeration value="2">
<annotation>
<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.
</documentation>
</annotation>
</enumeration>
<enumeration value="3">
<annotation>
<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.
</documentation>
</annotation>
</enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="Profile" type="wxs:YesNoTypeUnion">
<annotation>
<documentation>
Set to "yes" to generate native images that can be used under a profiler.
The default value is "no".
</documentation>
</annotation>
</attribute>
<anyAttribute namespace="##other" processContents="lax">
<annotation>
<documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</documentation>
</annotation>
</anyAttribute>
</complexType>
</element>
|