Light Task
The Light task wraps light.exe, the WiX linker. It supports a variety of settings that are described in more detail below. To control these settings in your .wixproj file, you can create a PropertyGroup and specify the settings that you want to use for your build process. The following is a sample PropertyGroup that contains settings that will be used by the Light task:
<PropertyGroup>
<LinkerTreatWarningsAsErrors>False</LinkerTreatWarningsAsErrors>
<LinkerVerboseOutput>True</LinkerVerboseOutput>
<SuppressIces>ICE18;ICE45;ICE82</SuppressIces>
<SuppressSpecificWarnings>1111</SuppressSpecificWarnings>
<TreatSpecificWarningsAsErrors>2222</TreatSpecificWarningsAsErrors>
<WixVariables>Variable1=value1;Variable2=value2</WixVariables>
</PropertyGroup>
The following table describes the common WiX MSBuild parameters that are applicable to the Light task.
Parameter | Description |
BindInputPaths | Optional string parameter. Specifies a binder path that should be used to locate all files. This is equivalent to the -b <path> switch. Named BindPaths are created by prefixing the 2-or-more-character bucket name followed by an equal sign ("=") to the supplied path. |
BindFiles | Optional boolean parameter. Specifies that the tool should bind files into a .wixout file. This is only valid when the OutputAsXml parameter is also provided. This is equivalent to the -bf switch. |
Pedantic | Optional boolean parameter. Specifies that the tool should display pedantic messages. This is equivalent to the -pedantic switch. |
SuppressAllWarnings | Optional boolean parameter. Specifies that all warnings should be suppressed. This is equivalent to the -sw switch. |
SuppressIntermediateFileVersionMatching | Optional boolean parameter. Specifies that the tool should suppress intermediate file version mismatch checking. This is equivalent to the -sv switch. |
SuppressSchemaValidation | Optional boolean parameter. Specifies that schema validation of documents should be suppressed. This is equivalent to the -ss switch. |
SuppressSpecificWarnings | Optional string parameter. Specifies that certain warnings should be suppressed. This is equivalent to the -sw[N] switch. |
TreatSpecificWarningsAsErrors | Optional string parameter. Specifies that certain warnings should be treated as errors. This is equivalent to the -wx[N] switch. |
TreatWarningsAsErrors | Optional boolean parameter. Specifies that all warnings should be treated as errors. This is equivalent to the -wx switch. |
VerboseOutput | Optional boolean parameter. Specifies that the tool should provide verbose output. This is equivalent to the -v switch. |
The following table describes the parameters that are specific to the Light task.
Parameter | Description |
AllowIdenticalRows | Optional boolean parameter. Specifies that the linker should allow identical rows. Identical rows will be treated as warnings. This is equivalent to the -ai switch in light.exe. |
AllowDuplicateDirectoryIds | |
AllowUnresolvedReferences | Optional boolean parameter. Specifies that the linker should allow unresolved references. This will not create valid output. This is equivalent to the -au switch in light.exe. |
AdditionalCub | Optional string parameter. Specifies an additional .cub file that the linker should use when running ICE validation. This is equivalent to the -cub <file.cub> switch in light.exe. |
BackwardsCompatibleGuidGeneration | Optional boolean parameter. Specifies that the linker should use the backward compatible GUID generation algorithm. This is equivalent to the -bcgg switch in light.exe. |
CabinetCachePath | Optional string parameter. Specifies a path that the linker should use to cache built cabinet files. This is equivalent to the -cc <path> switch in light.exe. |
CabinetCreationThreadCount | Optional integer parameter. Specifies that number of threads that the linker should use when building cabinet files. This is equivalent to the -ct <N> switch in light.exe. |
Cultures | Optional string parameter. Specifies a semicolon or comma delimited list of localized string cultures to load from .wxl files and libraries. Precedence of cultures is from left to right. This is equivalent to the -cultures:<cultures> switch in light.exe. |
DefaultCompressionLevel | Optional string parameter. Specifies the compression level that the linker should use when building cabinet files. Valid values are low, medium, high, none and mszip. This is equivalent to the -dcl:<level> switch in light.exe. |
DropUnrealTables | Optional boolean parameter. Specifies that the linker should drop unreal tables from the output image. This is equivalent to the -dut switch in light.exe. |
ExactAssemblyVersions | Optional boolean parameter. Specifies that the linker should use exact assembly versions. This is equivalent to the -eav switch in light.exe. |
Ices | Optional string parameter. Specifies that the linker should run specific internal consistency evaluators (ICEs). This is equivalent to the -ice:<ICE> switch in light.exe. |
LeaveTemporaryFiles | Optional boolean parameter. Specifies that the linker should not delete temporary files. This is equivalent to the -notidy switch in light.exe. |
LinkerAdditionalOptions | Optional string parameter. Specifies additional command line parameters to append when calling light.exe. |
LinkerBindInputPaths | Optional string parameter. Specifies a binder path that the linker should use to locate all files. This is equivalent to the -b <path> switch in light.exe. Named BindPaths are created by prefixing the 2-or-more-character bucket name followed by an equal sign ("=") to the supplied path. |
LinkerBindFiles | Optional boolean parameter. Specifies that the linker should bind files into a .wixout file. This is only valid when the OutputAsXml parameter is also provided. This is equivalent to the -bf switch in light.exe. |
LinkerPedantic | Optional boolean parameter. Specifies that the linker should display pedantic messages. This is equivalent to the -pedantic switch in light.exe. |
LinkerSuppressAllWarnings | Optional boolean parameter. Specifies that all linker warnings should be suppressed. This is equivalent to the -sw switch in light.exe. |
LinkerSuppressIntermediateFileVersionMatching | Optional boolean parameter. Specifies that the linker should suppress intermediate file version mismatch checking. This is equivalent to the -sv switch in light.exe. |
LinkerSuppressSchemaValidation | Optional boolean parameter. Specifies that the linker should suppress schema validation of documents. This is equivalent to the -ss switch in light.exe. |
LinkerSuppressSpecificWarnings | Optional string parameter. Specifies that certain linker warnings should be suppressed. This is equivalent to the -sw[N] switch in light.exe. |
LinkerTreatSpecificWarningsAsErrors | Optional string parameter. Specifies that certain linker warnings should be treated as errors. This is equivalent to the -wx[N] switch in light.exe. |
LinkerTreatWarningsAsErrors | Optional boolean parameter. Specifies that all linker warnings should be treated as errors. This is equivalent to the -wx switch in light.exe. |
LinkerVerboseOutput | Optional boolean parameter. Specifies that the linker should provide verbose output. This is equivalent to the -v switch in light.exe. |
OutputAsXml | Optional boolean parameter. Specifies that the linker should output a .wixout file instead of a .msi file. This is equivalent to the -xo switch in light.exe. |
PdbOutputFile | Optional string parameter. Specifies that the linker should create the output .wixpdb file with the provided name. This is equivalent to the -pdbout <output.wixpdb> switch in light.exe. |
ReuseCabinetCache | Optional boolean parameter. Specifies that the linker should reuse cabinet files from the cabinet cache. This is equivalent to the -reusecab switch in light.exe. |
SetMsiAssemblyNameFileVersion | Optional boolean parameter. Specifies that the linker should add a fileVersion entry to the MsiAssemblyName table for each assembly. This is equivalent to the -fv switch in light.exe. |
SuppressAclReset | Optional boolean parameter. Specifies that the linker should suppress resetting ACLs. This is useful when laying out an image to a network share. This is equivalent to the -sacl switch in light.exe. |
SuppressAssemblies | Optional boolean parameter. Specifies that the linker should not get assembly name information for assemblies. This is equivalent to the -sa switch in light.exe. |
SuppressDefaultAdminSequenceActions | Optional boolean parameter. Specifies that the linker should suppress default admin sequence actions. This is equivalent to the -sadmin switch in light.exe. |
SuppressDefaultAdvSequenceActions | Optional boolean parameter. Specifies that the linker should suppress default advertised sequence actions. This is equivalent to the -sadv switch in light.exe. |
SuppressDefaultUISequenceActions | Optional boolean parameter. Specifies that the linker should suppress default UI sequence actions. This is equivalent to the -ui switch in light.exe. |
SuppressFileHashAndInfo | Optional boolean parameter. Specifies that the linker should suppress gathering file information (hash, version, language, etc). This is equivalent to the -sh switch in light.exe. |
SuppressFiles | Optional boolean parameter. Specifies that the linker should suppress gathering all file data. This has the same effect as setting the SuppressAssemblies adn SuppressFileHashAndInfo parameters. This is equivalent to the -sf switch in light.exe. |
SuppressIces | Optional string parameter. Specifies that the linker should suppress running specific ICEs. This is equivalent to the -sice:<ICE> switch in light.exe. |
SuppressLayout | Optional boolean parameter. Specifies that the linker should suppress layout creation. This is equivalent to the -sl switch in light.exe. |
SuppressMsiAssemblyTableProcessing | Optional boolean parameter. Specifies that the linker should suppress processing the data in the MsiAssembly table. This is equivalent to the -sma switch in light.exe. |
SuppressPatchSequenceData | Optional boolean parameter. Specifies that the linker should suppress patch sequence data in patch XML to decrease bundle size and increase patch applicability performance (patch packages themselves are not modified). |
SuppressPdbOutput | Optional boolean parameter. Specifies that the linker should suppress outputting .wixpdb files. This is equivalent to the -spdb switch in light.exe. |
SuppressValidation | Optional boolean parameter. Specifies that the linker should suppress .msi and .msm validation. This is equivalent to the -sval switch in light.exe. |
SuppressTagSectionIdAttributeOnTuples | Optional boolean parameter. Specifies that the linker should suppress adding the sectionId attribute on rows. This is equivalent to the -sts switch in light.exe. |
UnreferencedSymbolsFile | Optional string parameter. Specifies an unreferenced symbols file that the linker should use. This is equivalent to the -usf <output.xml> switch in light.exe. |
WixVariables | Optional string parameter. Specifies a semicolon-delimited list of bind-time WiX variables. This is equivalent to the -d<name>[=<value] switch in light.exe. |