introduction to wix · the windows installer xml (wix) platform is a set of tools and...
TRANSCRIPT
![Page 1: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/1.jpg)
IntroductiontoWiX
WhatisWiX?TheWindowsInstallerXML(WiX)platformisasetoftoolsandspecificationsthatallowyoutoeasilycreateWindowsInstallerdatabasefiles(MSIandMSM).TheWiXtoolsmodelthetraditionalcompileandlinkmodelusedtocreateexecutablesfromsourcecode.ForWiX,sourcecodeiswritteninxmlfiles.Thesefilesarevalidatedagainstaschema,wix.xsd,thenprocessedbyapreprocessor,compiler,andlinkertocreatethedesiredresult.TheWiXplatformhasbeendesignedtoallowfortheeasycreationofmultipleWindowsInstallerdatabasesfromasmallsetofsourcefiles.
SchemaOverviewAuthoringToolsWiXFilesBuildingWiXBlogsGettingHelp
![Page 2: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/2.jpg)
WindowsInstallerXMLOverview
IntroductionWindowsInstallerXML,orWiX,providesaschemathatdescribesaWindowsInstallerdatabase(MSIorMSM),aswellastoolstoconverttheXMLdescriptionfilesintoausabledatabase.Thesecondversionoftheschema,wix.xsd,addsextracontenttoeasethecreationofmultipleWindowsInstallerdatabasesfromasinglesetofXMLdocuments.TheWiXtoolsmodelthetraditionalcompileandlinkmodelusedtocreateexecutablesfromsourcecode.ThisdocumentprovidesabriefintroductionhowtousethetoolstocompileandlinkWiXsourcecodeintoWindowsInstallerdatabases.
Note:ThisdocumentassumesyouhaveaworkingknowledgeoftheWindowsInstallerdatabaseformat.
![Page 3: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/3.jpg)
.wxs&.wixobj–WindowsInstallerXmlFilesA.wxsfileistheextensionusedbyallsourcefilesintheWindowsInstallerXMLsystem.These.wxsfilesareanalogousto.cppfilesforC++or.csfilesforC#.The.wxsfilesarepreprocessedthencompiledintoWiXobjectfileswhichusetheextension.wixobj.Whenallofthesourcefileshavebeencompiledintoobjectfiles,thelinkerisusedtocollecttheobjectfilestogetherandcreateaWindowsInstallerdatabase.Moredetailsonthecompilerandlinkerareprovidedlaterinthisdocument.
![Page 4: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/4.jpg)
Structureof.wxsfilesAll.wxsfilesarewell-formedXMLdocumentsthatcontainasinglerootelementnamed<Wix/>.TherestofthesourcefilemayormaynotadheretotheWiXschemabeforepreprocessing.However,afterbeingpreprocessedallsourcefilesmustconformtotheWiXschemaortheywillfailtocompile.
Theroot<Wix/>elementcancontainatmostoneofthefollowingtwoelementsaschildren:<Product/>,<Module/>.However,therecanbeanunboundednumber<Fragment/>elementsaschildrenoftheroot<Wix/>element.Whenasourcefileiscompiledintoanobjectfile,eachinstanceoftheseelementscreatesanewsectionintheobjectfile.Therefore,thesethreeelementsareoftenreferredtoassectionelements.
Itisimportanttonote,thattherecanbeonlyone<Product/>or<Module/>sectionelementpersourcefilebecausetheyarecompiledintospecialsectionscalledentrysections.Entrysectionsareusedasstartingpointsinthelinkingprocess.Sections,entrysections,andtheentirelinkingprocessaredescribedingreaterdetaillaterinthisdocument.
ThechildrenofthesectionelementsdefinethecontentsoftheWindowsInstallerdatabase.You’llrecognize<Property/>elementsthatmaptoentriesinthePropertytableandahierarchyof<Directory/>elementsthatbuilduptheDirectorytable.Mostelementscontainan“Id”attributethatwillactastheprimarykeyfortheresultingrowintheWindowsInstallerdatabase.Note,inthefirstreleaseoftheWiXschematheprimarykeywasrepresentedbythetextoftheelement.Thislocationfortheprimarykeywasundesirableforseveralreasonsandhasbeenmovedtothe“Id”attribute.Inmostcases,the“Id”attributealsodefinesasymbolwhenthesourcefileiscompiledintoanobjectfile.
![Page 5: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/5.jpg)
SymbolsandreferencesEverysymbolinanobjectfileiscomposedoftheelementnameplustheuniqueidentifierfromthe“Id”attribute.Symbolsareimportantbecausetheycanbereferencedbyothersectionsfromanysourcefile.Forexample,a<Directory/>structurecanbedefinedina<Fragment/>inonesourcefileanda<Component/>canbedefinedunderadifferentsourcefile’s<Fragment/>.Bymakingthe<DirectoryRef/>elementaparentofthe<Component/>anexplicitreferenceiscreatedthatreferencesthesymboldefinedbya<Directory/>inthefirstsourcefile.ThelinkeristhenresponsibleforstitchingthesymbolandthereferencetogetherinasingleWindowsInstallerdatabase.Insomecases,implicitreferencesaregeneratedbythecompilerwhileprocessingasourcefile.Theseimplicitreferencesbehaveidenticallytoexplicitreferences.
Inadditiontothesimplereferencesdescribedabove,WiXsupportsspecificcomplexreferences.Complexreferencesareusedincaseswherethelinkermustgenerateextrainformationtolinkthesymbolandreferencetogether.TheperfectexampleofacomplexreferenceisintheWindowsInstaller’sFeature/Componentrelationship.Whena<Component/>isreferencedexplicitlybya<Feature/>througha<ComponentRef/>element,thelinkermusttakethe<Feature/>’ssymbolandthe<Component/>’ssymbolandaddanentrytotheFeatureComponentstable.
ThisFeature/Componentrelationshipisevenmorecomplexbecausecertainelementsina<Component/>,forexample<Shortcut/>,havereferencesbacktotheprimaryFeatureassociatedwiththeComponent.Thesereferencesfromachildelementofa<Component/>arecalledreversereferencesorsometimesfeaturebacklinks.Processingcomplexreferencesandreversereferencesisprobablythemostdifficultworkthelinkerhastodo.
NotetheprocessofdefiningandreferencingsymbolsisnewtothesecondversionoftheWiXtoolset.Previously,itwasnecessarytopackageComponentsintoMergeModulesandusethemergeprocesstodorudimentarysymbollinking.Thisnewsystemfordefiningsymbolsismoreflexible,andavoidstheoverheadofensuringeachMergeModule’s
![Page 6: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/6.jpg)
tokensareunique.
![Page 7: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/7.jpg)
Structureofthe.wixobjfileA.wixobjfileiscreatedbythecompilerforeachsourcefilecompiled.The.wixobjfileisanXMLdocumentthatfollowstheobjects.xsdschemadefinedintheWiXproject.Asstatedabovethe.wixobjfilecontainsoneormoresectionsthat,inturn,containsymbolsandreferencestoothersymbols.
Whilethesymbolsandreferencesarearguablythemostimportantpiecesofdatainthe.wixobjfile,theyarerarelythebulkoftheinformation.Instead,themajorityofmost.wixobjfilesarecomposedof<table/>,<row/>and<field/>elementsthatprovidetherawdatatobeplacedintheWindowsInstallerdatabase.Inmanycases,thelinkerwillnotonlyprocessthesymbolsandreferencesbutalsouseandupdatetherawdatafromthe.wixobjfile.
Itisinterestingtonotethattheobjectfileschema,objects.xsd,usescamelcasingwherethesourcefileschema,wix.xsd,usesPascalcasing.Thiswasaconsciouschoicetoindicatethattheobjectfilesarenotintendedtobeeditedbytheuser.Infact,allschemasthatdefinesdatatobeprocessedonlybytheWiXtoolsusecamelcasing.
![Page 8: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/8.jpg)
candle–WindowsInstallerXMLCompilerWindowsInstallerXMLcompilerisexposedbycandle.exe.candleisresponsibleforpreprocessingtheinput.wxsfilesintovalidwell-formedXMLdocumentsagainsttheWiXschema,wix.xsd.Then,eachpost-processedsourcefileiscompiledintoa.wixobjfile.
Thecompilationprocessisrelativelystraightforward.TheWiXschemalendsitselftoasimplerecursivedescentparser.Thecompilerprocesseseachelementinturncreatingnewsymbols,calculatingthenecessaryreferencesandgeneratingtherawdataforthe.wixobjfile.
Thesecondversionofcandleisnotsignificantlydifferentfromthefirstimplementation.Anychangeswereeithermadetoenablethenewsymbol/referencelinkingorbasedonfeedbackfromcustomers.Someofthedifferencesbetweenversionsinclude:thenewobjectfileformatisXMLinsteadofMSI,modularizationofprimarykeysnowhappensatlinktime,andbinarystreamsareimportedatlinktime.
![Page 9: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/9.jpg)
light–WindowsInstallerXMLLinkerTheWindowsInstallerXMLlinkerisexposedbylight.exe.lightisresponsibleforprocessingoneormore.wixobjfiles,retrievingmetadatafromvariousexternalfilesandcreatingaWindowsInstallerdatabase(MSIorMSM).Whennecessary,lightwillalsocreatecabinetsandembedstreamsinthecreatedWindowsInstallerdatabase.
Thelinkerbeginsbysearchingthesetofobjectfilesprovidedonthecommandlinetofindtheentrysection.Ifmorethanoneentrysectionisfound,lightfailswithanerror.ThisfailureisnecessarybecausetheentrysectiondefineswhattypeofWindowsInstallerdatabaseisbeingcreated,aMSI(<Product/>)orMSM(<Module/>).Itisnotpossibletocreatetwodatabasesfromasinglelinkoperation.
Whilethelinkerwasdeterminingtheentrysection,thesymbolsdefinedineachobjectfilearestoredinasymboltable.Aftertheentrysectionisfound,thelinkerattemptstoresolveallofthereferencesinthesectionbyfindingsymbolsinthesymboltable.Whenasymbolisfoundinadifferentsection,thelinkerrecursivelyattemptstoresolvereferencesinthenewsection.Thisprocessofgatheringthesectionsnecessarytoresolveallofthereferencescontinuesuntilallreferencesaresatisfied.Ifasymbolcannotbefoundinanyoftheprovidedobjectfiles,thelinkerabortsprocessingwithanerrorindicatingtheundefinedsymbol.
Afterallofthesectionshavebeenfound,complexandreversereferencesareprocessed.ThisprocessingiswhereComponentsandMergeModulesarehookedtotheirparentFeaturesor,inthecaseofMergeModules,ComponentsareaddedtotheModuleComponentstable.ThereversereferenceprocessingaddstheappropriateFeatureidentifiertothenecessaryfieldsforelementslike,Shortcut,Class,andTypeLib.
Onceallofthereferencesareresolved,thelinkerprocessesalloftherowsretrievingthelanguage,version,andhashforreferencedfiles,calculatingthemedialayout,andincludingthenecessarystandardactionstoensureasuccessfulinstallationsequence.Thispartoftheprocessingtypicallyendsupgeneratingadditionalrowsthatgetadded
![Page 10: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/10.jpg)
associatedwiththeentrysectiontoensuretheyareincludedinthefinalWindowsInstallerdatabase.
Finally,lightworksthroughthemechanicsofgeneratingIDTfilesandimportingthemintotheWindowsInstallerdatabase.Afterthedatabaseisfullycreated,thefinalpostprocessingisdonetomergeinanyMergeModulesandcreateacabinetifnecessary.TheresultisafullyfunctionalWindowsInstallerdatabase.
![Page 11: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/11.jpg)
AuthoringAuthoringistheprocessofwritingtheWiXsourcefilesnecessarytocreateaWindowsInstallerdatabase.Thesourcefiles,whichusuallyhavetheextension.wxs,areXMLdocumentsthatmustconformtotheWiXschema(foundinwix.xsd).
GettingStartedWiXStandardCustomActionsWiXOnlineTutorialExtensionsPatchBuildingUsingtheWixUIdialoglibraryWiXSchemaReferencePubCASchemaReference
![Page 12: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/12.jpg)
GettingStartedWiXcancreateWindowsInstallerdatabaseswhichinclude:WindowsInstallerpackages,MSIfiles,andMergeModules,MSMfiles.We’llstartbycreatingaWindowsInstallerpackagesothatyou’llhavesomethingthatyoucaninstallanduninstallquickly.Then,we’llcreateaMergeModuleandmergeitintoourexampleWindowsInstallerpackage.Finally,I’llcoverafewmoreadvancedtopicssuchashowtodefineCustomActionsandadeeperlookintosymbolsandreferences.
Topics:1. Yourfirst.wxsfile2. CreatingMergeModules3. AddingCustomActions4. MsiTablestoWiXSchemaTranslationGuide
![Page 13: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/13.jpg)
AuthoringYourFirst.wxsFilePickyourfavoriteXMLeditor—foralloftheexamples,I’llusenotepad--andcreateanewfilecalled“product.wxs”.Nothingaboutthatnameisspecial,butthe.wxsextensionletsusknowthatthisisaWindowsInstallerXmlSourceFile.Now,let’saddthethreelinesoftextall.wxsfileshave:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
</Wix>
Thatformstheouterskeletonforoursourcefileand,honestly,anyothersourcefileweeverwanttogetcompiled.Youcanfeedthisemptysourcefiletocandle.exeandgetoutanemptyobjectfile.Tellyouwhat,let'sdothat.Followthefollowingstepsandyoushouldseeverysimilaroutput:
C:\test>candleproduct.wxs
Microsoft(R)WindowsInstallerXmlCompilerversion1.0.1220.15022
Copyright(C)MicrosoftCorporation2003.Allrightsreserved
C:\test>typeproduct.wixobj
<?xmlversion="1.0"encoding="utf-8"?><wixObject
xmlns="http://schemas.microsoft.com/wix/2003/04/objects"
src="C:\test\product.wxs"/>
C:\test>
Let'snoticeacouplethingsbeforecontinuing.First,noticethatwhenthereisnoerrorcandledoesn'tprintanytextotherthanitsheader.Infact,youcanevensuppresstheheaderoutputbyspecifying"-nologo"onthecommandline.Inthatcase,candlewillprintnothingunlessthereisafailure.Second,noticethatthepathtotheoriginalsourcefileisstoredinthe.wixobjfile.Thiscanbeusefulwhentrackingdownwhereanerroriscomingfrom.Infact,thelinkerusesthat"src"attributetoprintmoreinformativeerrormessageswhenitencountersaproblem.
Okay,nowthatwe'veseenanemptysourcefilecreateanemptyobjectfile,let'screateaninstallableWindowsInstallerpackage.Addthefollowingcontenttoyourproduct.wxsfile:
![Page 14: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/14.jpg)
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='12345678-1234-1234-1234-123456789012'Name='TestPackage'Language='1033'
Version='1.0.0.0'Manufacturer='MicrosoftCorporation'>
<PackageId='12345678-1234-1234-1234-123456789012'
Description='MyfirstWindowsInstallerpackage'
Comments='ThisismyfirstattemptatcreatingaWindowsInstallerdatabase'
Manufacturer='MicrosoftCorporation'InstallerVersion='200'Compressed='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<ComponentId='MyComponent'Guid='12345678-1234-1234-1234-123456789012'/>
</Directory>
<FeatureId='MyFeature'Title='My1stFeature'Level='1'>
<ComponentRefId='MyComponent'/>
</Feature>
</Product>
</Wix>
ThisshouldallowustocreateaMSIwithaProductCodeof"{12345678-1234-1234-1234-123456789012}"withProductLanguageof"1033"andaProductVersionof"1.0.0.0".Allofthatinformationistakenfromthe<Product/>element.The<Package/>elementdefinesalloftheinformationthatgoesinourMSI'ssummaryinformationstream.Finally,asimple<Directory/>and<Feature/>treeiscreatedwithasingle<Component/>.ThisisenoughtogetourMSIregisteredonthemachine.
Solet'scompile,link,andinstallthentakealookattheregisteredpackagesforourMSI.Followtheinstructions:
Note:ThisMSIrequiresadminprivilegesandwillsilentlyfailifyouarenotinstallingasanAdministrator.
C:\test>candleproduct.wxs
Microsoft(R)WindowsInstallerXmlCompilerversion1.0.1220.15022
Copyright(C)MicrosoftCorporation2003.Allrightsreserved
product.wxs
C:\test>lightproduct.wixobj
Microsoft(R)WindowsInstallerXmlLinkerversion1.0.1220.15022
Copyright(C)MicrosoftCorporation2003.Allrightsreserved
C:\test>msiexec/iproduct.msi
![Page 15: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/15.jpg)
C:\test>\\delivery\tools\msiconfig.exe
.
.
.
{12345678-1234-1234-1234-123456789012}TestPackage
.
.
.
Youshouldseeyour"TestPackage"listedwithalltheotherWindowsInstallerpackagesinstalledonyourmachine.YoucanalsogotoAdd/RemoveProgramsintheControlPanelandsee"TestPackage"registeredthere.Goaheadandremovethepackagenow,sowedon'tforgetitlater.
Great!Nowthatwehaveapackagethatinstallsanduninstallsproperly,let'sactuallyinstallsomething.So,createanewtextfilecalled"readme.txt"nexttoyour"product.wxs"fileandtypeamessagetoyourselfinthere."Hello,World!"isafavorite.Then,weneedtomodifytheproduct.wxstotellitaboutthefile:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='12345678-1234-1234-1234-123456789012'Name='TestPackage'Language='1033'
Version='1.0.0.0'Manufacturer='MicrosoftCorporation'>
<PackageId='12345678-1234-1234-1234-123456789012'
Description='MyfirstWindowsInstallerpackage'
Comments='ThisismyfirstattemptatcreatingaWindowsInstallerdatabase'
Manufacturer='MicrosoftCorporation'InstallerVersion='200'Compressed='yes'/>
<MediaId='1'Cabinet='product.cab'EmbedCab='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='ProgramFilesFolder'Name='PFiles'>
<DirectoryId='MyDir'Name='TestProg'LongName='TestProgram'>
<ComponentId='MyComponent'Guid='12345678-1234-1234-1234-123456789012'>
<FileId='readme'Name='readme.txt'DiskId='1'src='readme.txt'/>
</Component>
</Directory>
</Directory>
</Directory>
<FeatureId='MyFeature'Title='My1stFeature'Level='1'>
<ComponentRefId='MyComponent'/>
</Feature>
</Product>
</Wix>
![Page 16: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/16.jpg)
Youshouldbeabletocompile,link,andinstallthatMSIandseethatyoudogetadirectorycalled"TestProgram"inyoursystem's"ProgramFiles"folder.Inthat"TestProgram"directoryshouldbethe"readme.txt"fileyoucreatedwiththemessagetoyourself.Spiffy,eh?Again,remembertouninstalltheMSIsoyoucanrebuildandinstallitagainlater.
Believeitornot,that'sallthereistocreatingaWindowsInstallerpackage.Sure,youcanaddUIandthingslikethatnow,butwe'vecoveredthebasics.EverythingjustcomesdowntofillingintherightXMLelements.So,let'smoveonandlookatcreatingaMergeModulewecanincorporateintoourspiffynewpackage.
![Page 17: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/17.jpg)
CreatingMergeModulesCreatingaMergeModuleisverymuchlikecreatingaWindowsInstallerpackage.So,let'screateanewtextfilecalled"module.wxs"andputthestandardskeletoninit,asso:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
</Wix>
ThentocreateaMergeModule,weaddthe<Module/>elementandaddtherequiredattributes:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ModuleId='TestModule'Guid='87654321-4321-4321-4321-210987654321'Language='1033'Version='1.0.0.0'>
<PackageId='87654321-4321-4321-4321-210987654321'Description='MyfirstMergeModule'
Comments='ThisismyfirstattemptatcreatingaWindowsInstallerMergeModule'
Manufacturer='MicrosoftCorporation'InstallerVersion='200'Compressed='yes'/>
</Module>
</Wix>
Youcan,ifyouwish,compileandlinkthatcode.You'llgetaverysmallandnotveryinteresting.msmfilefromlight.So,let'saddatextfiletothisMergeModulelikewedidtotheWindowsInstallerpackageabove.First,createatextfilecalled"readme2.txt"andputadifferentmessagetoyourselfinthere.Then,updatethesourcecodetoincludethenewfile:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ModuleId='TestModule'Guid='87654321-4321-4321-4321-210987654321'Language='1033'Version='1.0.0.0'>
<PackageId='87654321-4321-4321-4321-210987654321'Description='MyfirstMergeModule'
Comments='ThisismyfirstattemptatcreatingaWindowsInstallerMergeModule'
Manufacturer='MicrosoftCorporation'InstallerVersion='200'Compressed='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='MyModuleDirectory'Name='.'>
<ComponentId='MyModuleComponent'Guid='87654321-4321-4321-4321-110987654321'>
<FileId='readme2'Name='readme2.txt'src='readme2.txt'/>
</Component>
</Directory>
</Directory>
</Module>
![Page 18: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/18.jpg)
</Wix>
That'sit!YounowhaveaMergeModulethatcanbesharedwithotherteamstoinstallyour"readme2.txt"file.NowthatwehaveaMergeModule,let'sactuallyuseitinaWindowsInstallerpackage.
![Page 19: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/19.jpg)
IncorporatingaMergeModuleintoa.wxsfileMergeModulescanonlybemergedintoWindowsInstallerpackage.Fortunately,wehavea.wxsfilethatcreatesaWindowsInstallerpackagefromourfirstexperimentswithWiX.So,let'saddthetwolines(yes,onlytwolinesarenecessary)tomergeinyournewModule.Openyour"product.wxs"sourcefileagain,andadd:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='12345678-1234-1234-1234-123456789012'Name='TestPackage'Language='1033'
Version='1.0.0.0'Manufacturer='MicrosoftCorporation'>
<PackageId='12345678-1234-1234-1234-123456789012'Description='MyfirstWindowsInstallerpackage'
Comments='ThisismyfirstattemptatcreatingaWindowsInstallerdatabase'
Manufacturer='MicrosoftCorporation'InstallerVersion='200'Compressed='yes'/>
<MediaId='1'Cabinet='product.cab'EmbedCab='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='ProgramFilesFolder'Name='PFiles'>
<DirectoryId='MyDir'Name='TestProg'LongName='TestProgram'>
<ComponentId='MyComponent'Guid='12345678-1234-1234-1234-123456789012'>
<FileId='readme'Name='readme.txt'DiskId='1'src='readme.txt'/>
</Component>
<MergeId='MyModule'Language='1033'src='module.msm'DiskId='1'/>
</Directory>
</Directory>
</Directory>
<FeatureId='MyFeature'Title='My1stFeature'Level='1'>
<ComponentRefId='MyComponent'/>
<MergeRefId='MyModule'/>
</Feature>
</Product>
</Wix>
NowwhenyoucompileyourWindowsInstallerpackagesourcefile,itwillincludetheinstallationlogicandfilesfromtheMergeModule.Thenexttimeyouinstallthe"product.msi",youshouldseetwotextfilesinthe"TestProgram"directoryinsteadofone.
![Page 20: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/20.jpg)
AddingCustomActionsNowthatyou’recomfortablewiththebasicsforcreatingWindowsInstallerpackages,let’stakeittothenextlevelandaddaCustomAction.SinceeveryreleaseoftheWindowsInstallerXMLtoolsetcomeswithadropoftheWiXServerCustomActions,we’llusethoseforourexample.Sogonowtothewix\bin\cadirectoryandcopythe"sca*.dll"tothesamedirectoryasyour"product.wxs"and“readme.txt”files.Youshouldhave"scasched.dll"and"scaexec.dll".
RatherthanputtheCustomActiondefinitionsinthesamesourcefileasourproductdefinition,let'sexercisealittlemodularityandcreateanewsourcefiletodefinetheCustomActionscalled"sca.wxs".Let'sbeginbyaddingtheimmediateCustomActionthatreadsthecustomservertablesandschedulesthedeferredactions.
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<FragmentId="ServerCustomActions">
<CustomActionId='ConfigureIIs'BinaryKey='ScaSchedule'DllEntry='ConfigureIIs'Execute='immediate'
Return='check'/>
<CustomActionId='ConfigureSql'BinaryKey='ScaSchedule'DllEntry='ConfigureSql'Execute='immediate'
Return='check'/>
<BinaryId='ScaSchedule'src='scasched.dll'/>
</Fragment>
</Wix>
Thatlittlebitofcodeshouldcompilebutitwillnotlink.Rememberlinkingrequiresthatyouhaveanentrysectionanda<Fragment/>aloneisnotanentrysection.Wewouldneedtolinkthissourcefilealongwithasourcefilethatcontained<Product/>or<Module/>tosuccessfullycomplete.Beforewebothergettingeverythingtolinkproperly,let'saddthedeferredCustomActionstothissourcefilesincetheyareasimportantastheimmediateCustomActionsyoualreadyadded.
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<FragmentId="ServerCustomActions">
<CustomActionId='ConfigureIIs'BinaryKey='ScaSchedule'DllEntry='ConfigureIIs'Execute='immediate'
Return='check'/>
<CustomActionId='ConfigureSql'BinaryKey='ScaSchedule'DllEntry='ConfigureSql'Execute='immediate'
![Page 21: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/21.jpg)
Return='check'/>
<CustomActionId='ErrorOut'BinaryKey='ScaExecute'DllEntry='ErrorOut'Execute='deferred'
Return='check'/>
<CustomActionId='StartMetabaseTransaction'BinaryKey='ScaExecute'
DllEntry='StartMetabaseTransaction'Execute='deferred'Return='check'/>
<CustomActionId='RollbackMetabaseTransaction'BinaryKey='ScaExecute'
DllEntry='RollbackMetabaseTransaction'Execute='rollback'Return='check'/>
<CustomActionId='CommitMetabaseTransaction'BinaryKey='ScaExecute'
DllEntry='CommitMetabaseTransaction'Execute='commit'Return='check'/>
<CustomActionId='CreateMetabaseKey'BinaryKey='ScaExecute'
DllEntry='CreateMetabaseKey'Execute='deferred'Return='check'/>
<CustomActionId='DeleteMetabaseKey'BinaryKey='ScaExecute'
DllEntry='DeleteMetabaseKey'Execute='deferred'Return='check'/>
<CustomActionId='CreateAspApp'BinaryKey='ScaExecute'
DllEntry='CreateAspApp'Execute='deferred'Return='check'/>
<CustomActionId='WriteMetabaseValue'BinaryKey='ScaExecute'
DllEntry='WriteMetabaseValue'Execute='deferred'Return='check'/>
<CustomActionId='WriteMetabaseMultiString'BinaryKey='ScaExecute'
DllEntry='WriteMetabaseMultiString'Execute='deferred'Return='check'/>
<CustomActionId='DeleteMetabaseMultiString'BinaryKey='ScaExecute'
DllEntry='DeleteMetabaseMultiString'Execute='deferred'Return='check'/>
<CustomActionId='CreateDatabase'BinaryKey='ScaExecute'
DllEntry='CreateDatabase'Execute='deferred'Return='check'/>
<CustomActionId='DropDatabase'BinaryKey='ScaExecute'
DllEntry='DropDatabase'Execute='deferred'Return='check'/>
<CustomActionId='ExecuteSqlStrings'BinaryKey='ScaExecute'
DllEntry='ExecuteSqlStrings'Execute='deferred'Return='check'/>
<CustomActionId='RollbackExecuteSqlStrings'BinaryKey='ScaExecute'
DllEntry='ExecuteSqlStrings'Execute='rollback'Return='check'/>
<BinaryId='ScaSchedule'src='scasched.dll'/>
<BinaryId='ScaExecute'src='scaexec.dll'/>
</Fragment>
</Wix>
Okay,that'sit.We'redonewitheditingthe"sca.wxs"sourcefile.YouhavesuccessfullydefinedalloftheentrypointsintotheWiXServerCustomActions.Now,howaboutweaddacalltotheWiXServerCustomActionstotheexampleproduct.wxssourcefileyou'vebeenworkingwithsofar.InsteadofconfiguringIISorSQLServer(andrequiringyoutohaveoneoftheminstalled),let'sjustaddacalltotheCustomActionIusetoinjecterrorsintotheinstallationprocessfortestingpurposes.That'sthe"ErrorOut"CustomAction.
![Page 22: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/22.jpg)
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='12345678-1234-1234-1234-123456789012'Name='TestPackage'Language='1033'
Version='1.0.0.0'Manufacturer='MicrosoftCorporation'>
<PackageId='12345678-1234-1234-1234-123456789012'
Description='MyfirstWindowsInstallerpackage'
Comments='ThisismyfirstattemptatcreatingaWindowsInstallerdatabase'
Manufacturer='MicrosoftCorporation'InstallerVersion='200'Compressed='yes'/>
<MediaId='1'Cabinet='product.cab'EmbedCab='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='ProgramFilesFolder'Name='PFiles'>
<DirectoryId='MyDir'Name='TestProg'LongName='TestProgram'>
<ComponentId='MyComponent'Guid='12345678-1234-1234-1234-123456789012'>
<FileId='readme'Name='readme.txt'DiskId='1'src='readme.txt'/>
</Component>
<MergeId='MyModule'Language='1033'src='module.msm'DiskId='1'/>
</Directory>
</Directory>
</Directory>
<FeatureId='MyFeature'Title='My1stFeature'Level='1'>
<ComponentRefId='MyComponent'/>
<MergeRefId='MyModule'/>
</Feature>
<InstallExecuteSequence>
<CustomAction='ErrorOut'After='InstallFiles'/>
</InstallExecuteSequence>
</Product>
</Wix>
ThosethreelinesareallyouneedtoaddtoyourWindowsInstallerpackagesourcefiletocallthe"ErrorOut"CustomAction.Nowthatwehavetwofilestolinktogetherourcalltolight.exegetsalittlemorecomplicated.Herearethecompile,link,andinstallationsteps.
C:\test>candleproduct.wxsmodule.wxssca.wxs
Microsoft(R)WindowsInstallerXmlCompilerversion1.0.1256.19889
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
product.wxs
module.wxs
sca.wxs
![Page 23: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/23.jpg)
C:\test>lightmodule.wixobj
Microsoft(R)WindowsInstallerXmlLinkerversion1.0.1256.19889
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
C:\test>lightproduct.wixobjsca.wixobj–outproduct.msi
Microsoft(R)WindowsInstallerXmlLinkerversion1.0.1220.15022
Copyright(C)MicrosoftCorporation2003.Allrightsreserved
C:\test>msiexec/iproduct.msi
Don'tbealarmedwhentheMSImysteriouslystartsrollingbacktheinstallation.Rememberafterinstallingthefilesthe"ErrorOut"CustomActioniscalledandthatforcestheinstallationtofail.MSIthenrollsbackthefilesandsilentlyreturns.Addingasuccessandanerrordialogareexcerciseslefttotheinterestedreader.
![Page 24: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/24.jpg)
MsiTablestoWiXSchemaIntheWiXschema,itsnotalwaysentirelyobvioushowthetablesfromtheWindowsInstallerschemamaptotheWiXschema.Belowaresomehelpfulhintsonhowtofigureouttherelationshipsbetweenthetwoschemas.
![Page 25: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/25.jpg)
DuplicateFileTableThisisauthoredusingaCopyFilenodenestedunderaFilenode.YouonlyneedtosettheId,DestinationFolder,andDestinationNameattributes.
![Page 26: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/26.jpg)
LaunchConditionTableThisisauthoredusingaConditionnodeauthoredunderFragmentorProduct.YouonlyneedtosettheMessageattribute.
![Page 27: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/27.jpg)
LockPermissionsTableThisisauthoredusingPermission.
![Page 28: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/28.jpg)
MoveFileTableThisisauthoredusingaCopyFilenodenestedunderaComponentnode.YouwillneedtosetallattributesexceptDelete.SetDeleteto'yes'inordertousethemsidbMoveFileOptionsMoveoption.
![Page 29: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/29.jpg)
PublishComponentTableThePublishComponentfunctionalityisavailableinWiXbyusingaCategory.HereisasmallsampleofwhataPublishComponentrecordwouldlooklikeinMSI,theninWiXnotation.
MSI
ComponentId Qualifier Component_ AppData Feature_{11111111-2222-3333-4444-5555555555555}
1033 MyComponent RandomData
MyFeature
WiX
<ComponentId='MyComponent'Guid='87654321-4321-4321-4321-110987654321'>
<CategoryId='11111111-2222-3333-4444-5555555555555'AppData='RandomData'
Qualifier='1033'/>
</Component>
.
.
.
<FeatureId='MyFeature'Level='1'>
<ComponentRefId='MyComponent'/>
</Feature>
![Page 30: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/30.jpg)
RemoveIniFileThisisauthoredusingIniFile.JustsettheActionattributeto'removeLine'or'removeTag'asappropriate.
![Page 31: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/31.jpg)
RemoveRegistryTableThisisauthoredusingRegistry.SimplysettheActionattributeto'remove'or'removeKey'(asappropriate)inordertogetanentryintheRemoveRegistrytable.
![Page 32: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/32.jpg)
WindowsInstallerXMLOnlineTutorialsGaborDeakJahnmaintainsanimpressiveonlinetutorialabouttheWindowsInstallerXMLtoolset.ThattutorialisgreatwaytorampupontheWiXtoolsetifyouareneworlookingforanswerstocommonauthoringtask.
![Page 33: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/33.jpg)
AdditionalResourcesRobMenschinghaswrittenanexcellentMSDNarticleonusingVotivetogetstartedinWiX.
![Page 34: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/34.jpg)
WindowsInstallerXMLStandardCustomActionsTheWiXtoolsetcontainsseveralCustomActionstohandleconfiguringresourcessuchasInternetInformationServiceswebsitesandvirtualdirectories,SQLServerdatabasesandscripts,useraccounts,fileshares,andmore.TheseCustomActionsareprovidedintwoseparate.wixlibs:sca.wixlibandwixca.wixlib.Theformercontain"ServerCustomActions"whilethelatterhasmoregeneralinstallationCustomActions.Inthefuture,these.wixlib'smaymergetogetherbutfornow(formostlyhistoricalreasons)theyareseparate.
![Page 35: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/35.jpg)
sca.wixlib-ServerCustomActionsInternetInformationServices(IIS)CustomAction-createandconfigurewebsites,virtualdirectories,webapplications,etc.SQLServerCustomAction-createdatabasesandexecuteSQLscriptsandstatements.UserCustomAction-createandconfigurenewusers.FileShareCustomAction-createandconfigurefileshares(SMB).PerformanceCounterCustomAction-installanduninstallperformancecounters.
![Page 36: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/36.jpg)
wixca.wixlib-GeneralCustomActionsSecureObjectsCustomAction-secure(usingACLs)objectsthatstandardLockPermissiontablecannot.ForfurtherinformationseetheExtendedattributin<Permission/>.ServiceConfigurationCustomAction-configureattributesofaWindowsServicethattheServiceInstalltablecannot.QuietExecutionCustomAction-launchconsoleexecutableswithoutdisplayingawindow.XmlFileCustomAction-allowsyoutoconfigureXMLfilesaspartofyourinstallationpackage.Forfurtherinformationsee<XmlFile/>.
NewCustomActionsarealwaysunderdevelopment.OurgoalistoonedayhavestandardCustomActionsforjustaboutanyneed.FeelfreetoopenaFeatureRequestifyouhaveaCustomActionneed.
![Page 37: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/37.jpg)
UsingtheServerCustomActionsThewixtoolsetcontainsalibraryofcustomactions.Thecenterpieceofthislibraryistheservercustomactionset.TheservercustomactionsextendthesetofresourcesthatanMSIcaninstalltoincludethingssuchaswebsites,fileshares,useraccounts,andmanyothers.Thesecustomactionsproperlyassociatetheseresourceswithcomponents,andfollowalltherulestoproperlyinstall,uninstallandrollbacktheinstallationoruninstallationoftheseresourcesaspartoftheirassociatedcomponents.Thisdocumentwilloutlinetheirusewithsomeexamples.
ThisdocumentassumesthatthereaderhasanunderstandingofMSIcustomactiontypes,andhasread"WiXOverview"and"WritinginWiX".
![Page 38: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/38.jpg)
ServerCustomActionbuildingblocks
Witheachreleaseofthewixtoolset,thefilesscasched.dll,scaexec.dllandsca.wixlibarereleased.Thetwodllfilesarethecustomactiondllswhichexportthecustomactionentrypointsforalloftheservercustomactions.WhenyoubuildanMSIthatmakesuseoftheservercustomactions,theyendupintheBinarytableoftheMSI.Thesca.wixlibcontainsasystemofwixfragmentsthatyoucanlinkagainsttoensurethatallofthepropererrormessages,customactionrecords,andbinaryrecordsgetlinkedintoyourfinalMSI.
ThesimplestwaytoincorporatetheservercustomactionsintoyourMSIsistocopythesca.wixlibandthetwocustomactiondlls(scasched.dllandscaexec.dll)intoafolderinyourbuildenvironment.Itisnotimportantwherethisdirectoryis,itisonlyimportantthatthewixlibandthedllsareinthesamedirectory.WhenyoulinkyourMSIusinglight.exe,yousimplyneedtoincludethefullpathtosca.wixlibinthelistofwixobjsandwixlibsyou'relinking.
![Page 39: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/39.jpg)
BasicExample
FirstletstryanexamplethatcreatesauseraccountwhentheMSIisinstalled.
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='PutGuidHere'Name='TestUserProduct'Language='1033'Version='0.0.0.0'>
<PackageId='PUT-GUID-HERE'Description='TestUserPackage'InstallerVersion='200'Compressed='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<ComponentId='TestUserProductComponent'Guid='PutGuidHere'>
<UserId='TEST_USER1'Name='testName1'Password='pa$$word'/>
</Component>
</Directory>
<FeatureId='TestUserProductFeature'Title='TestUserProductFeature'Level='1'>
<ComponentRefId='TestUserProductComponent'/>
</Feature>
</Product>
</Wix>
Thisisasimpleexamplethatwillcreateanewuseronthemachinecalled"testName1"withthepassword"pa$$word".TobuildtheMSIfromthiswixauthoringfirstputtheabovecodeinafile(remembertoreplacethe"PUT-GUID-HERE"attributeswithrealGUIDs),run'candle.exeyourfile.wxs',andthenrun'light.exe–outyourfile.msiyourfile.wixoutsca.wixlib'(replacingsca.wixlibwiththefullpathtosca.wixlib).NowuseOrcatoopenuptheresultingmsiandtakealookattheErrortable,theCustomActiontable,andtheBinarytable.Youwillnoticethatalloftherelevantdataformanagingusershasbeen"linked"intotheMSI.Thishappenedbecauseyouhavedonetwokeythings.First,youmadeuseofa<User/>elementundera<Component/>elementwhichindicatesthatauseristobeinstalledaspartoftheMSIpackage,andsecond,youlinkedwiththesca.wixlib.Compilersupport,alongwiththesystemoffragmentsthatexistinthesca.wixlibensurethatonlythedataassociatedwiththeelementsyou
![Page 40: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/40.jpg)
usedinyourwxsfileare"linked"intotheMSI.
![Page 41: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/41.jpg)
Theservercustomactionelements
Inthepreviousexampleyoulearnedthatbyusingthe<User/>elementinyourWiXauthoringandthenlinkingwiththesca.wixlibthatalloftherelevantcustomactions,errormessages,andbinarytablerowswerebroughtinautomatically.Thewixcompilercontainssupportforautomaticallyreferencingtheappropriatesymbolsinthesca.wixlibwhenyoumakeuseofspecificelementssuchas<User/>.Asstatedintheintroductiontheservercustomactionsaddtheabilitytoinstallmanynewtypesofresources.EachoftheseresourcetypeshasoneormoreelementsthatallowyoutoinstallthemwithyourMSIpackage.Ifyou'reusingthesca.wixlib,theonlythingsyouneedtoknowaretheappropriateelementsfortheresourcesyouwanttoinstall.Hereisalistingofthedifferentresourcetypesthattheservercustomactionsareabletoinstallandtheelementsthatcontroltheirinstallation:
WebSites-<WebSite/>WebApplications-<WebApplication/>Certificates-<Certificate/>SQLdatabases-<SqlDatabase/>SQLscripts-<SqlScript/>SQLstrings-<SqlString/>Users-<User/>FileShares-<FileShare/>PerfmonCounterregistration-<PerfCounter/>
Byusingtheappropriateelementsfromthistableinyourwixauthoringandbylinkingwithsca.wixlib,youwillensurethatyouareproperlyusingthewixservercustomactions.
![Page 42: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/42.jpg)
PerformanceCounterCustomActionsThePerfCounterelementallowsyoutoregisteryourperformancecounterswiththeWindowsAPI.Thereareseveralpiecesthatallworktogethertosuccessfullyregister:
YourperformanceDLL-TheDLLmustexportOpen,Collect,andClosemethods.SeeMSDNformoredetail.Performanceregistryvalues-TheregistrymustcontainkeyspointingtoyourDLLanditsOpen,Collect,andClosemethods.ThesearecreatedusingtheRegistryelement.PerfmonINIandHtextfiles-ThesecontainthetextdescriptionstodisplayintheUI.SeeMSDNforlodctrdocumentation.ThisMSDNdocumentationisagoodplacetostart.Seebelowforsamplesre-purposedfromMSDN.TheRegisterPerfmoncustomaction-Youcanlinkwithsca.wixlibtoensurethatthecustomactionsareincludedinyourfinalMSI.Seeservercustomactiondocumentation.Thecustomactioncalls(Un)LoadPerfCounterTextStringstoregisteryourcounterswithWindows’PerfmonAPI.Toinvokethecustomaction,youcreateaPerfCounterelementnestedwithintheFileelementforthePerfmon.INIfile.ThePerfCounterelementcontainsasingleattribute:Name.TheNameattributeshouldmatchthenameintheRegistryandinthe.INIfile.SeebelowforsampleWIXusageofthe<PerfCounter>element.
![Page 43: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/43.jpg)
SampleWIXsourcefragmentandPerfCounter.ini<?xmlversion="1.0"?>
<Wixxmlns="http://schemas.microsoft.com/wix/2003/01/wi">
<Fragment>
<DirectoryRefId="BinDir">
<ComponentId="SharedNative"DiskId="1">
<RegistryId="Shared_r1"Root="HKLM"Key="SYSTEM\CurrentControlSet\Services\MyApplication\Performance"Name="Open"Value="OpenPerformanceData"Type="string"/>
<RegistryId="Shared_r2"Root="HKLM"Key="SYSTEM\CurrentControlSet\Services\MyApplication\Performance"Name="Collect"Value="CollectPerformanceData"Type="string"/>
<RegistryId="Shared_r3"Root="HKLM"Key="SYSTEM\CurrentControlSet\Services\MyApplication\Performance"Name="Close"Value="ClosePerformanceData"Type="string"/>
<RegistryId="Shared_r4"Root="HKLM"Key="SYSTEM\CurrentControlSet\Services\MyApplication\Performance"Name="Library"Value="[!PERFDLL.DLL]"Type="string"/>
<FileId="PERFDLL.DLL"Name="MYPERFDLL.DLL"LongName="MyPerfDll.dll"src="x86\debug\0\myperfdll.dll"/>
<FileId="PERFCOUNTERS.H"Name="PERF.H"LongName="PerfCounters.h"src="x86\debug\0\perfcounters.h"/>
<FileId="PERFCOUNTERS.INI"Name="PERF.INI"LongName="PerfCounters.ini"src="x86\debug\0\perfcounters.ini">
<PerfCounterName="MyApplication"/>
</File>
</Component>
</DirectoryRef>
</Fragment>
</Wix>
SamplePerfCounters.ini:
[info]
drivername=MyApplication
symbolfile=PerfCounters.h
[languages]
009=English
004=Chinese
[objects]
PERF_OBJECT_1_009_NAME=Performanceobjectname
PERF_OBJECT_1_004_NAME=PerformanceobjectnameinChinese
[text]
OBJECT_1_009_NAME=Nameofthedevice
OBJECT_1_009_HELP=Displaysperformancestatisticsofthedevice
OBJECT_1_004_NAME=NameofthedeviceinChinese
![Page 44: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/44.jpg)
OBJECT_1_004_HELP=DisplaysperformancestatisticsofthedeviceinChinese
DEVICE_COUNTER_1_009_NAME=Nameoffirstcounter
DEVICE_COUNTER_1_009_HELP=Displaysthecurrentvalueofthefirstcounter
DEVICE_COUNTER_1_004_NAME=NameofthefirstcounterinChinese
DEVICE_COUNTER_1_004_HELP=DisplaysthevalueofthefirstcounterinChinese
DEVICE_COUNTER_2_009_NAME=Nameofthesecondcounter
DEVICE_COUNTER_2_009_HELP=Displaysthecurrentrateofthesecondcounter
DEVICE_COUNTER_2_004_NAME=NameofthesecondcounterinChinese
DEVICE_COUNTER_2_004_HELP=DisplaystherateofthesecondcounterinChinese
PERF_OBJECT_1_009_NAME=Nameofthethirdcounter
PERF_OBJECT_1_009_HELP=Displaysthecurrentrateofthethirdcounter
PERF_OBJECT_1_004_NAME=NameofthethirdcounterinChinese
PERF_OBJECT_1_004_HELP=DisplaystherateofthethirdcounterinChinese
SamplePerfCounters.h:
#defineOBJECT_10
#defineDEVICE_COUNTER_12
#defineDEVICE_COUNTER_24
#definePERF_OBJECT_18
![Page 45: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/45.jpg)
QuietExecutionCustomActionThereisaqtexeccustomactionthatispartofthewixcathatcanrunarbitrarycommandlines.
![Page 46: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/46.jpg)
Immediateexecution<PropertyId="QtExecCmdLine"Value="commandlinetorun"/>
<CustomActionId="QtExec"BinaryKey="wixca"DllEntry="CAQuietExec"Execute="immediate"Return="check"/>
<BinaryId="wixca"src="wixca.dll"/>
.
.
.
<InstallExecuteSequence>
<CustomAction="QtExec"After="TheActionYouWantItAfter"/>
</InstallExecuteSequence>
Thiswillresultinrunningthecommandlineintheimmediatesequence.Iftheexitcodeofthecommandlineisanerror(not0)thenbecauseReturnissetto“check"itwillcausetheinstalltofail.Youcanchangethisvalueto“ignore"ifyoudon’twantittocauseaninstallfailure(itwillbeloggedstill).
Ifyouwanttorunmorethanonecommandlineintheimmediatesequencethenyou’llneedscheduleQtExecmultipletimesandsettheQtExecCmdLineproperty(usingatype51customaction)rightbeforeyouwanteachofthemexecuted.
![Page 47: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/47.jpg)
DeferredexecutionYoucanalsoruncommandlinesinthedifferedscriptusingthistoolbysettingthecustomactiondataproperty.IfthecodeisrunninginimmediatemodeitwilltrytoexecutethevalueoftheQtExecCmdLineifitisrunningindeferred(orrollback)modeitwilltrytoexecutethevalueofthecustomactiondata.Thecustomactiondataisapropertythatisnamedthesameasthecustomaction.Here’sanexampleofauthoringdeferredcommandlineexecution:
<PropertyId="QtExecDeferred"Value="commandlinetorun"/>
<CustomActionId="QtExecDeferred"BinaryKey="wixca"DllEntry="CAQuietExec"Execute="deferred"Return="check"/>
<BinaryId="wixca"src="wixca.dll"/>
.
.
.
<InstallExecuteSequence>
<CustomAction="QtExecDeferred"After="TheActionYouWantItAfter"/>
</InstallExecuteSequence>
![Page 48: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/48.jpg)
ExtensionsWiXhassupportforthreeclassesofextensions
![Page 49: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/49.jpg)
IntroductionPreprocessorExtensionsallowclientstomodifyauthoringfilesbeforetheyareprocessedbythecompiler.CompilerExtensionsallowclientstocustomcompileauthoredXMLintointernaltablerepresentationbeforeit'swrittentobinaryform.BinderExtensionsallowclientstothefeedtheinterlaceimageprocessinganddatafinalization.ThroughtheseextensionsonecanextendWiXtosupportcustompreprocessing,XMLsyntaxcompilation,orbindingsemanticsforonesparticularlayoutgenerationprocess.
![Page 50: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/50.jpg)
CommonRequirementsHowtouseeachshouldstartinthesourcecodebuttheyallhaveafewthingsincommonImplementedinsameversionof.NET1.1astherestofWiXBuildasubclassoftheappropriateextensionobjectgivingitaeasilydistinguishablename.Buildaschemaoftheappropriatesyntaxtoprovidevalidationcheckingwherepossible.Buildinternaltabledefinitionsandregisterthemwiththecompiler.Buildoverridesforextendablemethodsandvirtualmemberswhichwillgetinvokedattheapproriatelocationduringthesinglepasscompile.BuildextensionintoaDLL.PlaceextensionDLLnexttoWiXEXEs.RegisteredwithWiXviacommandlineargumenttothecompiler
![Page 51: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/51.jpg)
ConsiderationsBeforeinvestinginanextension,oneshouldevaluatewhetheranexternaltoolandthe?includesyntax(fromthepreprocessor)willprovidetheneededflexabilityforyourtechnicalneeds.Multipleextensionsandextensiontypesaresupportedbutthereisnoguarenteeoftheorderaparticularclassofextensionswillbeprocessessothereshouldbenosequencingdependenciesbetweenextensionswithinthesameextensionclass.
![Page 52: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/52.jpg)
PatchBuildingCreatingaPatchwithWixNote:YoumusthaveWindowsInstaller3.0installed\
1. DoanadministrativeinstalloftheRTMversion(TargetImage).2. UpdatePackageIdinMain.wxs.3. MakenewInstaller.msi4. Doanadministrativeinstallofthelatestversion(UpdateImage
withnewfilesyouwanttopatch).5. Createapatchcreationproperties(.pcp)file.6. Createthepatch.7. Runthepatch
![Page 53: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/53.jpg)
1.AdministrativeinstallofRTMversionWiththeRTMinstaller.msi,run
mdc:\patchdir
mdc:\patchdir\rtm
msiexec/ainstaller.msiTARGETDIR=c:\patchdir\rtm
![Page 54: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/54.jpg)
2.UpdatePackageIdinsource.wxsfile.MakeanewGuidfortheId=attributeunderthe%lt;Package>taginthewxsfiles.
![Page 55: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/55.jpg)
3.Makenewinstaller.msi
4.AdministrativeinstalloflatestversionWiththenewinstaller.msi,run
mdc:\patchdir\latest
msiexec/ainstaller.msiTARGETDIR=c:\patchdir\latest
![Page 56: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/56.jpg)
5.CreateaPatchCreationProperties(.pcp)file<?xmlversion="1.0"encoding="utf-8"?>
<Wixxmlns="http://schemas.microsoft.com/wix/2003/01/wi">
<?defineWixDir=.?>
<?defineProj1="rtm"?>
<?defineProj2="latest"?>
<PatchCreation
Id="put-guid-here"
CleanWorkingFolder="yes"
OutputPath="patch.pcp"
WholeFilesOnly="yes"
>
<PatchInformation
Description="Patchestheandmagichappens.cmdfile"
Comments="Patchfornewdll"
ShortNames="no"
Languages="1033"
Compressed="yes"
Manufacturer="insert-organization-name-here"/>
<PatchMetadata
AllowRemoval="yes"
Description="Patchestheandmagichappens.cmdfile"
ManufacturerName="insert-organization-name-here"
TargetProductName="insert-product-name-here"
MoreInfoURL="insert-info-url-here"
Classification="Hotfix"
DisplayName="insert-product-abbreviaiton-herePatch1.
<FamilyDiskId="2"MediaSrcProp="insert-product-abbreviaiton-here
Name="insert-organization-name-hereandinsert-product-abbreviaiton-here
<UpgradeImagesrc="$(var.Proj2)\Installer.msi"Id="insert-product-abbreviaiton-here
<TargetImagesrc="$(var.Proj1)\Installer.msi"Order="2"
Id="insert-product-abbreviaiton-here
</UpgradeImage>
</Family>
<PatchSequence
PatchFamily="insert-organization-name-hereandinsert-product-abbreviaiton-here
Target="insert-product-abbreviaiton-hereTarget"/>
![Page 57: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/57.jpg)
</PatchCreation>
</Wix>
Notes:
The01inredintheabovefileisapatchid.Itshouldbeincrementedby1witheachpatch.Also,theId=under<PatchCreation>shouldbesettoanewGuidforeachpatchcreated.TheSequenceStartvalueisinfluencedbythenumberoffilesthatthepreviouspatchdelivered,aswellasthenumberoffilesthatthispatchwilldeliver.ThistellsPatchWiz.dlltostartassigningFilesequencenumbersfromthisnumber.Soifthispatchships11files,andthenextpatchusesaSequenceStartof1020,itwillsteponthe11thfile’sassignedsequencenumber.InthiscasethenextpatchwoulduseaSequenceStartof1030,and03asthepatchidtoavoidconflictswiththispatch.ThisschemehelpspreventthisbycoordinatingtheSequenceStart(filesequencenumbers)withthepatchsequencenumber.Also,notethattheSequenceStartofthefirstpatchmustbegreaterthanthenumberoffilesintheoriginalinstallation.Iftheoriginalinstallationcontainedmorethan1000files(rare),thentheSequenceStartforthefirstpatchmustbesettoahighervalue(e.g2010.)
![Page 58: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/58.jpg)
6.Createthepatchmspfilecandlepatch.wxs
lightpatch.wixobj-outpatch.pcp
msimsp-spatch.pcp-ppatch.msp-lmsimsp.log
![Page 59: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/59.jpg)
7.Runthepatchmsiexec/updatepatch.mspREINSTALL=ALL/L*vpatch.log
![Page 60: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/60.jpg)
UsingtheWixUIdialoglibraryTheWixUIdialoglibrarycontainsasetof"stock"dialogsprovidingthefamiliarwizard-stylesetupuserinterface.Severalstockdialogsetsaresupported--useoneUIReftoaddauserinterfacetoyoursetup.WixUIisalsocustomizable,fromthebitmapsshownintheUItoaddingandremovingcustomdialogs.
Note:TheWixUIdialoglibraryiscurrentlyattechnicalpreviewstatus.PleaseprovidefeedbackontheWiX-devsmailinglist.Aretheprovidedstockdialogsetsuseful?Doyouhavesuggestionsforothers?HatetheUI?Needanotherdialog?Basedonfeedback,theWixUIlibrarymightchangeinincompatibleways.
![Page 61: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/61.jpg)
UsingthestockdialogsetsTheWixUIstockdialogsetssupportseveralcommondialogsequences:
WixUI_Mondoincludesthefullsetofdialogs(hence"Mondo"):welcome,licenseagreement,setuptype(typical,custom,andcomplete),featurecustomization,directorybrowse,anddiskcost.Maintenance-modedialogsarealsoincluded.UseWixUI_Mondowhenyouhavesomeofyourproduct'sfeaturesaren'tinstalledbydefaultandthere'sameaningfuldifferencebetweentypicalandcompleteinstalls.
Note:WixUI_MondousesSetInstallLevelcontroleventstosettheinstalllevelwhentheuserchoosesTypicalorComplete.ForTypical,theinstalllevelissetto3;forComplete,1000.Fordetailsaboutfeaturelevelsandinstalllevels,seeINSTALLLEVELProperty.
WixUI_FeatureTreeisasimplerversionofWixUI_Mondothatomitsthesetuptypedialog.Instead,theusergoesdirectlyfromthelicenseagreementdialogtothefeaturecustomizationdialog.WixUI_FeatureTreeismoreappropriatethanWixUI_Mondowhenyourproductinstallsallfeaturesbydefault.WixUI_InstallDirdoesn'tallowtheusertochoosefeaturesbutaddsadialogtolettheuserchooseadirectorywheretheproductwillbeinstalled.
Note:TouseWixUI_InstallDir,youmustsetapropertynamedWIXUI_INSTALLDIRwithavalueoftheIDofthedirectoryyouwanttheusertobeabletospecifythelocationof.Forexample:
<DirectoryId="TARGETDIR"Name="SourceDir">
<DirectoryId="ProgramFilesFolder"Name="PFiles">
<DirectoryId="TESTFILEPRODUCTDIR"ShortName="WIXTEST"Name="TestFile">
...
</Directory>
</Directory>
</Directory>
...
<PropertyId="WIXUI_INSTALLDIR"Value="TESTFILEPRODUCTDIR"/>
<UIRefId="WixUI_InstallDir"/>
![Page 62: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/62.jpg)
WixUI_MinimalisthemostspartanoftheWixUIstockdialogsets.Itssoledialogcombinesthewelcomeandlicense-agreementdialogsandomitsthefeaturecustomizationdialog.WixUI_Minimalisappropriatewhenyourproducthasnooptionalfeatures.
HowtoaddaWixUIstockdialogsettoaproductinstaller
Assumingyouhaveanexistinginstallerthat'sfunctionalbutjustlackingauserinterface,herearethestepsyouneedtofollowtouseaWixUIstockdialogset:
1. AddaUIRefelementtoyourinstallersourcecode,usinganIdattributeofoneoftheabovedialogsets.Forexample:
<Product...>
<UIRefId="WixUI_InstallDir"/>
</Product>
2. Addwixui.wixlibandtheappropriateWixUIlocalizationfiletoyourlightcommandline.Forexample:
lightMondo.wixobj%WIXUI_PATH%\WixUI.wixlib-loc%WIXUI_PATH%\WixUI_en-us.wxl-outMondo.msi
Forexamples,seethe.wxsfilesinthedoc/examples/wixuidirectory.
![Page 63: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/63.jpg)
SpecifyingalicensefileThestockdialogsetshaveadialogthatdisplaysanend-userlicenseagreement(EULA).Tospecifyyourproduct'slicense,includeaLicense.rtffileinthecurrentdirectorywhenyourunlight.Ifthereisn'tsuchafile,lightusestheLicense.rtffileintheuidirectory.
![Page 64: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/64.jpg)
UsingtranslatederrorandprogresstextBydefault,WixUIdoesn'tincludeanytranslatedErrororProgressTextelementsbydefault.YoucanincludethembyreferencingtheWixUI_ErrorProgressTextUIelement:
<UIRefId="WixUI_Minimal"/>
<UIRefId="WixUI_ErrorProgressText"/>
![Page 65: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/65.jpg)
CustomizingdialogsetsYoucanmosteasilyaddandremovedialogsfromthestockdialogsetsbycopyingoneoftheexistingsetsandmodifyingit.Foranexample,seetheprojectinthedoc/examples/wixui/customdirectory.Thefollowingtabledescribesthefiles:
Filename DescriptionCustomDialogSet.build NAntbuildfiletobuildthecustomdialogset.
BuildstheWixUIcommondialogelementsifneeded,thenbuildsCustomDialogSet.wxsandCustomDlg.wxstocreateCustomDialogSet.wixlib.
CustomDialogSet.wxs Customdialogsetdefinition.CopiedfromWixUI_FeatureTreesetandmodifiedtoaddCustomDlgaftertheinitialWelcomeDlg.
CustomDlg.wxs Simplecustomdialog.TestCustom.wxs WiXsourcecodethatconsumes
CustomDialogSet.wixlib.
![Page 66: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/66.jpg)
ReplacingthestockbitmapsTheWixUIdialoglibraryincludesstockbitmapsforthebackgroundofthewelcomeandinstallation-completedialogsandthetopbanneroftheotherdialogs.Youcan"override"thosegraphicswithyourownforproduct-brandingpurposes.Toreplacestockbitmaps,addthefilesfromthetablebelowtoasubdirectorynamedBitmapsunderyourWiXsourcefile.
Filename Description Dimensionsbannrbmp.bmp Topbanner 500×63dlgbmp.bmp Backgroundbitmapusedonwelcomeand
install-completedialogs503×314
exclamic.ico Exclamationicononthewait-for-costingdialog
32×32
info.ico Informationicononthecancelanderrordialogs
32×32
New.ico Buttonglyphondirectory-browsedialog 16×16Up.ico Buttonglyphondirectory-browsedialog 16×16
![Page 67: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/67.jpg)
WixSchema
Copyright(c)MicrosoftCorporation.Allrightsreserved.TheuseanddistributiontermsforthissoftwarearecoveredbytheCommonPublicLicense1.0(http://opensource.org/licenses/cpl.php)whichcanbefoundinthefileCPL.TXTattherootofthisdistribution.Byusingthissoftwareinanyfashion,youareagreeingtobeboundbythetermsofthislicense.Youmustnotremovethisnotice,oranyother,fromthissoftware.
SchemafordescribingWindowsInstallerdatabasefiles(.msi/.msm/.pcp).
RootElementsIncludeWix
TargetNamespacehttp://schemas.microsoft.com/wix/2003/01/wi
DocumentShouldLookLike<?xmlversion="1.0"?><Includexmlns="http://schemas.microsoft.com/wix/2003/01/wi">...</Include><?xmlversion="1.0"?><Wixxmlns="http://schemas.microsoft.com/wix/2003/01/wi">...</Wix>
AllElementsAdminExecuteSequenceAdminUISequenceAdvertiseExecuteSequence
![Page 68: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/68.jpg)
AllocateRegistrySpaceAppDataAppIdAppSearchAssemblyNameBillboardBillboardActionBinaryBindImageCategoryCCPSearchCertificateCertificateRefClassColumnComboBoxComplianceCheckComplianceDriveComponentComponentGroupComponentGroupRefComponentRefComponentSearchConditionConfigurationConfigurationDataControlCopyFileCostFinalizeCostInitializeCreateFolderCreateFoldersCreateShortcuts
![Page 69: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/69.jpg)
CustomCustomActionCustomActionRefCustomPropertyCustomTableDataDeleteServicesDependencyDialogDialogRefDigitalCertificateDigitalSignatureDirectoryDirectoryRefDirectorySearchDirectorySearchRefDisableRollbackDuplicateFilesEnsureTableEnvironmentErrorExclusionExecuteActionExtensionExternalFileFamilyFeatureFeatureRefFileFileCostFileSearchFileSearchRefFileShare
![Page 70: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/70.jpg)
FileTypeMaskFindRelatedProductsForceRebootFragmentFragmentRefGroupGroupRefHttpHeaderIconIgnoreModularizationIgnoreRangeIncludeIniFileIniFileSearchInstallAdminPackageInstallExecuteInstallExecuteAgainInstallExecuteSequenceInstallFilesInstallFinalizeInstallInitializeInstallODBCInstallServicesInstallUISequenceInstallValidateInterfaceIsolateComponentIsolateComponentsLaunchConditionsListBoxListItemListViewMedia
![Page 71: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/71.jpg)
MergeMergeRefMigrateFeatureStatesMIMEMimeMapModuleMoveFilesMsiPublishAssembliesMsiUnpublishAssembliesODBCDataSourceODBCDriverODBCTranslatorPackagePatchPatchCertificatesPatchCreationPatchFilesPatchInformationPatchMetadataPatchPackagePatchPropertyPatchSequencePerfCounterPermissionProcessComponentsProductProgIdProgressTextPropertyPropertyRefProtectFileProtectRangePublish
![Page 72: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/72.jpg)
PublishComponentsPublishFeaturesPublishProductRadioButtonRadioButtonGroupRecycleTimeRegisterClassInfoRegisterComPlusRegisterExtensionInfoRegisterFontsRegisterMIMEInfoRegisterProductRegisterProgIdInfoRegisterTypeLibrariesRegisterUserRegistryRegistrySearchRegistrySearchRefRegistryValueRemoveDuplicateFilesRemoveEnvironmentStringsRemoveExistingProductsRemoveFileRemoveFilesRemoveFolderRemoveFoldersRemoveIniValuesRemoveODBCRemoveRegistryValuesRemoveShortcutsReplacePatchReserveCostResolveSource
![Page 73: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/73.jpg)
RMCCPSearchRowScheduleRebootSelfRegModulesSelfUnregModulesServiceArgumentServiceConfigServiceControlServiceDependencyServiceInstallSetODBCFoldersSFPCatalogSFPFileShortcutShowSqlDatabaseSqlFileSpecSqlLogFileSpecSqlScriptSqlStringStartServicesStopServicesSubscribeSubstitutionSymbolPathTargetFileTargetImageTargetProductCodeTextTextStyleTypeLibUIUIRef
![Page 74: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/74.jpg)
UITextUnpublishComponentsUnpublishFeaturesUnregisterClassInfoUnregisterComPlusUnregisterExtensionInfoUnregisterFontsUnregisterMIMEInfoUnregisterProgIdInfoUnregisterTypeLibrariesUpgradeUpgradeFileUpgradeImageUpgradeVersionUserValidateProductIDVerbWebAddressWebApplicationWebApplicationExtensionWebAppPoolWebDirWebDirPropertiesWebErrorWebFilterWebLogWebPropertyWebServiceExtensionWebSiteWebVirtualDirWixWriteEnvironmentStringsWriteIniValues
![Page 75: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/75.jpg)
WriteRegistryValuesXmlFile
![Page 76: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/76.jpg)
AdminExecuteSequenceElement
Description
None
WindowsInstallerreferencesAdminExecuteSequenceTable
ParentsFragment,Include,Module,Product
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenChoiceofelements(min:0,max:unbounded)CostFinalize(min:0,max:unbounded):EndstheinternalinstallationcostingprocessbegunbytheCostInitializeaction.CostInitialize(min:0,max:unbounded):Initiatestheinternalinstallationcostingprocess.Custom(min:0,max:unbounded):Usetosequenceacustomaction.FileCost(min:0,max:unbounded):Initiatesdynamiccostingofstandardinstallationactions.InstallAdminPackage(min:0,max:unbounded):Copiestheproductdatabasetotheadministrativeinstallationpoint.InstallFiles(min:0,max:unbounded):CopiesfilesspecifiedintheFiletablefromthesourcedirectorytothedestinationdirectory.InstallFinalize(min:0,max:unbounded):Markstheendofasequenceofactionsthatchangethesystem.InstallInitialize(min:0,max:unbounded):Marksthebeginningofasequenceofactionsthatchangethesystem.InstallValidate(min:0,max:unbounded):Verifiesthatallcostedvolumeshaveenoughspacefortheinstallation.LaunchConditions(min:0,max:unbounded):Queriesthe
![Page 77: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/77.jpg)
LaunchConditiontableandevaluateseachconditionalstatementrecordedthere.ResolveSource(min:0,max:unbounded):DeterminesthelocationofthesourceandsetstheSourceDirpropertyifthesourcehasnotbeenresolvedyet.
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 78: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/78.jpg)
AdminUISequenceElement
Description
None
WindowsInstallerreferencesAdminUISequenceTable
ParentsFragment,Include,Module,Product,UI
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenChoiceofelements(min:0,max:unbounded)CostFinalize(min:0,max:unbounded):EndstheinternalinstallationcostingprocessbegunbytheCostInitializeaction.CostInitialize(min:0,max:unbounded):Initiatestheinternalinstallationcostingprocess.Custom(min:0,max:unbounded):Usetosequenceacustomaction.ExecuteAction(min:0,max:unbounded):Initiatestheexecutionsequence.FileCost(min:0,max:unbounded):Initiatesdynamiccostingofstandardinstallationactions.InstallAdminPackage(min:0,max:unbounded):Copiestheproductdatabasetotheadministrativeinstallationpoint.InstallFiles(min:0,max:unbounded):CopiesfilesspecifiedintheFiletablefromthesourcedirectorytothedestinationdirectory.InstallFinalize(min:0,max:unbounded):Markstheendofasequenceofactionsthatchangethesystem.InstallInitialize(min:0,max:unbounded):Marksthebeginningofasequenceofactionsthatchangethesystem.InstallValidate(min:0,max:unbounded):Verifiesthatallcosted
![Page 79: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/79.jpg)
volumeshaveenoughspacefortheinstallation.LaunchConditions(min:0,max:unbounded):QueriestheLaunchConditiontableandevaluateseachconditionalstatementrecordedthere.Show(min:0,max:unbounded)
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 80: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/80.jpg)
AdvertiseExecuteSequenceElement
Description
None
WindowsInstallerreferencesAdvtExecuteSequenceTable
ParentsFragment,Include,Module,Product
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenChoiceofelements(min:0,max:unbounded)CostFinalize(min:0,max:unbounded):EndstheinternalinstallationcostingprocessbegunbytheCostInitializeaction.CostInitialize(min:0,max:unbounded):Initiatestheinternalinstallationcostingprocess.CreateShortcuts(min:0,max:unbounded):Managesthecreationofshortcuts.Custom(min:0,max:unbounded):Usetosequenceacustomaction.TheonlycustomactionsthatareallowedintheAdvtExecuteSequencearetype19(0x013)type35(0x023)andtype51(0x033).InstallFinalize(min:0,max:unbounded):Markstheendofasequenceofactionsthatchangethesystem.InstallInitialize(min:0,max:unbounded):Marksthebeginningofasequenceofactionsthatchangethesystem.InstallValidate(min:0,max:unbounded):Verifiesthatallcostedvolumeshaveenoughspacefortheinstallation.MsiPublishAssemblies(min:0,max:unbounded):ManagestheadvertisementofCLRandWin32assemblies.PublishComponents(min:0,max:unbounded):ManagestheadvertisementofthecomponentsfromthePublishComponenttable.
![Page 81: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/81.jpg)
PublishFeatures(min:0,max:unbounded):Writeseachfeature'sstateintothesystemregistry.PublishProduct(min:0,max:unbounded):Managestheadvertisementoftheproductinformationwiththesystem.RegisterClassInfo(min:0,max:unbounded):ManagestheregistrationofCOMclassinformationwiththesystem.RegisterExtensionInfo(min:0,max:unbounded):Managestheregistrationofextensionrelatedinformationwiththesystem.RegisterMIMEInfo(min:0,max:unbounded):RegistersMIME-relatedregistryinformationwiththesystem.RegisterProgIdInfo(min:0,max:unbounded):ManagestheregistrationofOLEProgIdinformationwiththesystem.
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 82: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/82.jpg)
AllocateRegistrySpaceElement
Description
Ensurestheneededamountofspaceexistsintheregistry.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 83: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/83.jpg)
AppDataElement
Description
OptionalwayfordefiningAppData,generallyusedforcomplexCDATA.
WindowsInstallerreferencesNone
ParentsCategory
SeeAlsoWixSchema
Version2.0.4820.0
![Page 84: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/84.jpg)
AppIdElement
Description
ApplicationIDcontainingDCOMinformationfortheassociatedapplicationGUID.IfthiselementisnestedunderaFragment,Module,orProductelement,itmustbeadvertised.
WindowsInstallerreferencesAppIdTable,RegistryTable
ParentsComponent,File,Fragment,Include,Module,Product,TypeLib
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)Class(min:0,max:unbounded)
Attributes
Name Type Description RequiredId Uuid Setthisvaluetothe
AppIDGUIDthatcorrespondstothenamedexecutable.
Yes
ActivateAtStorage YesNoType Setthisvalueto'yes'toconfiguretheclienttoactivateonthesamesystemaspersistentstorage.
Advertise YesNoType Setthisvalueto'yes'inordertocreateanormalAppIdtablerow.Setthisvalueto'no'inorderto
![Page 85: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/85.jpg)
generateRegistryrowsthatperformsimilarregistration(withouttheoftenproblematicWindowsInstalleradvertisingbehavior).
Description String SetthisvaluetothedescriptionoftheAppId.ItcanonlybespecifiedwhentheAppIdisnotbeingadvertised.
DllSurrogate String SetthisvaluetospecifythattheclassisaDLLthatistobeactivatedinasurrogateEXEprocess,andthesurrogateprocesstobeusedisthepathofasurrogateEXEfilespecifiedbythevalue.
LocalService String SetthisvaluetothenameofaservicetoallowtheobjecttobeinstalledasaWin32service.
RemoteServerName String SetthisvaluetothenameoftheremoteservertoconfiguretheclienttorequesttheobjectberunataparticularmachinewheneveranactivationfunctioniscalledforwhichaCOSERVERINFOstructureisnotspecified.
![Page 86: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/86.jpg)
RunAsInteractiveUser YesNoType Setthisvalueto'yes'toconfigureaclasstorunundertheidentityoftheusercurrentlyloggedonandconnectedtotheinteractivedesktopwhenactivatedbyaremoteclientwithoutbeingwrittenasaWin32service.
ServiceParameters String SetthisvaluetotheparameterstobepassedtoaLocalServiceoninvocation.
RemarksWhenbeingusedinunadvertisedmode,theattributesintheAppIdelementcorrespondtoregistrykeysasfollows(valuesthatcanbespecifiedinauthoringareinbold):Id
InGeneral[HKCR\AppID\{Id}]
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]
ActivateAtStorageInGeneral
[HKCR\AppID\{Id}]ActivateAtStorage="ActivateAtStorage"
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]ActivateAtStorage="Y"
DescriptionInGeneral
![Page 87: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/87.jpg)
[HKCR\AppID\{Id}]@="Description"
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]@="MyAppIdDescription"
DllSurrogateInGeneral
[HKCR\AppID\{Id}]DllSurrogate="DllSurrogate"
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]DllSurrogate="C:\surrogate.exe"
LocalServiceInGeneral
[HKCR\AppID\{Id}]LocalService="LocalService"
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]LocalService="MyServiceName"
RemoteServerNameInGeneral
[HKCR\AppID\{Id}]RemoteServerName="RemoteServerName"
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]RemoteServerName="MyRemoteServer"
RunAsInteractiveUserInGeneral
[HKCR\AppID\{Id}]RunAs="RunAsInteractiveUser"
![Page 88: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/88.jpg)
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]RunAs="InteractiveUser"
ServiceParametersInGeneral
[HKCR\AppID\{Id}]ServiceParameters="ServiceParameters"
SpecificExample[HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]ServiceParameters="-param"
SeeAlsoWixSchema
Version2.0.4820.0
![Page 89: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/89.jpg)
AppSearchElement
Description
Usesfilesignaturestosearchforexistingversionsofproducts.TheAppSearchactionmayusethisinformationtodeterminewhereupgradesaretobeinstalled.TheAppSearchactioncanalsobeusedtosetapropertytotheexistingvalueofanregistryor.inifileentry.AppSearchshouldbeauthoredintotheInstallUISequencetableandInstallExecuteSequencetable.TheinstallerpreventsTheAppSearchactionfromrunningintheInstallExecuteSequencesequenceiftheactionhasalreadyruninInstallUISequencesequence.TheAppSearchactionsearchesforfilesignaturesusingtheCompLocatortablefirst,theRegLocatortablenext,thentheIniLocatortable,andfinallytheDrLocatortable.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactionina
![Page 90: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/90.jpg)
sequence.Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,ComponentSearch,FileSearch,IniFileSearch,RegistrySearch
Version2.0.4820.0
![Page 91: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/91.jpg)
AssemblyNameElement
Description
TheMsiAssemblyNametablespecifiestheschemafortheelementsofastrongassemblycachenamefora.NETFrameworkorWin32assembly.ConsiderusingtheAssemblyattributeonFileelementtohavethetoolsetpopulatetheseentriesautomatically.
WindowsInstallerreferencesMsiAssemblyNameTable
ParentsFile
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Nameoftheattributeassociatedwith
thevaluespecifiedintheValuecolumn.
Yes
Value String ValueassociatedwiththenamespecifiedintheNamecolumn.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 92: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/92.jpg)
BillboardElement
Description
BillboardtodisplayduringinstallofaFeature
WindowsInstallerreferencesBillboardTable,BBControlTable
ParentsBillboardAction
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Control(min:0,max:unbounded):Onlycontrolsofstatictypesuchas:Text,Bitmap,Icon,orcustomcontrolcanbeplacedonabillboard.
Attributes
Name Type Description RequiredId String UniqueidentifierfortheBillboard. YesFeature String Featurewhosestatedeterminesifthe
Billboardisshown.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 93: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/93.jpg)
BillboardActionElement
Description
BillboardactionduringwhichchildBillboardsaredisplayed
WindowsInstallerreferencesBillboardTable,BBControlTable
ParentsUI
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Billboard(min:1,max:unbounded):OrderofBillboardelementsdeterminesorderofdisplay
Attributes
Name Type Description RequiredId String Actionnamethatdetermineswhenthe
Billboardshouldbeshown.Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 94: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/94.jpg)
BinaryElement
Description
BinarydatausedforCustomActionelementsandUIcontrols.
WindowsInstallerreferencesBinaryTable
ParentsControl,Fragment,Include,Module,Product,SqlScript,UI
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheIdcannotbylongerthan55
characters.InordertopreventerrorsincaseswheretheIdismodularized,itshouldnotbelongerthan18characters.
Yes
SourceFile String Pathtothebinaryfile. src String Thisattributehasbeendeprecated;
pleaseusetheSourceFileattributeinstead.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 95: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/95.jpg)
BindImageElement
Description
BindseachexecutableorDLLthatmustbeboundtotheDLLsimportedbyit.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 96: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/96.jpg)
CategoryElement
Description
QualifiedpublishedcomponentforparentComponent
WindowsInstallerreferencesPublishComponentTable
ParentsComponent,Include
InnerTextNone
ChildrenSequence(min:0,max:unbounded)
1. AppData(min:0,max:unbounded)
Attributes
Name Type Description RequiredId Uuid AstringGUIDthatrepresentsthe
categoryofcomponentsbeinggroupedtogether.
Yes
AppData String Anoptionallocalizabletextdescribingthecategory.Thestringiscommonlyparsedbytheapplicationandcanbedisplayedtotheuser.Itshoulddescribethecategory.
Feature String Featurethatcontrolstheadvertisementofthecategory.DefaultstotheprimaryFeaturefortheparentComponent.
Qualifier String AtextstringthatqualifiesthevalueintheIdattribute.AqualifierisusedtodistinguishmultipleformsofthesameComponent,suchasaComponent
Yes
![Page 97: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/97.jpg)
thatisimplementedinmultiplelanguages.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 98: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/98.jpg)
CCPSearchElement
Description
Usesfilesignaturestovalidatethatqualifyingproductsareinstalledonasystembeforeanupgradeinstallationisperformed.TheCCPSearchactionshouldbeauthoredintotheInstallUISequencetableandInstallExecuteSequencetable.TheinstallerpreventstheCCPSearchactionfromrunningintheInstallExecuteSequencesequenceiftheactionhasalreadyruninInstallUISequencesequence.TheCCPSearchactionmustcomebeforetheRMCCPSearchaction.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlso
![Page 99: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/99.jpg)
WixSchema,RMCCPSearch,ComplianceCheckVersion2.0.4820.0
![Page 100: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/100.jpg)
CertificateElement
Description
Usedtoinstallandunintallcertificates.
WindowsInstallerreferencesNone
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Uniqueidentifierforthis
certificateintheinstallationpackage.
Yes
BinaryKey String ReferencetoaBinaryelementthatwillstorethecertificateasastreaminsidethepackage.ThisattributecannotbespecifiedwiththeCertificatePathattribute.
CertificatePath String IftheRequestattributeis"no"thenthisattributeisthepathtothecertificatefileoutsideofthepackage.IftheRequestattributeis"yes"thenthisatributeisthecertificateauthoritytorequestthecertificatefrom.
![Page 101: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/101.jpg)
ThisattributemaybesetviaaformattedProperty(e.g.[MyProperty]).
Name String Nameofthecertificatethatwillbeinstalledoruninstalledinthespecifiedstore.ThisattributemaybesetviaaformattedProperty(e.g.[MyProperty]).
Yes
Overwrite YesNoType PFXPassword String IftheBinarystreamorpath
tothefileoutsideofthepackageisapasswordprotectedPFXfile,thepasswordforthatPFXmustbespecifiedhere.ThisattributemaybesetviaaformattedProperty(e.g.[MyProperty]).
Request YesNoType ThisattributecontrolswhethertheCertificatePathattributeisapathtoacertificatefile(Request='no')orthecertificateauthoritytorequestthecertificatefrom(Request='yes').
StoreLocation Enumeration Thisattribute'svalueshouldbeoneofthefollowing:currentUser
localMachine
Yes
StoreName Enumeration Thisattribute'svalueshouldbeoneofthefollowing:ca
Containsthecertificatesofcertificateauthoritiesthattheusertruststo
Yes
![Page 102: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/102.jpg)
issuecertificatestoothers.Certificatesinthesestoresarenormallysuppliedwiththeoperatingsystemorbytheuser'snetworkadministrator.
myUsethe"personal"valueinstead.
personalContainspersonalcertificates.Thesecertificateswillusuallyhaveanassociatedprivatekey.Thisstoreisoftenreferredtoasthe"MY"certificatestore.
request
rootContainsthecertificatesofcertificateauthoritiesthattheusertruststoissuecertificatestoothers.Certificatesinthesestoresarenormallysuppliedwiththeoperatingsystemorbytheuser'snetworkadministrator.Certificatesinthisstorearetypicallyself-signed.
otherPeopleContainsthecertificatesofthosethattheusernormallysends
![Page 103: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/103.jpg)
envelopedmessagestoorreceivessignedmessagesfrom.SeeMSDNdocumentationformoreinformation.
SeeAlsoWixSchema,CertificateRef
Version2.0.4820.0
![Page 104: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/104.jpg)
CertificateRefElement
Description
AssociatesacertificatewiththeparentWebSite.TheCertificateelementshouldbeinthesameComponentastheparentWebSite.
WindowsInstallerreferencesNone
ParentsWebSite
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Theidentifierofthereferenced
Certificate.Yes
SeeAlsoWixSchema,Certificate
Version2.0.4820.0
![Page 105: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/105.jpg)
ClassElement
Description
COMClassregistrationforparentComponent.
WindowsInstallerreferencesClassTable,ProgIdTable,RegistryTable,AppIdTable
ParentsAppId,Component,File,Include,TypeLib
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)FileTypeMask(min:0,max:unbounded)Interface(min:0,max:unbounded):TheseInterfaceswillberegisteredwiththeparentClassandTypeLib(ifpresent).ProgId(min:0,max:unbounded):AProgIdassociatedwithClassmustbeachildelementoftheClasselement
Attributes
Name Type DescriptionId Uuid TheClassidentifier(CLSID)ofaCOM
server.Advertise YesNoType Setthisvalueto"yes"inordertocreatea
normalClasstablerow.SetthisvaluetoinordertogenerateRegistryrowsthatperformsimilarregistration(withouttheproblematicWindowsInstalleradvertisingbehavior).
AppId Uuid ThisattributeisonlyallowedwhenaClassisadvertised.UsingthisattributewillreferenceanApplicationIDcontainingDCOMinformationfortheassociatedapplication
![Page 106: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/106.jpg)
GUID.ThevaluemustcorrespondtoanAppId/@IdofanAppIdelementnestedunderaFragment,Module,orProductelement.associateanAppIdwithanon-advertisedclass,nesttheclasswithinaparentAppIdelement.
Argument String ThiscolumnisoptionalonlywhentheContextcolumnissetto"LocalServer""LocalServer32"servercontext.ThetextisregisteredastheargumentagainsttheOLEserverandisusedbyOLEforinvokingtheserver.NotethattheresolutionofpropertiesintheArgumentfieldislimited.Apropertyformattedas[Property]inthisfieldcanonlyberesolvedifthepropertyalreadyhastheintendedvaluewhenthecomponentowningtheclassisinstalled.Forexample,fortheargument"[#MyDoc.doc]"toresolvetothecorrectvalue,thesameprocessmustbeinstallingthefileMyDoc.docandthecomponentthatownstheclass.
Context List Theservercontext(s)forthisserver.Thisattribute'svalueshouldbeaspace-delimitedlistcontaingoneormoreofthefollowing:LocalServer
A16-bitlocalserverapplication.
LocalServer32A32-bitlocalserverapplication.
InprocServerA16-bitin-processserverDLL.
InprocServer32A32-bitin-processserverDLL.
Control YesNoType Setthisattribute'svalueto'yes'toidentifyanobjectasanActiveXControl.Thedefaultvalueis'no'.Seehttp://msdn.microsoft.com/library/default.asp?
![Page 107: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/107.jpg)
url=/library/en-us/com/htm/reg_2fn0.aspmoreinformation.
Description String LocalizeddescriptionassociatedwiththeClassIDandProgramID.
Handler String Thedefaultinprochandler.MaybeoptionallyprovidedonlyforContext=LocalServerorLocalServer32.Valueof"1"createsa16-bitInprocHandler(appearingastheInprocHandlervalue).Valueof"2"createsa32-bitInprocHandler(appearingastheInprocHandler32value).Valueof"3"creates16-bitaswellas32-bitInprocHandlers.non-numericvalueistreatedasasystemfilethatservesasthe32-bitInprocHandler(appearingastheInprocHandler32value).
Icon String ThefileprovidingtheiconassociatedwiththisCLSID.ReferencetoanIconelement(shouldmatchtheIdattributeofanIconelement).ThisiscurrentlynotsupportedifthevalueoftheAdvertiseattributeis"no".
IconIndex Integer Iconindexintotheiconfile.Insertable YesNoType SpecifiestheCLISDmaybeinsertable.Programmable YesNoType SpecifiestheCLSIDmaybeprogrammable.RelativePath YesNoType Whenthevalueis"yes",thebarefilename
canbeusedforCOMservers.Theinstallerregistersthefilenameonlyinsteadofthecompletepath.Thisenablestheserverincurrentdirectorytotakeprecedenceandallowsmultiplecopiesofthesamecomponent.
SafeForInitializing YesNoType MayonlybespecifiedifthevalueoftheAdvertiseattributeis"no".
SafeForScripting YesNoType MayonlybespecifiedifthevalueoftheAdvertiseattributeis"no".
Server String MayonlybespecifiedifthevalueoftheAdvertiseattributeis"no".FileIdofthe
![Page 108: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/108.jpg)
serverfile.IfthiselementisnestedunderaFileelement,thisvaluedefaultstothevalueoftheparentFile/@Id.
ThreadingModel Enumeration ThreadingmodelfortheCLSID.Thisattribute'svalueshouldbeoneofthefollowing:apartment
free
both
neutral
single
rental
Version String VersionfortheCLSID.
RemarksWhenbeingusedinunadvertisedmode,theattributesintheClasselementcorrespondtoregistrykeysasfollows(valuesthatcanbespecifiedinauthoringareinbold):Id/Context/Server
InGeneral[HKCR\CLSID\{Id}\Context1]@="[!Server]"[HKCR\CLSID\{Id}\Context2]@="[!Server]"
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer]@="[!comserv.dll]"[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32]@="[!comserv.dll]"
AppIdInGeneral
[HKCR\CLSID\{Id}]
![Page 109: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/109.jpg)
AppId="{AppId}"
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}]AppId="{00000000-89AB-0000-0123-000000000000}"
ArgumentInGeneral
[HKCR\CLSID\{Id}\Context]@="[!Server]Argument"
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32]@="[!comserv.dll]/arg1/arg2/arg3"
ControlInGeneral
Value"yes"specified:[HKCR\CLSID\{Id}\Control]
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Control]
DescriptionInGeneral
[HKCR\CLSID\{Id}]@="Description"
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}]@="DescriptionofExampleCOMComponent"
HandlerInGeneral
Value"1"specified:[HKCR\CLSID\{Id}\InprocHandler]@="ole.dll"Value"2"specified:
![Page 110: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/110.jpg)
[HKCR\CLSID\{Id}\InprocHandler32]@="ole32.dll"Value"3"specified:[HKCR\CLSID\{Id}\InprocHandler]@="ole.dll"[HKCR\CLSID\{Id}\InprocHandler32]@="ole32.dll"Othervaluespecified:[HKCR\CLSID\{Id}\InprocHandler32]@="Handler"
SpecificExample(forothervalue)[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\InprocHandler32]@="handler.dll"
Icon/IconIndexThisisnotcurrentlyhandledproperly.
InsertableInGeneral
Value"no"specified:[HKCR\CLSID\{Id}\NotInsertable]Value"yes"specified:[HKCR\CLSID\{Id}\Insertable]
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Insertable]
ProgrammableInGeneral
Value"yes"specified:[HKCR\CLSID\{Id}\Programmable]
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Programmable]
RelativePathUnsupported.PleasecontributethisbacktoWiXifyouknow.
![Page 111: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/111.jpg)
SafeForInitializingInGeneral
Value"yes"specified:[HKCR\CLSID\{Id}\ImplementedCategories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\ImplementedCategories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
SafeForScriptingInGeneral
Value"yes"specified:[HKCR\CLSID\{Id}\ImplementedCategories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\ImplementedCategories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
ThreadingModelInGeneral
[HKCR\CLSID\{Id}\Context]ThreadingModel="ThreadingModel"
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32]ThreadingModel="Apartment"
TypeLibId(fromparentTypeLib/@Id)InGeneral
[HKCR\CLSID\{Id}\TypeLib]@="{TypeLibId}"
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\TypeLib]@="{11111111-89AB-1111-0123-111111111111}"
![Page 112: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/112.jpg)
VersionInGeneral
[HKCR\CLSID\{Id}\Version]@="Version"
SpecificExample[HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Version]@="1.0.0.0"
SeeAlsoWixSchema,AppId
Version2.0.4820.0
![Page 113: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/113.jpg)
ColumnElement
Description
ColumndefinitionforaCustomTable
WindowsInstallerreferencesNone
ParentsCustomTable
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierforthecolumn. YesCategory Enumeration Categoryofthiscolumn.This
attribute'svalueshouldbeoneofthefollowing:Text
UpperCase
LowerCase
Integer
DoubleInteger
TimeDate
Identifier
Property
Filename
![Page 114: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/114.jpg)
WildCardFilename
Path
Paths
AnyPath
DefaultDir
RegPath
Formatted
Template
Condition
Guid
Version
Language
Binary
CustomSource
Cabinet
Shortcut
Description String Descriptionofthiscolumn. KeyColumn Integer Columninthetablein
KeyTableattribute.
KeyTable String Tableinwhichthiscolumnisanexternalkey.Canbesemicolondelimited.
Localizable YesNoType Whetherthiscolumncanbelocalized.
MaxValue Integer Maximumvalueforanumericvalue,dateorversioninthiscolumn.
MinValue Integer Minimumvalueforanumericvalue,dateorversioninthis
![Page 115: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/115.jpg)
column.
Modularize ModularizeType Howthiscolumnshouldbemodularized,ifatall.
Nullable YesNoType Whetherthiscolumncanbeleftnull.
PrimaryKey YesNoType Whetherthiscolumnisaprimarykey.
Set String Semicolondelimitedlistofpermissiblevalues.
Type Enumeration Thetypeofthiscolumn.Thisattribute'svalueshouldbeoneofthefollowing:binary
int
string
Yes
Width Integer Widthofthiscolumn.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 116: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/116.jpg)
ComboBoxElement
Description
SetofitemsforaparticularComboBoxcontroltiedtoaninstallProperty
WindowsInstallerreferencesComboBoxTable,ControlTable,DialogTable
ParentsControl,UI
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ListItem(min:0,max:unbounded):entryforComboBoxtable
Attributes
Name Type Description RequiredProperty String Propertytiedtothisgroup Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 117: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/117.jpg)
ComplianceCheckElement
Description
AddsarowtotheCCPSearchtable.
WindowsInstallerreferencesCCPSearchTable,SignatureTable
ParentsFragment,Include,Product
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ComplianceDrive(min:0,max:1):StartssearchesfromtheCCP_DRIVE.
2. ComponentSearch(min:0,max:unbounded)3. RegistrySearch(min:0,max:unbounded)4. IniFileSearch(min:0,max:unbounded)5. DirectorySearch(min:0,max:unbounded)6. FileSearch(min:0,max:unbounded)
AttributesNone
SeeAlsoWixSchema,Property
Version2.0.4820.0
![Page 118: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/118.jpg)
ComplianceDriveElement
Description
SetstheparentofanestedDirectorySearchelementtoCCP_DRIVE.
WindowsInstallerreferencesNone
ParentsComplianceCheck,Property
InnerTextNone
ChildrenChoiceofelements(min:1,max:1)DirectorySearch(min:1,max:1)DirectorySearchRef(min:1,max:1)
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 119: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/119.jpg)
ComponentElement
Description
ComponentforparentDirectory
WindowsInstallerreferencesComponentTable,ConditionTable,DirectoryTable
ParentsDirectory,DirectoryRef
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)AppId(min:0,max:unbounded)Category(min:0,max:unbounded)Certificate(min:0,max:unbounded)Class(min:0,max:unbounded)Condition(min:0,max:unbounded)CopyFile(min:0,max:unbounded)CreateFolder(min:0,max:unbounded)Environment(min:0,max:unbounded)Extension(min:0,max:unbounded)File(min:0,max:unbounded)FileShare(min:0,max:unbounded)IniFile(min:0,max:unbounded)Interface(min:0,max:unbounded)IsolateComponent(min:0,max:unbounded)ODBCDataSource(min:0,max:unbounded)ODBCDriver(min:0,max:unbounded)ODBCTranslator(min:0,max:unbounded)ProgId(min:0,max:unbounded)
![Page 120: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/120.jpg)
Registry(min:0,max:unbounded)RemoveFile(min:0,max:unbounded)RemoveFolder(min:0,max:unbounded)ReserveCost(min:0,max:unbounded)ServiceConfig(min:0,max:unbounded)ServiceControl(min:0,max:unbounded)ServiceInstall(min:0,max:unbounded)Shortcut(min:0,max:unbounded)SqlDatabase(min:0,max:unbounded)SqlScript(min:0,max:unbounded)SqlString(min:0,max:unbounded)TypeLib(min:0,max:unbounded)User(min:0,max:unbounded)WebAppPool(min:0,max:unbounded)WebDir(min:0,max:unbounded)WebFilter(min:0,max:unbounded)WebProperty(min:0,max:unbounded)WebServiceExtension(min:0,max:unbounded)WebSite(min:0,max:unbounded)WebVirtualDir(min:0,max:unbounded)XmlFile(min:0,max:unbounded)AnyElementnamespace='##other'processContents='Lax'
Attributes
Name Type DescriptionId String Componentidentifier;thisistheprimarykeyforidentifying
components.ComPlusFlags Integer SetthisattributetocreateaComPlusentry.
shouldbetheexportflagsusedthe.msifile.FormoreinformationseetheCOM+documentationinthePlatformSDK.
DisableRegistryReflection YesNoType Setthisattributeto'yes'inordertodisableregistryreflectiononallexistingandthiscomponent.Whensetto'yes',theWindowsInstaller
![Page 121: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/121.jpg)
callstheRegDisableReflectionKeyoneachkeyaccessedbythecomponent.WindowsInstallerversion4.0andisignoredon32-bitsystems.
DiskId String ThisattributemustbeseteitheronaComponentelementorallofitschildrenFileattributeshouldcorrespondtotheIdattributeofaelementauthoredelsewhere.betweenacomponent(orpackagingoptionstothevaluesspecifiedintheMediaelement(valuessuchascompressionlevel,cabembedding,etc...).
DriverAddRemovePrograms YesNoType SpecifiesthattheDIFxAppCustomActionsshouldaddanentryintheAdd/RemoveProgramsControlThedefaultis'yes'.
DriverDeleteFiles YesNoType Ifsetto"yes",configuresDIFxApptodeletebinaryfilesthatwerecopiedtothesystemfromthedriveradriverpackagewasinstalled.Ifthisattributeissetto"no"ornotpresent,DIFxAppdoesnotfromasystem.NotethatconfiguringDIFxApptodeletethesefilesiscontrolledbythecomponentthatrepresentsthedriverpackageintheMsiDriverPackagescustomtable.DriverDeleteFilesto"yes"setsthecorrespondingbitintheFlagsentryvalue.SettingDriverLegacycorrespondingbitintheFlagsentryvalue.Ifthisattributeisnotpresent,DIFxAppuses
DriverForceInstall YesNoType SpecifiesthattheDIFxAppCustomActionsshouldforcetheinstallationofanewPlugandPlaydriverevenifthecurrentlyinstalleddriveronthedeviceisabettermatchthanthenewdriver.excellentwaytoensuretheDIFxAppCustomActionsrecognizetheComponentcontainsThedefaultisnullwhichmeanstheComponentdoesnotinstalladriverviaDIFxAppCustomActions.Seehttp://www.microsoft.com/whdc/driver/install/difxtools.mspxformoreinformation.
DriverLegacy YesNoType Ifsetto"yes",configuresDIFxApptoinstallunsigned
![Page 122: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/122.jpg)
driverpackagesanddriverpackageswithmissingFormoreinformation,see"InstallingUnsignedDriverPackagesinLegacyMode"earlierinthispaper.attributeissetto"no"ornotpresent,DIFxAppwillinstallonlysigneddriverpackages.NoteDIFxApptoinstallunsigneddriversiscontrolledbytheFlagsentryvalueofthecomponentdriverpackageintheMsiDriverPackagescustomtable.SettingDriverLegacyto"yes"setstheFlagsentryvalue.SettingDriverLegacyto"no"clearsthebitintheFlagsentryvaluethatconfiguresDIFxApptoinstallunsigneddriverpackages.Ifthisattributeisnotpresent,DIFxAppusesadefaultvalueof"no".
DriverPlugAndPlayPrompt YesNoType SpecifiesthattheDIFxAppCustomActionsshouldprompttheusertoconnectthePlugandPlayconnected.Thedefaultis'yes'.
DriverSequence Integer Specifiesanoptionalinstallationsequencenumber.DIFxAppCustomActionsinstallthedriverpackagesininstallationpackageintheorderofincreasingsequencenumbers.Thesamesequencenumbercanbeusedmorethanonedriver;however,theorderinwhichpackageswiththesamesequencenumberareactuallyinstalledcannotbedetermined.
Guid ComponentGuid Thisvalueshouldbeaguidthatuniquelyidentifiesthiscomponent'scontents,language,platform,andversion.It'salsopossibletosetthevaluetoanemptystringtospecifyanunmanagedcomponent.componentsareasecurityvulnerabilitybecausethecomponentcannotberemovedorrepairedInstaller(itisessentiallyanunpatchable,permanentcomponent).Therefore,aguidshouldforanycomponentwhichcontainsresourcesthatmayneedtobepatchedinthefuture.
KeyPath YesNoType Ifthisattribute'svalueissetto'yes',thentheDirectoryofthisComponentisusedkeyorFileastheKeyPathofacomponent,settheKeyPathattributeto'yes'ononeofthosechildelements.
Location Enumeration Thisattribute'svalueshouldbeoneofthefollowing:
![Page 123: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/123.jpg)
localPreventsthecomponentfromrunningfromthesourceorthenetwork(thisisthedefaultbehaviorifthisattributeisnotset).
sourceEnforcesthatthecomponentcanonlyberunfromthesource(itcannotberunfromtheuser'scomputer).
eitherAllowsthecomponenttorunfromsourceorlocally.
NeverOverwrite YesNoType Ifthisattributeissetto'yes',theinstallerdoesnotinstallorreinstallthecomponentifakeypathfileorakeypathregistryentryforthecomponentalreadyapplicationdoesregisteritselfasaclientofthecomponent.UsethisflagonlyforcomponentsthatarebeingregisteredbytheRegistrytable.forcomponentsregisteredbytheAppId,Class,Extension,ProgId,MIME,andVerbtables.
Permanent YesNoType Ifthisattributeissetto'yes',theinstallerdoesnotremovethecomponentduringanuninstall.TheinstallerregistersanextrasystemclientforthecomponentinInstallerregistrysettings(whichbasicallyjustmeansthatatleastoneproductisalwaysreferencingthiscomponent).Notethatthisoptiondiffersfromtheofnotsettingaguidbecausealthoughthecomponentispermanent,itisstillpatchable(becauseWindowsInstallerstilltracksit),it'sjustnotuninstallable.
SharedDllRefCount YesNoType Ifthisattribute'svalueissetto'yes',theinstallerincrementsthereferencecountofthecomponent'skeyfile.installerincrementsthereferencecountonlyifthereferencecountalreadyexists.
Transitive YesNoType Ifthisattributeissetto'yes',theinstallerreevaluatesthevalueofthestatementintheConditionuponareinstall.thevaluewaspreviouslyFalseandhaschangedtotheinstallerinstallsthecomponent.previouslyTrueandhas
![Page 124: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/124.jpg)
removesthecomponentevenifthecomponenthasotherproductsasclients.
Win64 YesNoType Setthisattributeto'yes'tomarkthisasa64-bitcomponent.Thisattributefacilitatespackagesthatincludeboth32-bitand64-bitcomponents.Ifthisbitisnotset,thecomponentisregisteredasa32-bitcomponent.Ifthisisa64-bitcomponent,setthisbitandassignanewGUIDintheGuidattribute.
Anyattributenamespace='##other'processContents='lax'
SeeAlsoWixSchema,ComponentRef,Media
Version2.0.4820.0
![Page 125: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/125.jpg)
ComponentGroupElement
Description
Groupstogethermultiplecomponentstobeusedinotherlocations.
WindowsInstallerreferencesNone
ParentsFragment
InnerTextNone
ChildrenChoiceofelements(min:1,max:unbounded)ComponentRef(min:1,max:unbounded)AnyElementnamespace='##other'processContents='Lax'
Attributes
Name Type Description RequiredId String IdentifierfortheComponentGroup. YesAnyattributenamespace='##other'processContents='lax'
SeeAlsoWixSchema,ComponentGroupRef
Version2.0.4820.0
![Page 126: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/126.jpg)
ComponentGroupRefElement
Description
CreateareferencetoaComponentGroupinanotherFragment.
WindowsInstallerreferencesNone
ParentsFeature,FeatureRef,Module
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Theidentifierofthe
ComponentGrouptoreference.Yes
Primary YesNoType Setthisattributeto'yes'inordertomaketheparentfeatureofthiscomponenttheprimaryfeatureforthiscomponent.Componentsmaybelongtomultiplefeatures.Bydesignatingafeatureastheprimaryfeatureofacomponent,youensurethatwheneveracomponentisselectedforinstall-on-demand(IOD),theprimaryfeaturewillbetheonetoinstallit.Thisattributeshouldonlybesetifacomponentactuallynestsundermultiplefeatures.Ifacomponentnestsunderonlyonefeature,thatfeatureistheprimaryfeatureforthe
![Page 127: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/127.jpg)
component.Youcannotsetmorethanonefeatureastheprimaryfeatureofagivencomponent.
SeeAlsoWixSchema,ComponentGroup
Version2.0.4820.0
![Page 128: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/128.jpg)
ComponentRefElement
Description
CreateareferencetoaFeatureelementinanotherFragment.
WindowsInstallerreferencesNone
ParentsComponentGroup,Feature,FeatureRef,Module
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheidentifieroftheComponent
elementtoreference.Yes
Primary YesNoType Setthisattributeto'yes'inordertomaketheparentfeatureofthiscomponenttheprimaryfeatureforthiscomponent.Componentsmaybelongtomultiplefeatures.Bydesignatingafeatureastheprimaryfeatureofacomponent,youensurethatwheneveracomponentisselectedforinstall-on-demand(IOD),theprimaryfeaturewillbetheonetoinstallit.Thisattributeshouldonlybesetifacomponentactuallynestsundermultiplefeatures.Ifacomponentnestsunderonlyonefeature,thatfeatureistheprimaryfeatureforthe
![Page 129: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/129.jpg)
component.Youcannotsetmorethanonefeatureastheprimaryfeatureofagivencomponent.
SeeAlsoWixSchema,Component
Version2.0.4820.0
![Page 130: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/130.jpg)
ComponentSearchElement
Description
SearchesforfileordirectoryandassignstovalueofparentProperty.
WindowsInstallerreferencesCompLocatorTable,SignatureTable
ParentsComplianceCheck,Property
InnerTextNone
ChildrenChoiceofelements(min:0,max:1)DirectorySearch(min:0,max:1)DirectorySearchRef(min:0,max:1)FileSearch(min:0,max:1)FileSearchRef(min:0,max:1)
Attributes
Name Type Description RequiredId String YesGuid Uuid ThecomponentIDofthe
componentwhosekeypathistobeusedforthesearch.
Type Enumeration MustbefileiflastchildisFileSearchelementandmustbedirectoryiflastchildisDirectorySearchelement.Thisattribute'svalueshouldbeoneofthefollowing:directory
file
![Page 131: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/131.jpg)
SeeAlsoWixSchema,IniFileSearch,RegistrySearch
Version2.0.4820.0
![Page 132: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/132.jpg)
ConditionElement
Description
Conditionsforcomponents,controls,features,andproducts.Theconditionisspecifiedintheinnertextoftheelement.
WindowsInstallerreferencesComponentTable,ControlConditionTable,ConditionTable,LaunchConditionTable
ParentsComponent,Control,Feature,Fragment,Include,Product
InnerText(xs:string)UnderaComponentelement,theconditionbecomestheconditionofthecomponent.UnderaControlelement,theconditionbecomesaControlConditionentry.UnderaFeatureelement,theconditionbecomesaConditionentry.UnderaFragmentorProductelement,theconditionbecomesaLaunchConditionentry.
ChildrenNone
Attributes
Name Type Description RequiredAction Enumeration UsedonlyunderControlelements
andisrequired.Allowsspecificactionstobeappliedtoacontrolbasedontheresultofthiscondition.Thisattribute'svalueshouldbeoneofthefollowing:default
enable
disable
hide
![Page 133: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/133.jpg)
show
Level String UsedonlyunderFeatureelementsandisrequired.AllowsmodifyingthelevelofaFeaturebasedontheresultofthiscondition.
Message String UsedonlyunderFragmentorProductelementsandisrequired.Setthevaluetothetexttodisplaywhentheconditionfailsandtheinstallationmustbeterminated.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 134: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/134.jpg)
ConfigurationElement
Description
Definestheconfigurableattributesofmergemodule.
WindowsInstallerreferencesNone
ParentsModule
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredContextData String Specifiesasemanticcontext
fortherequesteddata.
DefaultValue String Specifiesadefaultvaluefortheiteminthisrecordifthemergetooldeclinestoprovideavalue.
Description String Descriptionforauthoring. DisplayName String Displaynameforauthoring. Format Enumeration Specifiestheformatofthe
databeingchanged.Thisattribute'svalueshouldbeoneofthefollowing:Text
Key
Integer
Yes
![Page 135: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/135.jpg)
Bitfield
HelpKeyword String Keywordintochmfileforauthoring.
HelpLocation String Locationofchmfileforauthoring.
KeyNoOrphan YesNoType DoesnotmergeruleaccordingtorulesinMSISDK.
Name String Definesthenameoftheconfigurableitem.
Yes
NonNullable YesNoType Ifyes,nullisnotavalidentry. Type String Specifiesthetypeofthedata
beingchanged.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 136: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/136.jpg)
ConfigurationDataElement
Description
Datatouseasinputtoaconfigurablemergemodule.
WindowsInstallerreferencesNone
ParentsMerge
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredName String KeyintotheModuleConfiguration
table.Yes
Value String Valuetobepassedtoconfigurablemergemodule.
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 137: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/137.jpg)
ControlElement
Description
None
WindowsInstallerreferencesControlTable,ComboBoxTable,DialogTable,ListBoxTable,ListViewTable,RadioButtonTable
ParentsBillboard,Dialog
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Text(min:0,max:1):alternativetoTextattributewhenCDATAisneededtoescapeXMLdelimiters
2. ComboBox(min:0,max:1):ComboBoxtablewithListItemchildren
3. ListBox(min:0,max:1):ListBoxtablewithListItemchildren4. ListView(min:0,max:1):ListViewtablewithListItem
children5. RadioButtonGroup(min:0,max:1):RadioButtontablewith
RadioButtonchildren6. Property(min:0,max:1):Propertytableentryforthe
Propertytablecolumnassociatedwiththiscontrol7. Binary(min:0,max:1):Iconreferencediniconcolumnof
row8. Choiceofelements(min:0,max:unbounded)
Condition(min:0,max:unbounded):Conditiontospecifyactionsforthiscontrolbasedontheoutcomeofthecondition.Publish(min:0,max:unbounded)
![Page 138: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/138.jpg)
Subscribe(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String YesBitmap YesNoType onlyvalidfor
RadioButtonandPushButtonControls
Cancel YesNoType yesifthisisthecontrolinvokedoncancelofdialog
CDROM YesNoType onlyvalidforVolumeandDirectoryControls
CheckBoxValue String OnlyforCheckBoxcontroltosetPropertytoavalueoncheck
ComboList YesNoType onlyvalidforComboBoxControls
Default YesNoType yesifthiscontrolinvokedbythereturnkey
Disabled YesNoType ElevationShield YesNoType Onlyvalidfor
PushButtoncontrols.ThisattributeaddstheUserAccountControl(UAC)elevationicon(shieldicon)tothePushButtoncontrol.Ifthisattribute'svalueis
![Page 139: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/139.jpg)
'yes'andtheinstallationisnotyetrunningwithelevatedprivileges,thepushbuttoncontroliscreatedusingtheUserAccountControl(UAC)elevationicon(shieldicon).Ifthisattribute'svalueis'yes'andtheinstallationisalreadyrunningwithelevatedprivileges,thepushbuttoncontroliscreatedusingtheothericonattributes.Otherwise,thepushbuttoncontroliscreatedusingtheothericonattributes.
Fixed YesNoType onlyvalidforVolumeandDirectoryControls
FixedSize YesNoType onlyvalidforRadioButton,PushButton,andIconControls
Floppy YesNoType onlyvalidforVolumeandDirectoryControls
FormatSize YesNoType onlyvalidforTextControls
![Page 140: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/140.jpg)
HasBorder YesNoType onlyvalidforRadioButtonControls
Height LocalizableInteger YesHelp String Hidden YesNoType Icon YesNoType onlyvalidfor
RadioButtonandPushButtonControls
IconSize Enumeration onlyvalidforRadioButton,PushButton,andIconControlsThisattribute'svalueshouldbeoneofthefollowing:16
32
48
Image YesNoType onlyvalidforRadioButton,PushButton,andIconControls
Indirect YesNoType Integer YesNoType LeftScroll YesNoType Multiline YesNoType onlyvalidforEdit
Controls
NoPrefix YesNoType onlyvalidforTextControls
NoWrap YesNoType onlyvalidforTextControls
Password YesNoType onlyvalidforEdit
![Page 141: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/141.jpg)
ControlsProgressBlocks YesNoType onlyvalidfor
ProgressBarControls
Property String PushLike YesNoType onlyvalidfor
RadioButtonandCheckboxControls
RAMDisk YesNoType onlyvalidforVolumeandDirectoryControls
Remote YesNoType onlyvalidforVolumeandDirectoryControls
Removable YesNoType onlyvalidforVolumeandDirectoryControls
RightAligned YesNoType RightToLeft YesNoType ShowRollbackCost YesNoType onlyvalidfor
VolumeCostListControls
Sorted YesNoType ThisattributeisonlyvalidforListbox,ListView,andComboBoxControls.Setthevalueofthisattributeto"yes"tohaveentriesappearintheorderspecifiedundertheControl.Iftheattributevalueis"no"orabsenttheentriesinthe
![Page 142: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/142.jpg)
controlwillappearinalphabeticalorder.
Sunken YesNoType TabSkip YesNoType yesifthiscontrolis
skippedinthetabsequence
Text String ToolTip String Transparent YesNoType onlyvalidforText
Controls
Type String YesUserLanguage YesNoType onlyvalidforText
Controls
Width LocalizableInteger YesX LocalizableInteger YesY LocalizableInteger Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 143: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/143.jpg)
CopyFileElement
Description
Copyormoveanexistingfileonthetargetmachine,orcopyafilethatisbeinginstalled,toanotherdestination.WhenthiselementisnestedunderaFileelement,theparentfilewillbeinstalled,thencopiedtothespecifieddestinationiftheparentcomponentofthefileisselectedforinstallationorremoval.WhenthiselementisnestedunderaComponentelementandnoFileIdattributeisspecified,thefiletocopyormovemustalreadybeonthetargetmachine.WhenthiselementisnestedunderaComponentelementandtheFileIdattributeisspecified,thespecifiedfileisinstalled,thencopiedtothespecifieddestinationiftheparentcomponentisselectedforinstallationorremoval(usethisoptiontocontrolthecopyofafileinadifferentcomponentbytheparentcomponent'sinstallationstate).Ifthespecifieddestinationdirectoryisthesameasthedirectorycontainingtheoriginalfileandthenamefortheproposedsourcefileisthesameastheoriginal,thennoactiontakesplace.
WindowsInstallerreferencesDuplicateFileTable,MoveFileTable
ParentsComponent,File,Include
InnerTextNone
ChildrenNone
Attributes
Name Type DescriptionId String Primarykeyusedto
identifythisparticularentry.
Delete YesNoType Thisattributecannot
![Page 144: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/144.jpg)
bespecifiediftheelementisnestedunderaFileelementortheFileIdattributeisspecified.Inothercases,iftheattributeisnotspecified,thedefaultvalueis"no"andthefileiscopied,notmoved.Setthevalueto"yes"inordertomovethefile(thusdeletingthesourcefile)insteadofcopyingit.
DestinationDirectory String Setthisvaluetothedestinationdirectorywhereanexistingfileonthetargetmachineshouldbemovedorcopiedto.ThisDirectorymustexistintheinstallerdatabaseatcreationtime.ThisattributecannotbespecifiedinconjunctionwithDestinationProperty.
DestinationLongName LongFileNameType Ifthedestinationnameofthefileneedstobelongerthan8.3format,thenthisattributeshouldbespecifiedwiththelongfilename(inadditiontotheNameattribute
![Page 145: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/145.jpg)
whichisalwaysrequiredfortargetsystemsthatmightnotsupportlongfilenames).
DestinationName ShortFileNameType Setthisvaluetothelocalizablenametobegiventotheoriginalfileafteritismovedorcopied.thisattributeisnotspecified,thenthedestinationfileisgiventhesamenameasthesourcefile.
DestinationProperty String Setthisvaluetoapropertythatwillhaveavaluethatresolvestothefullpathofthedestinationdirectory.Thepropertydoesnothavetoexistintheinstallerdatabaseatcreationtime;itcouldbecreatedatinstallationtimebyacustomaction,onthecommandline,etc.ThisattributecannotbespecifiedinconjunctionwithDestinationDirectory.
FileId String Thisattributecannotbespecifiediftheelementisnested
![Page 146: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/146.jpg)
underaFileelement.Setthisattribute'svaluetotheidentifierofafilefromadifferentcomponenttocopyitbasedontheinstallstateoftheparentcomponent.
SourceDirectory String ThisattributecannotbespecifiediftheelementisnestedunderaFileelementortheFileIdattributeisspecified.Setvaluetothesourcedirectoryfromwhichtocopyormoveanexistingfileonthetargetmachine.ThisDirectorymustexistintheinstallerdatabaseatcreationtime.ThisattributecannotbespecifiedinconjunctionwithSourceProperty.
SourceName WildCardLongFileNameType ThisattributecannotbespecifiediftheelementisnestedunderaFileelementortheFileIdattributeisspecified.Setvaluetothelocalizablenameofthefile(s)tobecopiedormoved.ofthefilesthat
![Page 147: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/147.jpg)
matchthewildcardwillberemovedfromthespecifieddirectory.Thevalueisafilenamethatmayalsocontainthewildcardcharacters"?"foranysinglecharacteror"*"forzeroormoreoccurrencesofanycharacter.Ifthisattributeisnotspecified(andthiselementisnotnestedunderaFileelementorspecifyaFileIdattribute)thentheSourcePropertyattributeshouldbesettothenameofapropertythatwillresolvetothefullpathofthesourcefilename.Ifthevalueofthisattributecontainsa"*"wildcardandtheDestinationNameattributeisspecified,allmovedorcopiedfilesretainthefilenamesfromtheirsources.
SourceProperty String ThisattributecannotbespecifiediftheelementisnestedunderaFileelement
![Page 148: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/148.jpg)
ortheFileIdattributeisspecified.Setvaluetoapropertythatwillhaveavaluethatresolvestothefullpathofthesourcedirectory(orfullpathincludingfilenameifSourceNameisnotspecified).Thepropertydoesnothavetoexistintheinstallerdatabaseatcreationtime;itcouldbecreatedatinstallationtimebyacustomaction,onthecommandline,etc.ThisattributecannotbespecifiedinconjunctionwithSourceDirectory.
SeeAlsoWixSchema,RemoveFile
Version2.0.4820.0
![Page 149: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/149.jpg)
CostFinalizeElement
Description
EndstheinternalinstallationcostingprocessbegunbytheCostInitializeaction.AnystandardorcustomactionsthataffectcostingshouldbesequencedbeforetheCostInitializeaction.CalltheFileCostactionimmediatelyfollowingtheCostInitializeactionandthencalltheCostFinalizeactiontomakeallfinalcostcalculationsavailabletotheinstallerthroughtheComponenttable.TheCostFinalizeactionmustbeexecutedbeforestartinganyuserinterfacesequencewhichallowstheusertoviewormodifyFeaturetableselectionsordirectories.TheCostFinalizeactionqueriestheConditiontabletodeterminewhichfeaturesarescheduledtobeinstalled.CostingisdoneforeachcomponentintheComponenttable.TheCostFinalizeactionalsoverifiesthatallthetargetdirectoriesarewritablebeforeallowingtheinstallationtocontinue.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,AdvertiseExecuteSequence,InstallExecuteSequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactionina
![Page 150: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/150.jpg)
sequence.Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,CostInitialize,FileCost
Version2.0.4820.0
![Page 151: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/151.jpg)
CostInitializeElement
Description
Initiatestheinternalinstallationcostingprocess.AnystandardorcustomactionsthataffectcostingshouldbesequencedbeforetheCostInitializeaction.CalltheFileCostactionimmediatelyfollowingtheCostInitializeaction.ThencalltheCostFinalizeactionfollowingtheCostInitializeactiontomakeallfinalcostcalculationsavailabletotheinstallerthroughtheComponenttable.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,AdvertiseExecuteSequence,InstallExecuteSequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,FileCost,CostFinalize
Version2.0.4820.0
![Page 152: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/152.jpg)
CreateFolderElement
Description
CreatefolderaspartofparentComponent.
WindowsInstallerreferencesCreateFolderTable
ParentsComponent,Include
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)Permission(min:0,max:unbounded):ACLpermissionShortcut(min:0,max:unbounded):Non-advertisedshortcuttothisfolder,ShortcutTargetispresettothefolder
Attributes
Name Type Description RequiredDirectory String IdentifierofDirectorytocreate.
DefaultstoDirectoryofparentComponent.
SeeAlsoWixSchema,RemoveFolder
Version2.0.4820.0
![Page 153: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/153.jpg)
CreateFoldersElement
Description
Createsemptyfoldersforcomponentsthataresettobeinstalled.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 154: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/154.jpg)
CreateShortcutsElement
Description
Managesthecreationofshortcuts.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 155: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/155.jpg)
CustomElement
Description
Usetosequenceacustomaction.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,AdvertiseExecuteSequence,InstallExecuteSequence,InstallUISequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAction String YesAfter String Before String OnExit Enumeration mutuallyexclusivewithBefore,
After,andSequenceattributesThisattribute'svalueshouldbeoneofthefollowing:success
cancel
error
suspend
Sequence Integer
![Page 156: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/156.jpg)
SeeAlsoWixSchema,CustomAction
Version2.0.4820.0
![Page 157: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/157.jpg)
CustomActionElement
Description
SpecifiesacustomactiontobeaddedtotheMSICustomActiontable.Variouscombinationsoftheattributesforthiselementcorrespondtodifferentcustomactiontypes.FormoreinformationaboutcustomactionsseetheMSDNdocumentationhttp://msdn.microsoft.com/library/en-us/msi/setup/summary_list_of_all_custom_action_types.aspfora"SummaryListofAllCustomActionTypes".
WindowsInstallerreferencesCustomActionTable
ParentsFragment,Include,Module,Product
InnerText(xs:string)ThetextnodeisonlyvalidiftheScriptattributeisspecified.Inthatcase,thetextnodecontainsthescripttoembed.
ChildrenNone
Attributes
Name Type DescriptionBinaryKey String ThisattributeisareferencetoaBinaryelementwithmatchingIdattribute.
streamcontainsthecustomactionforuseduringinstall.installedintoatargetdirectory.ThisattributeisspecifythecustomactionDLLtouseforatype1customaction,withtheExeCommandattributetospecifyatype17customactionthatrunsanembeddedexecutable,orwiththeVBScriptCallorJScriptCallattributes
Directory String ThisattributespecifiesareferencetoaDirectoryelementwithmatchingIdattributecontainingadirectorypath.ThisattributeistypicallyusedwiththeExeCommandattributetospecifythesourceexecutableforatype34attributetospecifyaformattedstringtoplaceinthespecifiedDirectorytype35customaction.
![Page 158: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/158.jpg)
DllEntry String Thisattributespecifiesthenameofafunctioninacustomactiontoexecute.attributeisusedwiththeBinaryKeyattributetocreateatype1customFileKeyattributetocreateatype17customaction.
Error String ThisattributespecifiesanindexintheMSIErrortabletouseasanerrormessageforatype19customactionthatdisplaystheerrormessageandabortsaproduct'sinstallation.
ExeCommand String Thisattributespecifiesthecommandlineparameterstosupplytoanexternallyexecutable.ThisattributeistypicallyusedwiththeBinaryKeyattributeforatype2customaction,theFileKeyattributeforatype18customaction,thePropertyattributeforatype50customaction,ortheDirectoryattributeforatype34customactionthatspecifytheexecutabletorun.
Execute Enumeration Thisattributeindicatestheschedulingofthecustomaction.beoneofthefollowing:commit
Indicatesthatthecustomactionwillrunaftersuccessfulcompletionoftheinstallationscript(attheendoftheinstallation).
deferredIndicatesthatthecustomactionrunsin-script(possiblywithelevatedprivileges).
firstSequenceIndicatesthatthecustomactionwillonlyruninthefirstsequencethatrunsit.
immediateIndicatesthatthecustomactionwillrunduringnormalprocessingtimewithuserprivileges.Thisisthedefault.
oncePerProcessIndicatesthatthecustomactionwillonlyruninthefirstsequencethatrunsitinthesameprocess.
rollbackIndicatesthatacustomactionwillrunintherollbacksequencewhenafailureduringinstallation,usuallytoundochangesmadebyadeferredcustomaction.
secondSequenceIndicatesthatacustomactionshouldberunasecondtimeifitwaspreviouslyruninanearliersequence.
FileKey String ThisattributespecifiesareferencetoaFileelementwithmatchingIdattributethatexecutethecustomactioncodeinthefileafterthefileisinstalled.typicallyusedwiththeExeCommandattributetospecifyatype18customaction
![Page 159: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/159.jpg)
runsaninstalledexecutable,withtheDllEntryattributetospecifyaninstalledcustomactionDLLtouseforatype17customaction,orwiththeVBScriptCallorJScriptCallattributestospecifyatype21or22customaction.
HideTarget YesNoType EnsurestheinstallerdoesnotlogtheCustomActionDataforthedeferredcustomaction.Id String Theidentifierofthecustomaction.Impersonate YesNoType ThisattributespecifieswhethertheWindowsInstaller,whichexecutesasLocalSystem,
shouldimpersonatetheusercontextoftheinstallinguserwhenexecutingthiscustomaction.Typicallythevalueshouldbe'yes',exceptwhenthecustomactionneedselevatedprivilegestoapplychangestothemachine.
JScriptCall String ThisattributespecifiesthenameoftheJScriptfunctiontoexecuteinascript.ThescriptmustbeprovidedinaBinaryelementidentifiedbytheBinaryKeyattributedescribedabove.Inotherwords,thisattributemustbespecifiedinconjunctionwiththeBinaryKeyattribute.
Property String ThisattributespecifiesareferencetoaPropertyelementwithmatchingIdattributethatspecifiesthePropertytobeusedorupdatedonexecutionofthiscustomaction.ThisattributeistypicallyusedwiththeValueattributetocreateatype51customactionthatparsesthetextinValueandplacesitintothespecifiedProperty.usedwiththeExeCommandattributetocreateatype50customactionthatusesthevalueofthegivenpropertytospecifythepathtotheexecutable.Type51customactionsareoftenusefultopassvaluestoadeferredcustomaction.http://msdn.microsoft.com/library/en-us/msi/setup/obtaining_context_information_for_deferred_execution_custom_actions.aspformoreinformation.
Return Enumeration Setthisattributetosetthereturnbehaviorofthecustomaction.shouldbeoneofthefollowing:asyncNoWait
Indicatesthatthecustomactionwillrunasyncronouslyandexecutionmaycontinueaftertheinstallerterminates.
asyncWaitIndicatesthatthecustomactionwillrunasynchronouslybuttheinstallerwillwaitforthereturncodeatsequenceend.
checkIndicatesthatthecustomactionwillrunsynchronouslyandthereturncodewillbecheckedforsuccess.Thisisthedefault.
ignoreIndicatesthatthecustomactionwillrunsynchronouslyandthereturncodewillnot
![Page 160: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/160.jpg)
bechecked.
Script Enumeration Createsatype37or38customaction.tobeembeddedinthepackage.Thisattribute'svalueshouldbeoneofthefollowing:jscript
vbscript
TerminalServerAware YesNoType Thisattributespecifiescontrolswhetherthecustomactionwillimpersonatetheuserduringper-machineinstallsonTerminalServermachines.customactionsthatdonotspecifythisattribute,orexplicitlysetit'no',userimpersonationonTerminalServermachinesduringattributeisonlyapplicablewheninstallingonthe
Value String Thisattributespecifiesastringvaluetouseinthecustomaction.ThisattributeusedwiththePropertyattributetosetthepropertyaspartofawiththeDirectoryattributetosetadirectorypathinthatThevaluecanbealiteralvalueorderivedfromasyntax.
VBScriptCall String ThisattributespecifiesthenameoftheVBScriptSubroutinetoexecuteinascript.ThescriptmustbeprovidedinaBinaryelementidentifiedbytheBinaryKeyattributedescribedabove.Inotherwords,thisBinaryKeyattribute.
Win64 YesNoType Specifiesthatascriptcustomactiontargetsa64-bitplatform.ValidonlywhenusedwiththeScript,VBScriptCall,andJScriptCallattributes.
SeeAlsoWixSchema,Custom,CustomActionRef
Version2.0.4820.0
![Page 161: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/161.jpg)
CustomActionRefElement
Description
ThiswillcausetheentirecontentsoftheFragmentcontainingthereferencedCustomActiontobeincludedintheinstallerdatabase.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheidentifieroftheCustomActionto
reference.Yes
Anyattributenamespace='##other'processContents='lax'
SeeAlsoWixSchema,CustomAction
Version2.0.4820.0
![Page 162: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/162.jpg)
CustomPropertyElement
Description
AcustompropertyforthePatchMetadatatable.
WindowsInstallerreferencesNone
ParentsPatchMetadata
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredCompany String Thenameofthecompany. YesProperty String Thenameofthemetadataproperty. YesValue String Valueofthemetadataproperty. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 163: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/163.jpg)
CustomTableElement
Description
Definesacustomtableforusefromacustomaction.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Column(min:0,max:unbounded):Columndefinitionforthecustomtable.
2. Row(min:0,max:unbounded):Rowdefinitionforthecustomtable.
Attributes
Name Type Description RequiredId String Identifierforthecustomtable. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 164: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/164.jpg)
DataElement
Description
DataitemforarowofaCustomTable
WindowsInstallerreferencesNone
ParentsRow
InnerText(xs:string)Elementvalueisdatathedatavalue
ChildrenNone
Attributes
Name Type Description RequiredColumn String Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 165: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/165.jpg)
DeleteServicesElement
Description
Stopsaserviceandremovesitsregistrationfromthesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 166: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/166.jpg)
DependencyElement
Description
Declaresadependencyonanothermergemodule.
WindowsInstallerreferencesNone
ParentsModule
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredRequiredId String Identifierofthemerge
modulerequiredbythemergemodule.
Yes
RequiredLanguage Integer NumericlanguageIDofthemergemoduleinRequiredID.
Yes
RequiredVersion String VersionofthemergemoduleinRequiredID.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 167: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/167.jpg)
DialogElement
Description
None
WindowsInstallerreferencesControlTable,ComboBoxTable,DialogTable,ListBoxTable,ListViewTable,RadioButtonTable
ParentsUI
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Control(min:0,max:unbounded):Controlelementsbelongingtothisdialog
Attributes
Name Type Description RequiredId String YesCustomPalette YesNoType ErrorDialog YesNoType Height Integer indialogunits YesHidden YesNoType KeepModeless YesNoType LeftScroll YesNoType Modeless YesNoType NoMinimize YesNoType RightAligned YesNoType RightToLeft YesNoType SystemModal YesNoType
![Page 168: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/168.jpg)
Title String TrackDiskSpace YesNoType Width Integer indialogunits YesX Integer in%,defaultstocenteredon
screen(50)
Y Integer in%,defaultstocenteredonscreen(50)
SeeAlsoWixSchema
Version2.0.4820.0
![Page 169: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/169.jpg)
DialogRefElement
Description
ReferencetoaDialog.Thiswillcausetheentirereferencedsection'scontentstobeincludedintheinstallerdatabase.
WindowsInstallerreferencesNone
ParentsUI
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheidentifieroftheDialogto
reference.Yes
SeeAlsoWixSchema,Dialog
Version2.0.4820.0
![Page 170: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/170.jpg)
DigitalCertificateElement
Description
Addsadigitalcertificate.
WindowsInstallerreferencesMsiDigitalCertificateTable
ParentsDigitalSignature,PatchCertificates
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierforacertificatefile. YesSourceFile String Thepathtothecertificatefile. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 171: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/171.jpg)
DigitalSignatureElement
Description
Addsadigitalsignature
WindowsInstallerreferencesMsiDigitalSignatureTable
ParentsMedia
InnerText(xs:string)Elementvaluecanbehex-encodedhashvalue
ChildrenChoiceofelements(min:0,max:unbounded)DigitalCertificate(min:0,max:unbounded)
Attributes
Name Type Description RequiredSourceFile String Thepathtosignature'soptionalhash
file.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 172: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/172.jpg)
DirectoryElement
Description
Directorylayoutfortheproduct.Alsospecifiesthemappingsbetweensourceandtargetdirectories.
WindowsInstallerreferencesDirectoryTable
ParentsDirectory,DirectoryRef,Fragment,Include,Module,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)Component(min:0,max:unbounded)Directory(min:0,max:unbounded)Merge(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Thisvalueistheunique
identifierofthedirectoryentry.
Yes
FileSource String Usedtosetthefilesystemsourceforthisdirectory'schildelements.
LongName LongFileNameType Setthisvaluetothenon-8.3nameforthedirectory.ThisattributecannotbespecifiedunlesstheNameattributeisusedtoset
![Page 173: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/173.jpg)
theshortnameforthisdirectory.
LongSource LongFileNameType Setthisvaluetothenon-8.3nameofthedirectoryonthesourcemediaforsystemssupportinglongnames.ThisattributecannotbespecifiedunlesstheSourceNameattributesetstheshortsourcenameforthisdirectory.
Name String The8.3nameofthedirectory.Donotspecifythisattribute(ortheLongNameattribute)ifthisdirectoryrepresentsthesamedirectoryastheparent(seetheWindowsInstallerSDK'sDirectorytabletopicformoreinformationaboutthe"."operator).
SourceName ShortFileNameType The8.3nameofthedirectoryonthesourcemedia.Ifthisattributeisnotespecified,theWindowsInstallerwilldefaulttotheNameattribute.
src String Thisattributehasbeendeprecated;pleaseusetheFileSourceattributeinstead.
![Page 174: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/174.jpg)
SeeAlsoWixSchema,DirectoryRef
Version2.0.4820.0
![Page 175: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/175.jpg)
DirectoryRefElement
Description
CreateareferencetoaDirectoryelementinanotherFragment.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)Component(min:0,max:unbounded)Directory(min:0,max:unbounded)Merge(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String TheidentifieroftheDirectory
elementtoreference.Yes
FileSource String Usedtosetthefilesystemsourceforthisdirectoryref'schildelements.
src String Thisattributehasbeendeprecated;pleaseusetheFileSourceattributeinstead.
SeeAlsoWixSchema,Directory
Version2.0.4820.0
![Page 176: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/176.jpg)
DirectorySearchElement
Description
SearchesfordirectoryandassignstovalueofparentProperty.
WindowsInstallerreferencesDrLocatorTable,SignatureTable
ParentsComplianceCheck,ComplianceDrive,ComponentSearch,DirectorySearch,DirectorySearchRef,IniFileSearch,Property,RegistrySearch
InnerTextNone
ChildrenChoiceofelements(min:0,max:1)DirectorySearch(min:0,max:1)DirectorySearchRef(min:0,max:1)FileSearch(min:0,max:1)FileSearchRef(min:0,max:1)
Attributes
Name Type Description RequiredId String ExternalkeyintoSignaturetable.If
notinSignaturetable,searchisforadirectorydefinedwithDirectorySearchelements.
Yes
Depth Integer Depthbelowthepaththattheinstallersearchesforthefileordirectoryspecifiedbythesearch.
Path String Pathontheuser'ssystem.Eitherabsolute,orrelativetocontainingdirectories.
![Page 177: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/177.jpg)
SeeAlsoWixSchema,ComponentSearch,IniFileSearch,RegistrySearch
Version2.0.4820.0
![Page 178: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/178.jpg)
DirectorySearchRefElement
Description
ReferencesanexistingDirectorySearchelement.
WindowsInstallerreferencesNone
ParentsComplianceDrive,ComponentSearch,DirectorySearch,DirectorySearchRef,IniFileSearch,Property,RegistrySearch
InnerTextNone
ChildrenChoiceofelements(min:0,max:1)DirectorySearch(min:0,max:1)DirectorySearchRef(min:0,max:1)FileSearch(min:0,max:1)FileSearchRef(min:0,max:1)
Attributes
Name Type Description RequiredId String Idofthesearchbeingreferredto. YesParent String Thisattributeisthesignatureofthe
parentdirectoryofthefileordirectoryintheSignature_column.Ifthisfieldisnull,andthePathcolumndoesnotexpandtoafullpath,thenallthefixeddrivesoftheuser'ssystemaresearchedbyusingthePath.Thisfieldisakeyintooneofthefollowingtables:theRegLocator,theIniLocator,theCompLocator,ortheDrLocatortables.
![Page 179: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/179.jpg)
Path String Pathontheuser'ssystem.Eitherabsolute,orrelativetocontainingdirectories.
SeeAlsoWixSchema,ComponentSearch,IniFileSearch,RegistrySearch
Version2.0.4820.0
![Page 180: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/180.jpg)
DisableRollbackElement
Description
Disablesrollbackfortheremainderoftheinstallation.Specialactionsdon'thaveabuilt-insequencenumberandthusmustappearrelativetoanotheraction.ThesuggestedwaytodothisisbyusingtheBeforeorAfterattribute.InstallExecuteandInstallExecuteAgaincanoptionallyappearanywherebetweenInstallInitializeandInstallFinalize.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 181: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/181.jpg)
DuplicateFilesElement
Description
DuplicatesfilesinstalledbytheInstallFilesaction.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 182: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/182.jpg)
EnsureTableElement
Description
Usethiselementtoensurethatatableappearsintheinstallerdatabase,evenifitsempty.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Thenameofthetable. Yes
RemarksThiselementisparticularlyusefulfortwoproblemsthatmayoccurwhilemergingmergemodules:
1. Thefirstlikelyproblemisthatinordertoproperlymergeyouneedtohavecertaintablespresentpriortomerging.Usingthiselementisonewaytoensurethosetablesarepresentpriortothemerging.
2. Theothercommonproblemisthatamergemodulehasincorrectvalidationinformationaboutsometables.Byensuringthesetablespriortomerging,youcanavoidthisproblembecausethecorrectvalidationinformationwillgointotheinstallerdatabasebeforethemergemodulehasachancetosetitincorrectly.
SeeAlso
![Page 183: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/183.jpg)
WixSchemaVersion2.0.4820.0
![Page 184: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/184.jpg)
EnvironmentElement
Description
EnvironmentvariablesaddedorremovedforparentComponent
WindowsInstallerreferencesEnvironmentTable
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Uniqueidentifierforenvironment
entry.Yes
Action Enumeration Specfieswhethertheenvironmentalvariableshouldbecreated,setorremovedwhentheparentcomponentisinstalled.Thisattribute'svalueshouldbeoneofthefollowing:create
Createstheenvironmentvariableifitdoesnotexist,thensetitduringinstallation.Thishasnoeffectonthevalueoftheenvironmentvariableifitalreadyexists.
set
![Page 185: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/185.jpg)
Createstheenvironmentvariableifitdoesnotexist,andthensetitduringinstallation.Iftheenvironmentvariableexists,setitduringtheinstallation.
removeRemovestheenvironmentvariableduringaninstallation.TheinstalleronlyremovesanenvironmentvariableduringaninstallationifthenameandvalueofthevariablematchtheentriesintheNameandValuefieldsoftheEnvironmenttable.Ifyouwanttoremoveanenvironmentvariable,regardlessofitsvalue,usethe'!'syntax,andleavetheValuefieldempty.
Name String Nameoftheenvironmentvariable.
Yes
Part Enumeration Thisattribute'svalueshouldbeoneofthefollowing:all
Thisvalueistheentireenvironmentalvariable.
firstThisvalueisprefixed.
lastThisvalueisappended.
Permanent YesNoType Specifiesthattheenvironmentvariableshouldnotberemoved
![Page 186: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/186.jpg)
onuninstall.Separator String Optionalattributetochangethe
separatorusedbetweenvalues.Bydefaultasemi-colonisused.
System YesNoType Specifiesthattheenvironmentvariableshouldbeaddedtothesystemenvironmentspace.Thedefaultis'no'whichindicatestheenvironmentvariableisaddedtotheuserenvironmentspace.
Value String Valuetosetintotheenvironmentvariable.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 187: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/187.jpg)
ErrorElement
Description
None
WindowsInstallerreferencesErrorTable
ParentsUI
InnerText(xs:string)ElementvalueisMessage,useCDATAifmessagecontainsdelimitercharacters
ChildrenNone
Attributes
Name Type Description RequiredId Integer Numberoftheerrorforwhicha
messageisbeingprovided.SeeMSISDKforerrordefinitions.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 188: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/188.jpg)
ExclusionElement
Description
Declaresamergemodulewithwhichthismergemoduleisincompatible.
WindowsInstallerreferencesNone
ParentsModule
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredExcludedId String Identifierofthemerge
modulethatisincompatible.
Yes
ExcludedMaxVersion String Maximumversionexcludedfromarange.Ifnotset,allversionsafterminareexcluded.Ifneithermaxnormin,noexclusionbasedonversion.
ExcludedMinVersion String Minimumversionexcludedfromarange.Ifnotset,allversionsbeforemaxareexcluded.Ifneithermaxnormin,noexclusion
![Page 189: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/189.jpg)
basedonversion.ExcludeExceptLanguage Integer NumericlanguageIDof
themergemoduleinExcludedID.Allexceptthislanguagewillbeexcluded.OnlyoneofExcludeExceptLanguageandExcludeLanguagemaybespecified.
ExcludeLanguage Integer NumericlanguageIDofthemergemoduleinExcludedID.Thespecifiedlanguagewillbeexcluded.OnlyoneofExcludeExceptLanguageandExcludeLanguagemaybespecified.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 190: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/190.jpg)
ExecuteActionElement
Description
Initiatestheexecutionsequence.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminUISequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 191: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/191.jpg)
ExtensionElement
Description
ExtensionforaComponent
WindowsInstallerreferencesMIMETable,VerbTable,RegistryTable
ParentsComponent,Include,ProgId
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)MIME(min:0,max:unbounded)Verb(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Thisissimplythefileextension,
like"doc"or"xml".Donotincludetheprecedingperiod.
Yes
Advertise YesNoType Whetherthisextensionistobeadvertised.Thedefaultis"no".
ContentType String TheMIMEtypethatistobewritten.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 192: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/192.jpg)
ExternalFileElement
Description
Containsinformationaboutspecificfilesthatarenotpartofaregulartargetimage.
WindowsInstallerreferencesNone
ParentsFamily
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ProtectRange(min:1,max:unbounded)2. SymbolPath(min:1,max:unbounded)3. Choiceofelements(min:0,max:unbounded)
IgnoreRange(min:0,max:unbounded)
Attributes
Name Type Description RequiredFile String ForeignkeyintotheFiletable. YesOrder Int Specifiestheorderoftheexternalfiles
tousewhencreatingthepatch.Yes
Source String Fullpathoftheexternalfile. src String Thisattributehasbeendeprecated;
pleaseusetheSourceattributeinstead.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 193: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/193.jpg)
FamilyElement
Description
Groupofoneormoreupgradedimagesofaproduct.
WindowsInstallerreferencesNone
ParentsPatchCreation
InnerTextNone
ChildrenSequence(min:1,max:1)
1. UpgradeImage(min:1,max:unbounded)2. Choiceofelements(min:0,max:unbounded)
ExternalFile(min:0,max:unbounded)ProtectFile(min:0,max:unbounded)
Attributes
Name Type Description RequiredDiskId Int EnteredintotheDiskIdfieldof
thenewMediatablerecord.
DiskPrompt String Valuetodisplayinthe"[1]"oftheDiskPromptProperty.UsingthisattributewillrequireyoutodefineaDiskPromptProperty.
MediaSrcProp String EnteredintotheSourcefieldofthenewMediatableentryoftheupgradedimage.
Name String Identifierforthefamily. YesSequenceStart Int Sequencenumberforthe
startingfile.
![Page 194: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/194.jpg)
VolumeLabel String EnteredintotheVolumeLabelfieldofthenewMediatablerecord.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 195: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/195.jpg)
FeatureElement
Description
AfeaturefortheFeaturetable.Featuresarethesmallestinstallableunit.Seemsi.chmformoredetailedinformationonthemyriadinstallationoptionsforafeature.
WindowsInstallerreferencesFeatureTable
ParentsFeature,FeatureRef,Fragment,Include,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)ComponentGroupRef(min:0,max:unbounded)ComponentRef(min:0,max:unbounded)Condition(min:0,max:unbounded)Feature(min:0,max:unbounded)FeatureRef(min:0,max:unbounded)MergeRef(min:0,max:unbounded)AnyElementnamespace='##other'processContents='Lax'
Attributes
Name Type DescriptionId String Uniqueidentifierofthefeature.Absent Enumeration Thisattributedeterminesifauserwillhavethe
optiontosetafeaturetoabsentintheuserinterface.Thisattribute'svalueshouldbeoneofthefollowing:allow
AllowstheuserinterfacetodisplayanoptiontochangethefeaturestatetoAbsent.
![Page 196: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/196.jpg)
disallowPreventstheuserinterfacefromdisplayinganoptiontochangethefeaturestatesettingthemsidbFeatureAttributesUIDisallowAbsentattribute.Thiswillforcethefeatureinstallationstate,whetherornotthefeatureisvisibleintheUI.
AllowAdvertise Enumeration Thisattributedeterminsthepossibleadvertisestatesforthisfeature.Thisattribute'svalueshouldbeoneofthefollowing:no
PreventsthisfeaturefrombeingadvertisedbysetttingthemsidbFeatureAttributesDisallowAdvertiseattribute.
systemPreventsadvertisingforthisfeatureiftheoperatingsystemshelldoesnotsupportWindowsInstallerdescriptorsbysettingthemsidbFeatureAttributesNoUnsupportedAdvertiseattribute.
yesAllowsthefeaturetobeadvertised.
ConfigurableDirectory String SpecifytheIdofaDirectorythatcanbeconfiguredbytheuseratinstallationtime.Thisidentifierbeapublicpropertyandthereforecompletelyuppercase.
Description String Longerstringoftextdescribingthefeature.localizablestringisdisplayedbythetheSelectionDialog.
Display String Determinestheinitialdisplayofthisfeatureinthefeaturetree.Thisattribute'svalueshouldbeoneofthefollowing:collapse
Initiallyshowsthefeaturecollapsed.
![Page 197: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/197.jpg)
defaultvalue.
expandInitiallyshowsthefeatureexpanded.
hiddenPreventsthefeaturefromdisplayingintheuserinterface.
<anexplicitintegervalue>Foradvancedusersonly,itispossibletodirectlysettheintegervalueofthedisplayvaluethatwillappearintheFeaturerow.
InstallDefault Enumeration Thisattributedeterminesthedefaultinstall/runlocationofafeature.ThisattributecannotbespecifiedifthevalueoftheFollowParentattributeis'yes'sincethatwouldasktheinstallertoforcethisfeaturetofollowtheparentinstallationstateandsimultaneouslyfavoraparticularinstallationstatejustforthisfeature.Thisattribute'svalueshouldbeoneofthefollowing:followParent
Forcesthefeaturetofollowthesameinstallationstateasitsparentfeature.
localFavorsinstallingthisfeaturelocallybysettingthemsidbFeatureAttributesFavorLocalattribute.
sourceFavorsrunningthisfeaturefromsourcebysettingthemsidbFeatureAttributesFavorSourceattribute.
Level Integer Setstheinstalllevelofthisfeature.disablethefeature.Processingthecanmodifythelevelvalue(thisissetviatheConditionchildelement).
Title String Shortstringoftextidentifyingthefeature.islistedasanitembytheSelectionTreecontrolof
![Page 198: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/198.jpg)
theSelectionDialog.TypicalDefault Enumeration Thisattributedeterminesthedefaultadvertisestate
ofthefeature.Thisattribute'svalueshouldbeoneofthefollowing:advertise
SetsthefeaturetobeadvertisedbysettingthemsidbFeatureAttributesFavorAdvertiseattribute.ThisvaluecannotbesetifthevalueoftheAllowAdvertiseattributeis'no'sincethatwouldasktheinstallertodisallowtheadvertisedstateforthisfeaturewhileatthesametimefavoringit.
installSetsthefeaturetothedefaultnon-advertisedinstallationoption.
Anyattributenamespace='##other'processContents='lax'
SeeAlsoWixSchema,FeatureRef
Version2.0.4820.0
![Page 199: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/199.jpg)
FeatureRefElement
Description
CreateareferencetoaFeatureelementinanotherFragment.
WindowsInstallerreferencesNone
ParentsFeature,FeatureRef,Fragment,Include,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)ComponentGroupRef(min:0,max:unbounded)ComponentRef(min:0,max:unbounded)Feature(min:0,max:unbounded)FeatureRef(min:0,max:unbounded)MergeRef(min:0,max:unbounded)AnyElementnamespace='##other'processContents='Lax'
Attributes
Name Type Description RequiredId String TheidentifieroftheFeatureelement
toreference.Yes
SeeAlsoWixSchema,Feature
Version2.0.4820.0
![Page 200: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/200.jpg)
FileElement
Description
FilespecificationforFiletable,mustbechildnodeofComponent
WindowsInstallerreferencesFileTable
ParentsComponent,Include
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)AppId(min:0,max:unbounded)AssemblyName(min:0,max:unbounded)Class(min:0,max:unbounded)CopyFile(min:0,max:unbounded):toDuplicateFiletableODBCDriver(min:0,max:unbounded)ODBCTranslator(min:0,max:unbounded)Patch(min:0,max:unbounded):toPatchtablePerfCounter(min:0,max:unbounded)Permission(min:0,max:unbounded)Shortcut(min:0,max:unbounded):TargetispresettothisfileTypeLib(min:0,max:unbounded)AnyElementnamespace='##other'processContents='Lax'HelpCollectionHelpFileNativeImageSnapIn
Attributes
![Page 201: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/201.jpg)
Name Type Description RequiredId String YesAssembly Enumeration Specifiesifthis
FileisaWin32Assemblyor.NETAssembly;thedefaultisneither.Ifthevalueis'.net'or'win32',thisfilemustalsobethekeypathoftheComponent.Thisattribute'svalueshouldbeoneofthefollowing:.net
no
win32
AssemblyApplication String Specifiesthefileidentifieroftheapplicationfile.Thisassemblywillbeisolatedtothesamedirectoryastheapplicationfile.Ifthisattributeisabsent,theassemblywillbeinstalledtotheGlobalAssemblyCache.This
![Page 202: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/202.jpg)
attributemayonlybespecifiediftheAssemblyattributeissetto'.net'or'win32'.
AssemblyManifest String Specifiesthefileidentifierofthemanifestfilethatdescribesthisassembly.Themanifestfileshouldbeinthesamecomponentastheassemblyitdescribes.ThisattributemayonlybespecifiediftheAssemblyattributeissetto'.net'or'win32'.
BindPath String generatesBindImagetablerow,valuemybeemptystring
Checksum YesNoType Thisattributeshouldbesetto"yes"foreveryexecutablefileintheinstallationthathasavalidchecksum
![Page 203: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/203.jpg)
storedinthePortableExecutable(PE)fileheader.Onlythosefilesthathavethisattributesetwillbeverifiedforvalidchecksumduringareinstall.
CompanionFile String Setthisattributetomakethisfileacompanionchildofanotherfile.Theinstallationstateofacompanionfiledependsnotonitsownfileversioninginformation,butontheversioningofitscompanionparent.Afilethatisthekeypathforitscomponentcannotbeacompanionfile(thatmeansthisattributecannotbesetifKeyPath="yes"
![Page 204: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/204.jpg)
forthisfile).TheVersionattributecannotbesetalongwiththisattributesincecompanionfilesarenotinstalledbasedontheirownversion.
Compressed YesNoDefaultType Setsthefile'ssourcetypecompression.Asettingof"yes"or"no"willoverridethesettingintheWordCountSummaryProperty.
DefaultLanguage String Thisisthedefaultlanguageofthisfile.Thelinkerwillreplacethisvaluefromthevalueinthefileifthesuppressfilesoptionisnotused.
DefaultSize Integer Thisisthedefaultsizeofthisfile.Thelinkerwillreplacethisvaluefromthevalueinthefileifthesuppress
![Page 205: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/205.jpg)
filesoptionisnotused.
DefaultVersion String Thisisthedefaultversionofthisfile.Thelinkerwillreplacethisvaluefromthevalueinthefileifthesuppressfilesoptionisnotused.
DiskId String SpecifiestheMediathisFileshouldbesourcedon.ThisattributemustbesetonthisFileelementoritsparentComponent.
FontTitle String generatesentriesinFonttablewiththeFontTitle
Hidden YesNoType Settoyesinordertohavethefile'shiddenattributesetwhenitisinstalledonthetargetmachine.
KeyPath YesNoType SetyestoforcethisFiletobekeypathforparentComponent.
![Page 206: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/206.jpg)
LongName LongFileNameType Longfilename;setthisattributeifpreferrednameisnotin8.3format.
Name ShortFileNameType Filenameofthefilein8.3format,requiredforbackwardscompatibility.
Yes
PatchGroup Integer Thisattributemustbesetforpatch-addedfiles.Eachpatchshouldbeassignedadifferentpatchgroupnumber.Patchgroupsnumbersmustbegreater0andshouldbeassignedconsecutively.Forexample,thefirstpatchshouldusePatchGroup='1',thesecondpatchwillhavePatchGroup='2',etc...
ProcessorArchitecture Enumeration Specifiesthearchitectureforthisassembly.Thisattributeshouldonlybeusedon.NET
![Page 207: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/207.jpg)
AssembliesfortheCLR2.0.Thisattribute'svalueshouldbeoneofthefollowing:msil
x86
x64
ia64
ReadOnly YesNoType Settoyesinordertohavethefile'sread-onlyattributesetwhenitisinstalledonthetargetmachine.
SelfRegCost Integer generatesSelfRegtablerow
Source String SpecifiesthepathtotheFileinthebuildprocess.Thisattributemustbesetifnosourceinformationcanbegatheredfromparentdirectories.
src String Thisattributehasbeendeprecated;pleaseusetheSourceattribute
![Page 208: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/208.jpg)
instead.System YesNoType Settoyesin
ordertohavethefile'ssystemattributesetwhenitisinstalledonthetargetmachine.
TrueType YesNoType generatesentriesinFonttablewithnoFontTitle
Vital YesNoType Ifafileisvital,theninstallationcannotproceedunlessthefileissuccessfullyinstalled.Theuserwillhavenooptiontoignoreanerrorinstallingthisfile.Ifanerroroccurs,theycanmerelyretrytoinstallthefileoraborttheinstallation.
Anyattributenamespace='##other'processContents='lax'
SeeAlsoWixSchema
Version2.0.4820.0
![Page 209: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/209.jpg)
FileCostElement
Description
Initiatesdynamiccostingofstandardinstallationactions.AnystandardorcustomactionsthataffectcostingshouldsequencedbeforetheCostInitializeaction.CalltheFileCostactionimmediatelyfollowingtheCostInitializeaction.ThencalltheCostFinalizeactionfollowingtheFileCostactiontomakeallfinalcostcalculationsavailabletotheinstallerthroughtheComponenttable.TheCostInitializeactionmustbeexecutedbeforetheFileCostaction.Theinstallerthendeterminesthedisk-spacecostofeveryfileintheFiletable,onaper-componentbasis,takingbothvolumeclusteringandthepresenceofexistingfilesthatmayneedtobeoverwrittenintoaccount.Allactionsthatconsumeorreleasediskspacearealsoconsidered.Ifanexistingfileisfound,afileversioncheckisperformedtodeterminewhetherthenewfileactuallyneedstobeinstalledornot.Iftheexistingfileisofanequalorgreaterversionnumber,theexistingfileisnotoverwrittenandnodisk-spacecostisincurred.Inallcases,theinstallerusestheresultsofversionnumbercheckingtosettheinstallationstateofeachfile.TheFileCostactioninitializescostcalculationwiththeinstaller.ActualdynamiccostingdoesnotoccuruntiltheCostFinalizeactionisexecuted.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,InstallExecuteSequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
![Page 210: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/210.jpg)
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,CostInitialize,CostFinalize
Version2.0.4820.0
![Page 211: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/211.jpg)
FileSearchElement
Description
SearchesforfileandassignstofullpathvalueofparentProperty
WindowsInstallerreferencesDrLocatorTable,SignatureTable
ParentsComplianceCheck,ComponentSearch,DirectorySearch,DirectorySearchRef,IniFileSearch,Property,RegistrySearch
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String SpecifytheIdwhenyou
wanttofindthepathtoafile.LeavetheIdabsentifyouwanttofindtheparentdirectoryofafile.
Languages String Thelanguagessupportedbythefile.
LongName LongFileNameType Longfilename;setthisattributeifpreferrednameisnotin8.3format.EitherthisattributeortheNameattributeisrequired.WhenusingonlytheLongNameattribute,ICE03shouldbeignored
![Page 212: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/212.jpg)
fortheSignaturetable'sFileNamecolumn.
MaxDate DateTime Themaximummodificationdateandtimeofthefile.FormattedasYYYY-MM-DDTHH:mm:ss,whereYYYYistheyear,MMismonth,DDisday,'T'isliteral,HHishour,mmisminuteandssissecond.
MaxSize Int Themaximumsizeofthefile.
MaxVersion String Themaximumversionofthefile.
MinDate DateTime Theminimummodificationdateandtimeofthefile.FormattedasYYYY-MM-DDTHH:mm:ss,whereYYYYistheyear,MMismonth,DDisday,'T'isliteral,HHishour,mmisminuteandssissecond.
MinSize Int Theminimumsizeofthefile.
MinVersion String Theminimumversionofthefile.
Name ShortFileNameType Filenameofthefilein8.3format.PleasenotethatduetoaWindowsInstallerbug,thisattributeisnotrequiredifthepreferredfilenameisnotin8.3format.Thisattributeshouldonlybesetifthefiletofindisin
![Page 213: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/213.jpg)
8.3format.EitherthisattributeortheLongNameisrequired.
SeeAlsoWixSchema,ComponentSearch,DirectorySearch,DirectorySearchRef,FileSearchRef,IniFileSearch,RegistrySearch
Version2.0.4820.0
![Page 214: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/214.jpg)
FileSearchRefElement
Description
ReferencesanexistingFileSearchelement.
WindowsInstallerreferencesNone
ParentsComponentSearch,DirectorySearch,DirectorySearchRef,IniFileSearch,RegistrySearch
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String SpecifytheIdtotheFileSearchto
reference.Yes
SeeAlsoWixSchema,FileSearch
Version2.0.4820.0
![Page 215: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/215.jpg)
FileShareElement
Description
Createsafileshareoutofthecomponent'sdirectory.
WindowsInstallerreferencesNone
ParentsComponent,Include
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Permission(min:1,max:unbounded):ACLpermission
Attributes
Name Type Description RequiredId String Identifierforthefileshare(primary
key).Yes
Description String Descriptionofthefileshare. Name String Nameofthefileshare. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 216: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/216.jpg)
FileTypeMaskElement
Description
FileTypedataforclassIdregistration.
WindowsInstallerreferencesNone
ParentsClass
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredMask HexType HexvaluethatisAND'dagainstthe
bytesinthefileatOffset.Yes
Offset Integer Offsetintofile.Ifpositive,offsetisfromthebeginning;ifnegative,offsetisfromtheend.
Yes
Value HexType IftheresultoftheAND'ingofMaskwiththebytesinthefileisValue,thefileisamatchforthisFileType.
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 217: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/217.jpg)
FindRelatedProductsElement
Description
RunsthrougheachrecordoftheUpgradetableinsequenceandcomparestheupgradecode,productversion,andlanguageineachrowtoproductsinstalledonthesystem.WhenFindRelatedProductsdetectsacorrespondencebetweentheupgradeinformationandaninstalledproduct,itappendstheproductcodetothepropertyspecifiedintheActionPropertycolumnoftheUpgradeTable.TheFindRelatedProductsactiononlyrunsthefirsttimetheproductisinstalled.TheFindRelatedProductsactiondoesnotrunduringmaintenancemodeoruninstallation.FindRelatedProductsshouldbeauthoredintotheInstallUISequencetableandInstallExecuteSequencetables.TheinstallerpreventsFindRelatedProductsfromrunninginInstallExecuteSequenceiftheactionhasalreadyruninInstallUISequence.TheFindRelatedProductsactionmustcomebeforetheMigrateFeatureStatesactionandtheRemoveExistingProductsaction.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
![Page 218: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/218.jpg)
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,Upgrade
Version2.0.4820.0
![Page 219: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/219.jpg)
ForceRebootElement
Description
Promptstheuserforarestartofthesystemduringtheinstallation.Specialactionsdon'thaveabuilt-insequencenumberandthusmustappearrelativetoanotheraction.ThesuggestedwaytodothisisbyusingtheBeforeorAfterattribute.InstallExecuteandInstallExecuteAgaincanoptionallyappearanywherebetweenInstallInitializeandInstallFinalize.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 220: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/220.jpg)
FragmentElement
Description
TheFragmentelementisthebuildingblockofcreatinganinstallerdatabaseinWiX.Oncedefined,theFragmentbecomesanimmutable,atomicunitwhichcaneitherbecompletelyincludedorexcludedfromaproduct.ThecontentsofaFragmentelementcanbelinkedintoaproductbyutilizingoneofthemany*Refelements.WhenlinkinginaFragment,itwillbenecessarytolinkinallofitsindividualunits.Forinstance,ifagivenFragmentcontainstwoComponentelements,youmustlinkbothunderfeaturesusingComponentRefforeachlinkedComponent.Otherwise,youwillgetalinkerwarningandhaveafloatingComponentthatdoesnotappearunderanyFeature.
WindowsInstallerreferencesNone
ParentsWix
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)AppId(min:0,max:unbounded)Binary(min:0,max:unbounded)ComplianceCheck(min:0,max:unbounded)ComponentGroup(min:0,max:unbounded)Condition(min:0,max:unbounded)CustomAction(min:0,max:unbounded)CustomActionRef(min:0,max:unbounded)CustomTable(min:0,max:unbounded)
![Page 221: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/221.jpg)
Directory(min:0,max:unbounded)DirectoryRef(min:0,max:unbounded)EnsureTable(min:0,max:unbounded)Feature(min:0,max:unbounded)FeatureRef(min:0,max:unbounded)FragmentRef(min:0,max:unbounded)Group(min:0,max:unbounded)Icon(min:0,max:unbounded)IgnoreModularization(min:0,max:unbounded)Media(min:0,max:unbounded)PatchCertificates(min:0,max:unbounded)Property(min:0,max:unbounded)PropertyRef(min:0,max:unbounded)SFPCatalog(min:0,max:unbounded)SqlDatabase(min:0,max:unbounded)UI(min:0,max:unbounded)UIRef(min:0,max:unbounded)Upgrade(min:0,max:unbounded)User(min:0,max:unbounded)WebApplication(min:0,max:unbounded)WebAppPool(min:0,max:unbounded)WebDirProperties(min:0,max:unbounded)WebLog(min:0,max:unbounded)WebSite(min:0,max:unbounded)Sequence(min:1,max:1)
1. InstallExecuteSequence(min:0,max:1)2. InstallUISequence(min:0,max:1)3. AdminExecuteSequence(min:0,max:1)4. AdminUISequence(min:0,max:1)5. AdvertiseExecuteSequence(min:0,max:1)
AnyElementnamespace='##other'processContents='Lax'HelpCollectionRefHelpFilter
![Page 222: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/222.jpg)
Attributes
Name Type Description RequiredId String OptionalidentifierforaFragment.
ShouldonlybeusedifyouplantorefertothisFragmentviaaFragmentRefelementelsewhere.
SeeAlsoWixSchema,FragmentRef
Version2.0.4820.0
![Page 223: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/223.jpg)
FragmentRefElement
Description
ReferencetoaFragment.ThiswillforcetheentirereferencedFragment'scontentstobeincludedintheinstallerdatabase.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheidentifieroftheFragmentto
reference.Yes
SeeAlsoWixSchema,Fragment
Version2.0.4820.0
![Page 224: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/224.jpg)
GroupElement
Description
Groupforallkindsofthings
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesDomain String Name String Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 225: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/225.jpg)
GroupRefElement
Description
Usedtojoinausertoagroup
WindowsInstallerreferencesNone
ParentsUser
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 226: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/226.jpg)
HttpHeaderElement
Description
CustomHTTPHeaderdefinitionforIISresourcessuchasWebSiteandWebVirtualDir.
WindowsInstallerreferencesNone
ParentsWebSite,WebVirtualDir
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredName String NameofthecustomHTTPHeader. YesValue String ValueforthecustomHTTPHeader.
ThisattributemaybesetviaaformattedProperty(e.g.[MyProperty]).
SeeAlsoWixSchema
Version2.0.4820.0
![Page 227: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/227.jpg)
IconElement
Description
IconusedforShortcut,ProgId,orClasselements(butnotUIcontrols)
WindowsInstallerreferencesIconTable
ParentsFragment,Include,Module,Product,Shortcut
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheIdcannotbylongerthan55
characters.InordertopreventerrorsincaseswheretheIdismodularized,itshouldnotbelongerthan18characters.
Yes
SourceFile String Pathtotheiconfile. src String Thisattributehasbeendeprecated;
pleaseusetheSourceFileattributeinstead.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 228: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/228.jpg)
IgnoreModularizationElement
Description
UsethistoIgnoreModularizationofparticularvalues.Thisfeatureisintendedtobeusedinveryraresituations.Beforeusingthisfeature,contactyoursupportaliastoverifyyouruseissupported.
WindowsInstallerreferencesNone
ParentsFragment,Module
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredName String YesType Enumeration Thisattribute'svalueshouldbe
oneofthefollowing:Action
Property
Directory
SeeAlsoWixSchema
Version2.0.4820.0
![Page 229: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/229.jpg)
IgnoreRangeElement
Description
Specifiespartofafilethatistobeignoredduringpatching.
WindowsInstallerreferencesNone
ParentsExternalFile,TargetFile
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredLength Int Lengthoftherange. YesOffset Int Offsetofthestartoftherange. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 230: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/230.jpg)
IncludeElement
Description
Thisisthetop-levelcontainerelementforeverywxifile.
WindowsInstallerreferencesNone
ParentsNone
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)AppId(min:0,max:unbounded)Binary(min:0,max:unbounded)Category(min:0,max:unbounded)Certificate(min:0,max:unbounded)Class(min:0,max:unbounded)ComplianceCheck(min:0,max:unbounded)Condition(min:0,max:unbounded)CopyFile(min:0,max:unbounded)CreateFolder(min:0,max:unbounded)CustomAction(min:0,max:unbounded)CustomActionRef(min:0,max:unbounded)CustomTable(min:0,max:unbounded)Directory(min:0,max:unbounded)DirectoryRef(min:0,max:unbounded)EnsureTable(min:0,max:unbounded)Environment(min:0,max:unbounded)Extension(min:0,max:unbounded)Feature(min:0,max:unbounded)
![Page 231: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/231.jpg)
FeatureRef(min:0,max:unbounded)File(min:0,max:unbounded)FileShare(min:0,max:unbounded)FragmentRef(min:0,max:unbounded)Group(min:0,max:unbounded)Icon(min:0,max:unbounded)IniFile(min:0,max:unbounded)Interface(min:0,max:unbounded)IsolateComponent(min:0,max:unbounded)Media(min:0,max:unbounded)ODBCDataSource(min:0,max:unbounded)ODBCDriver(min:0,max:unbounded)ODBCTranslator(min:0,max:unbounded)ProgId(min:0,max:unbounded)Property(min:0,max:unbounded)PropertyRef(min:0,max:unbounded)Registry(min:0,max:unbounded)RemoveFile(min:0,max:unbounded)RemoveFolder(min:0,max:unbounded)ReserveCost(min:0,max:unbounded)ServiceConfig(min:0,max:unbounded)ServiceControl(min:0,max:unbounded)ServiceInstall(min:0,max:unbounded)SFPCatalog(min:0,max:unbounded)Shortcut(min:0,max:unbounded)SqlDatabase(min:0,max:unbounded)SqlScript(min:0,max:unbounded)SqlString(min:0,max:unbounded)TypeLib(min:0,max:unbounded)UI(min:0,max:unbounded)UIRef(min:0,max:unbounded)Upgrade(min:0,max:unbounded)User(min:0,max:unbounded)
![Page 232: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/232.jpg)
WebApplication(min:0,max:unbounded)WebAppPool(min:0,max:unbounded)WebDir(min:0,max:unbounded)WebDirProperties(min:0,max:unbounded)WebFilter(min:0,max:unbounded)WebLog(min:0,max:unbounded)WebProperty(min:0,max:unbounded)WebServiceExtension(min:0,max:unbounded)WebSite(min:0,max:unbounded)WebVirtualDir(min:0,max:unbounded)Sequence(min:1,max:1)
1. InstallExecuteSequence(min:0,max:1)2. InstallUISequence(min:0,max:1)3. AdminExecuteSequence(min:0,max:1)4. AdminUISequence(min:0,max:1)5. AdvertiseExecuteSequence(min:0,max:1)
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 233: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/233.jpg)
IniFileElement
Description
Addsorremoves.inifileentries.
WindowsInstallerreferencesIniFileTable,RemoveIniFileTable
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierforinifile. YesAction Enumeration Thetypeofmodification
tobemade.Thisattribute'svalueshouldbeoneofthefollowing:addLine
Createsorupdatesan.inientry.
addTagCreatesanewentryorappendsanewcomma-separatedvaluetoanexistingentry.
createLineCreatesan.inientryonlyiftheentrydoes
Yes
![Page 234: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/234.jpg)
noalreadyexist.
removeLineRemovesan.inientry.
removeTagRemovesatagfroman.inientry.
Directory String Nameofaproperty,thevalueofwhichisthefullpathofthefoldercontainingthe.inifile.CanbenameofadirectoryintheDirectorytable,apropertysetbytheAppSearchtable,oranyotherpropertyrepresentingafullpath.
Key String Thelocalizable.inifilekeywithinthesection.
Yes
LongName LongFileNameType Longfilename;setthisattributeifpreferrednameisnotin8.3format.
Name ShortFileNameType Filenameofthefilein8.3format,requiredforbackwardscompatibility.
Yes
Section String Thelocalizable.inifilesection.
Yes
Value String Thelocalizablevaluetobewrittenordeleted.ThisattributemustbesetiftheActionattribute'svalueis"addLine","addTag",or"createLine".
SeeAlsoWixSchema
![Page 235: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/235.jpg)
Version2.0.4820.0
![Page 236: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/236.jpg)
IniFileSearchElement
Description
Searchesforfile,directoryorregistrykeyandassignstovalueofparentProperty
WindowsInstallerreferencesIniLocatorTable,SignatureTable
ParentsComplianceCheck,Property
InnerTextNone
ChildrenChoiceofelements(min:0,max:1)DirectorySearch(min:0,max:1)DirectorySearchRef(min:0,max:1)FileSearch(min:0,max:1)FileSearchRef(min:0,max:1)
Attributes
Name Type Description RequiredId String Externalkeyintothe
Signaturetable.Yes
Field Integer Thefieldinthe.iniline.IffieldisNullor0,theentirelineisread.
Key String Thekeyvaluewithinthesection.
Yes
LongName LongFileNameType Longfilename;setthisattributeifpreferrednameisnotin8.3format.
Name ShortFileNameType Filenameofthefilein8.3
![Page 237: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/237.jpg)
format,requiredforbackwardscompatibility.
Section String Thesectionnamewithinthe.inifile.
Yes
Type Enumeration MustbefileiflastchildisFileSearchelementandmustbedirectoryiflastchildisDirectorySearchelement.Thisattribute'svalueshouldbeoneofthefollowing:directory
Adirectorylocation.
fileAfilelocation.
rawAraw.inivalue.
SeeAlsoWixSchema,ComponentSearch,RegistrySearch
Version2.0.4820.0
![Page 238: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/238.jpg)
InstallAdminPackageElement
Description
Copiestheproductdatabasetotheadministrativeinstallationpoint.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 239: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/239.jpg)
InstallExecuteElement
Description
RunsascriptcontainingalloperationsspooledsinceeitherthestartoftheinstallationorthelastInstallExecuteaction,orInstallExecuteAgainaction.Specialactionsdon'thaveabuilt-insequencenumberandthusmustappearrelativetoanotheraction.ThesuggestedwaytodothisisbyusingtheBeforeorAfterattribute.InstallExecuteandInstallExecuteAgaincanoptionallyappearanywherebetweenInstallInitializeandInstallFinalize.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
![Page 240: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/240.jpg)
Version2.0.4820.0
![Page 241: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/241.jpg)
InstallExecuteAgainElement
Description
RunsascriptcontainingalloperationsspooledsinceeitherthestartoftheinstallationorthelastInstallExecuteaction,orInstallExecuteAgainaction.ShouldonlybeusedafterInstallExecute.Specialactionsdon'thaveabuilt-insequencenumberandthusmustappearrelativetoanotheraction.ThesuggestedwaytodothisisbyusingtheBeforeorAfterattribute.InstallExecuteandInstallExecuteAgaincanoptionallyappearanywherebetweenInstallInitializeandInstallFinalize.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
![Page 242: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/242.jpg)
Version2.0.4820.0
![Page 243: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/243.jpg)
InstallExecuteSequenceElement
Description
None
WindowsInstallerreferencesInstallExecuteSequenceTable
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)AllocateRegistrySpace(min:0,max:unbounded):Ensurestheneededamountofspaceexistsintheregistry.AppSearch(min:0,max:unbounded):Usesfilesignaturestosearchforexistingversionsofproducts.BindImage(min:0,max:unbounded):BindseachexecutableorDLLthatmustbeboundtotheDLLsimportedbyit.CCPSearch(min:0,max:unbounded):Usesfilesignaturestovalidatethatqualifyingproductsareinstalledonasystembeforeanupgradeinstallationisperformed.CostFinalize(min:0,max:unbounded):EndstheinternalinstallationcostingprocessbegunbytheCostInitializeaction.CostInitialize(min:0,max:unbounded):Initiatestheinternalinstallationcostingprocess.CreateFolders(min:0,max:unbounded):Createsemptyfoldersforcomponentsthataresettobeinstalled.CreateShortcuts(min:0,max:unbounded):Managesthecreationofshortcuts.Custom(min:0,max:unbounded):Usetosequenceacustomaction.
![Page 244: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/244.jpg)
DeleteServices(min:0,max:unbounded):Stopsaserviceandremovesitsregistrationfromthesystem.DisableRollback(min:0,max:unbounded):Disablesrollbackfortheremainderoftheinstallation.DuplicateFiles(min:0,max:unbounded):DuplicatesfilesinstalledbytheInstallFilesaction.FileCost(min:0,max:unbounded):Initiatesdynamiccostingofstandardinstallationactions.FindRelatedProducts(min:0,max:unbounded):RunsthrougheachrecordoftheUpgradetableinsequenceandcomparestheupgradecode,productversion,andlanguageineachrowtoproductsinstalledonthesystem.ForceReboot(min:0,max:unbounded):Promptstheuserforarestartofthesystemduringtheinstallation.Notfixedsequence.InstallExecute(min:0,max:unbounded):RunsascriptcontainingalloperationsspooledsinceeitherthestartoftheinstallationorthelastInstallExecuteaction,orInstallExecuteAgainaction.InstallExecuteAgain(min:0,max:unbounded):RunsascriptcontainingalloperationsspooledsinceeitherthestartoftheinstallationorthelastInstallExecuteaction,orInstallExecuteAgainaction.InstallFiles(min:0,max:unbounded):CopiesfilesspecifiedintheFiletablefromthesourcedirectorytothedestinationdirectory.InstallFinalize(min:0,max:unbounded):Markstheendofasequenceofactionsthatchangethesystem.InstallInitialize(min:0,max:unbounded):Marksthebeginningofasequenceofactionsthatchangethesystem.InstallODBC(min:0,max:unbounded):Installsthedrivers,translators,anddatasourcesintheODBCDrivertable,ODBCTranslatortable,andODBCDataSourcetable.InstallServices(min:0,max:unbounded):Registersaserviceforthesystem.InstallValidate(min:0,max:unbounded):Verifiesthatallcostedvolumeshaveenoughspacefortheinstallation.IsolateComponents(min:0,max:unbounded):Installsacopyofacomponent(commonlyasharedDLL)intoaprivatelocationforuse
![Page 245: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/245.jpg)
byaspecificapplication(typicallyan.exe).LaunchConditions(min:0,max:unbounded):QueriestheLaunchConditiontableandevaluateseachconditionalstatementrecordedthere.MigrateFeatureStates(min:0,max:unbounded):Usedforupgradingorinstallingoveranexistingapplication.MoveFiles(min:0,max:unbounded):Locatesexistingfilesonthesystemandmovesorcopiesthosefilestoanewlocation.MsiPublishAssemblies(min:0,max:unbounded):ManagestheadvertisementofCLRandWin32assemblies.MsiUnpublishAssemblies(min:0,max:unbounded):ManagestheunadvertisementofCLRandWin32assembliesthatarebeingremoved.PatchFiles(min:0,max:unbounded):QueriesthePatchtabletodeterminewhichpatchesaretobeapplied.ProcessComponents(min:0,max:unbounded):Registersandunregisterscomponents,theirkeypaths,andthecomponentclients.PublishComponents(min:0,max:unbounded):ManagestheadvertisementofthecomponentsfromthePublishComponenttable.PublishFeatures(min:0,max:unbounded):Writeseachfeature'sstateintothesystemregistry.PublishProduct(min:0,max:unbounded):Managestheadvertisementoftheproductinformationwiththesystem.RegisterClassInfo(min:0,max:unbounded):ManagestheregistrationofCOMclassinformationwiththesystem.RegisterComPlus(min:0,max:unbounded):RegistersCOM+applications.RegisterExtensionInfo(min:0,max:unbounded):Managestheregistrationofextensionrelatedinformationwiththesystem.RegisterFonts(min:0,max:unbounded):Registersinstalledfontswiththesystem.RegisterMIMEInfo(min:0,max:unbounded):RegistersMIME-relatedregistryinformationwiththesystem.RegisterProduct(min:0,max:unbounded):Registerstheproductinformationwiththeinstaller.RegisterProgIdInfo(min:0,max:unbounded):Managesthe
![Page 246: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/246.jpg)
registrationofOLEProgIdinformationwiththesystem.RegisterTypeLibraries(min:0,max:unbounded):Registerstypelibrarieswiththesystem.RegisterUser(min:0,max:unbounded):Registerstheuserinformationwiththeinstallertoidentifytheuserofaproduct.RemoveDuplicateFiles(min:0,max:unbounded):DeletesfilesinstalledbytheDuplicateFilesaction.RemoveEnvironmentStrings(min:0,max:unbounded):Modifiesthevaluesofenvironmentvariables.RemoveExistingProducts(min:0,max:unbounded):GoesthroughtheproductcodeslistedintheActionPropertycolumnoftheUpgradetableandremovestheproductsinsequence.RemoveFiles(min:0,max:unbounded):RemovesfilespreviouslyinstalledbytheInstallFilesaction.RemoveFolders(min:0,max:unbounded):Removesanyfolderslinkedtocomponentssettoberemovedorrunfromsource.RemoveIniValues(min:0,max:unbounded):Removes.inifileinformationspecifiedforremovalintheRemoveIniFiletableifthecomponentissettobeinstalledlocallyorrunfromsource.RemoveODBC(min:0,max:unbounded):Removesthedatasources,translators,anddriverslistedforremovalduringtheinstallation.RemoveRegistryValues(min:0,max:unbounded):Removesaregistryvaluethathasbeenauthoredintotheregistrytableiftheassociatedcomponentwasinstalledlocallyorasrunfromsource,andisnowsettobeuninstalled.RemoveShortcuts(min:0,max:unbounded):Managestheremovalofanadvertisedshortcutwhosefeatureisselectedforuninstallationoranonadvertisedshortcutwhosecomponentisselectedforuninstallation.ResolveSource(min:0,max:unbounded):DeterminesthelocationofthesourceandsetstheSourceDirpropertyifthesourcehasnotbeenresolvedyet.Notfixedsequence.RMCCPSearch(min:0,max:unbounded):Usesfilesignaturestovalidatethatqualifyingproductsareinstalledonasystembeforeanupgradeinstallationisperformed.
![Page 247: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/247.jpg)
ScheduleReboot(min:0,max:unbounded):Promptstheusertorestartthesystemattheendofinstallation.Notfixedsequence.SelfRegModules(min:0,max:unbounded):ProcessesallmoduleslistedintheSelfRegtableandregistersallinstalledmoduleswiththesystem.SelfUnregModules(min:0,max:unbounded):UnregistersallmoduleslistedintheSelfRegtablethatarescheduledtobeuninstalled.SetODBCFolders(min:0,max:unbounded):ChecksforexistingODBCdriversandsetsthetargetdirectoryforeachnewdrivertothelocationofanexistingdriver.StartServices(min:0,max:unbounded):Startssystemservices.StopServices(min:0,max:unbounded):Stopssystemservices.UnpublishComponents(min:0,max:unbounded):ManagestheunadvertisementofcomponentslistedinthePublishComponenttable.UnpublishFeatures(min:0,max:unbounded):Removesselection-stateandfeature-componentmappinginformationfromtheregistry.UnregisterClassInfo(min:0,max:unbounded):ManagestheremovalofCOMclassinformationfromthesystemregistry.UnregisterComPlus(min:0,max:unbounded):RemovesCOM+applicationsfromtheregistry.UnregisterExtensionInfo(min:0,max:unbounded):Managestheremovalofextension-relatedinformationfromthesystemregistry.UnregisterFonts(min:0,max:unbounded):Removesregistrationinformationaboutinstalledfontsfromthesystem.UnregisterMIMEInfo(min:0,max:unbounded):UnregistersMIME-relatedregistryinformationfromthesystem.UnregisterProgIdInfo(min:0,max:unbounded):ManagestheunregistrationofOLEProgIdinformationwiththesystem.UnregisterTypeLibraries(min:0,max:unbounded):Unregisterstypelibrariesfromthesystem.ValidateProductID(min:0,max:unbounded):SetstheProductIDpropertytothefullproductidentifier.WriteEnvironmentStrings(min:0,max:unbounded):Modifiesthevaluesofenvironmentvariables.
![Page 248: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/248.jpg)
WriteIniValues(min:0,max:unbounded):Writesthe.inifileinformationthattheapplicationneedswrittentoits.inifiles.WriteRegistryValues(min:0,max:unbounded):Setsupanapplication'sregistryinformation.
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 249: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/249.jpg)
InstallFilesElement
Description
CopiesfilesspecifiedintheFiletablefromthesourcedirectorytothedestinationdirectory.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 250: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/250.jpg)
InstallFinalizeElement
Description
Markstheendofasequenceofactionsthatchangethesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,AdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,InstallInitialize
Version2.0.4820.0
![Page 251: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/251.jpg)
InstallInitializeElement
Description
Marksthebeginningofasequenceofactionsthatchangethesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,AdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,InstallFinalize
Version2.0.4820.0
![Page 252: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/252.jpg)
InstallODBCElement
Description
Installsthedrivers,translators,anddatasourcesintheODBCDrivertable,ODBCTranslatortable,andODBCDataSourcetable.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 253: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/253.jpg)
InstallServicesElement
Description
Registersaserviceforthesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 254: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/254.jpg)
InstallUISequenceElement
Description
None
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product,UI
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenChoiceofelements(min:0,max:unbounded)AppSearch(min:0,max:unbounded):Usesfilesignaturestosearchforexistingversionsofproducts.CCPSearch(min:0,max:unbounded):Usesfilesignaturestovalidatethatqualifyingproductsareinstalledonasystembeforeanupgradeinstallationisperformed.CostFinalize(min:0,max:unbounded):EndstheinternalinstallationcostingprocessbegunbytheCostInitializeaction.CostInitialize(min:0,max:unbounded):Initiatestheinternalinstallationcostingprocess.Custom(min:0,max:unbounded):Usetosequenceacustomaction.ExecuteAction(min:0,max:unbounded):Initiatestheexecutionsequence.FileCost(min:0,max:unbounded):Initiatesdynamiccostingofstandardinstallationactions.FindRelatedProducts(min:0,max:unbounded):RunsthrougheachrecordoftheUpgradetableinsequenceandcomparestheupgradecode,productversion,andlanguageineachrowtoproductsinstalledonthesystem.IsolateComponents(min:0,max:unbounded):Installsacopyofa
![Page 255: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/255.jpg)
component(commonlyasharedDLL)intoaprivatelocationforusebyaspecificapplication(typicallyan.exe).LaunchConditions(min:0,max:unbounded):QueriestheLaunchConditiontableandevaluateseachconditionalstatementrecordedthere.MigrateFeatureStates(min:0,max:unbounded):Usedforupgradingorinstallingoveranexistingapplication.ResolveSource(min:0,max:unbounded):DeterminesthelocationofthesourceandsetstheSourceDirpropertyifthesourcehasnotbeenresolvedyet.RMCCPSearch(min:0,max:unbounded):Usesfilesignaturestovalidatethatqualifyingproductsareinstalledonasystembeforeanupgradeinstallationisperformed.ScheduleReboot(min:0,max:unbounded):Promptstheusertorestartthesystemattheendofinstallation.Notfixedsequence.Show(min:0,max:unbounded)ValidateProductID(min:0,max:unbounded):SetstheProductIDpropertytothefullproductidentifier.
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 256: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/256.jpg)
InstallValidateElement
Description
Verifiesthatallcostedvolumeshaveenoughspacefortheinstallation.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,AdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 257: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/257.jpg)
InterfaceElement
Description
COMInterfaceregistrationforparentTypelib.
WindowsInstallerreferencesRegistryTable
ParentsClass,Component,Include,TypeLib
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId Uuid GUIDidentifierforCOM
Interface.Yes
Name String NameforCOMInterface.
Yes
NumMethods Integer NumberofmethodsimplementedonCOMInterface.
ProxyStubClassId Uuid GUIDCLSIDforproxystubtoCOMInterface.
ProxyStubClassId32 Uuid GUIDCLSIDfor32-bitproxystubtoCOMInterface.
Versioned YesNoType DetermineswhetheraTypelibversionentryshouldbecreatedwiththeotherCOMInterfaceregistrykeys.Defaultis
![Page 258: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/258.jpg)
'yes'.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 259: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/259.jpg)
IsolateComponentElement
Description
SharedComponenttobeprivatelyreplicatedinfolderofparentComponent
WindowsInstallerreferencesIsolateComponentTable
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredShared String SharedComponentforthisapplication
ComponentYes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 260: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/260.jpg)
IsolateComponentsElement
Description
Installsacopyofacomponent(commonlyasharedDLL)intoaprivatelocationforusebyaspecificapplication(typicallyan.exe).Thisisolatestheapplicationfromothercopiesofthecomponentthatmaybeinstalledtoasharedlocationonthecomputer.TheactionreferstoeachrecordoftheIsolatedComponenttableandassociatesthefilesofthecomponentlistedintheComponent_SharedfieldwiththecomponentlistedintheComponent_Applicationfield.TheinstallerinstallsthefilesofComponent_SharedintothesamedirectoryasComponent_Application.Theinstallergeneratesafileinthisdirectory,zerobytesinlength,havingtheshortfilenamenameofthekeyfileforComponent_Application(typicallythisisthesamefilenameasthe.exe)appendedwith.local.TheIsolatedComponentactiondoesnotaffecttheinstallationofComponent_Application.UninstallingComponent_ApplicationalsoremovestheComponent_Sharedfilesandthe.localfilefromthedirectory.TheIsolateComponentsactioncanbeusedonlyintheInstallUISequencetableandtheInstallExecuteSequencetable.ThisactionmustcomeaftertheCostInitializeactionandbeforetheCostFinalizeaction.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description Required
![Page 261: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/261.jpg)
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,IsolateComponent
Version2.0.4820.0
![Page 262: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/262.jpg)
LaunchConditionsElement
Description
QueriestheLaunchConditiontableandevaluateseachconditionalstatementrecordedthere.Ifanyoftheseconditionalstatementsfail,anerrormessageisdisplayedtotheuserandtheinstallationisterminated.TheLaunchConditionsactionisoptional.Thisactionisnormallythefirstinthesequence,buttheAppSearchActionmaybesequencedbeforetheLaunchConditionsaction.Iftherearelaunchconditionsthatdonotapplytoallinstallationmodes,theappropriateinstallationmodepropertyshouldbeusedinaconditionalexpressionintheappropriatesequencetable.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,AdminUISequence,InstallExecuteSequence,InstallUISequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
![Page 263: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/263.jpg)
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,Condition
Version2.0.4820.0
![Page 264: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/264.jpg)
ListBoxElement
Description
SetofitemsforaparticularListBoxcontroltiedtoaninstallProperty
WindowsInstallerreferencesControlTable,DialogTable,ListViewTable
ParentsControl,UI
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ListItem(min:0,max:unbounded):entryforListBoxtable
Attributes
Name Type Description RequiredProperty String Propertytiedtothisgroup Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 265: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/265.jpg)
ListItemElement
Description
TextandvalueassociatedwithPropertywithControlsettoListBox,ListView,ComboBox
WindowsInstallerreferencesControlTable,ComboBoxTable,DialogTable,ListBoxTable,ListViewTable
ParentsComboBox,ListBox,ListView
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Text(min:0,max:1):AlternativetoTextattributewhenCDATAisneededtoescapeXMLdelimiters.
Attributes
Name Type Description RequiredIcon String OnlyvalidinListViewProperties Text String DefaultstoListItem'svalue Value String Valueassignedtotheassociated
controlProperty.Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 266: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/266.jpg)
ListViewElement
Description
SetofitemsforaparticularListViewcontroltiedtoaninstallProperty
WindowsInstallerreferencesListViewTable,ControlTable,DialogTable
ParentsControl,UI
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ListItem(min:0,max:unbounded):entryforListViewtable
Attributes
Name Type Description RequiredProperty String Propertytiedtothisgroup Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 267: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/267.jpg)
MediaElement
Description
Mediaelementdescribesadiskthatmakesupthesourcemediafortheinstallation.
WindowsInstallerreferencesMediaTable
ParentsFragment,Include,Product
InnerTextNone
ChildrenSequence(min:1,max:1)
1. DigitalSignature(min:0,max:1)2. PatchPackage(min:0,max:unbounded)
Attributes
Name Type Description RequiredId Integer DiskidentifierforMedia
table.Thisnumbermustbeequaltoorgreaterthan1.
Yes
Cabinet String Thenameofthecabinetifsomeorallofthefilesstoredonthemediaarecompressedintoacabinetfile.Ifnocabinetsareused,thisattributemustbeblank.
CompressionLevel Enumeration IndicatesthecompressionlevelfortheMedia'scabinet.This
![Page 268: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/268.jpg)
attributecanonlybeusedinconjunctionwiththeCabinetattribute.Thedefaultis'mszip'.Thisattribute'svalueshouldbeoneofthefollowing:high
low
medium
mszip
none
DiskPrompt String Thediskname,whichisusuallythevisibletextprintedonthedisk.Thislocalizabletextisusedtoprompttheuserwhenthisdiskneedstobeinserted.Thisvaluewillbeusedinthe"[1]"oftheDiskPromptProperty.UsingthisattributewillrequireyoutodefineaDiskPromptProperty.
EmbedCab YesNoType Instructsthebindertoembedthecabinetintheproductif'yes'.ThisattributecanonlybespecifiedinconjunctionwiththeCabinetattribute.
Layout String ThisattributespecifiestherootdirectoryfortheuncompressedfilesthatareapartofthisMedia
![Page 269: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/269.jpg)
element.Bydefault,thesrcwillbetheoutputdirectoryforthefinalimage.Thedefaultvalueensuresthebindergeneratesaninstallableimage.Ifarelativepathisspecifiedinthesrcattribute,thevaluewillbeappendedtotheimage'soutputdirectory.Ifanabsolutepathisprovided,thatpathwillbeusedwithoutmodification.Thelattertwooptionsareprovidedtoeasethelayoutofanimageontomultiplemedias(CDs/DVDs).
src String Thisattributehasbeendeprecated;pleaseusetheLayoutattributeinstead.
VolumeLabel String Thelabelattributedtothevolume.ThisisthevolumelabelreturnedbytheGetVolumeInformationfunction.IftheSourceDirpropertyreferstoaremovable(floppyorCD-ROM)volume,thenthisvolumelabelisusedtoverifythattheproperdiskisinthedrivebeforeattemptingtoinstallfiles.Theentryinthiscolumnmustmatchthevolume
![Page 270: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/270.jpg)
labelofthephysicalmedia.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 271: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/271.jpg)
MergeElement
Description
MergedirectivetobringinaMergeModuletoberedirectedtoparentDirectory
WindowsInstallerreferencesNone
ParentsDirectory,DirectoryRef
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)ConfigurationData(min:0,max:unbounded):Datatouseasinputtoaconfigurablemergemodule.
Attributes
Name Type Description RequiredId String Theuniqueidentifierforthe
Mergeelementinthesourcecode.ReferencedbytheMergeRef/@Id.
Yes
DiskId String ThevalueofthisattributeshouldcorrespondtotheIdattributeofaMediaelementauthoredelsewhere.BycreatingthisconnectionbetweentheMergeModuleandMediaelement,yousetthepackagingoptionstothevaluesspecifiedintheMediaelement(valuessuch
Yes
![Page 272: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/272.jpg)
ascompressionlevel,cabembedding,etc...).
FileCompression YesNoType Language Integer SpecifiesthedecimalLCID
forthelanguagetomergetheModuleinas.
Yes
SourceFile String src String Thisattributehasbeen
deprecated;pleaseusetheSourceFileattributeinstead.
SeeAlsoWixSchema,MergeRef
Version2.0.4820.0
![Page 273: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/273.jpg)
MergeRefElement
Description
MergereferencetoconnectaMergeModuletoparentFeature
WindowsInstallerreferencesNone
ParentsFeature,FeatureRef
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheuniqueidentifierfortheMerge
elementtobereferenced.Yes
Primary YesNoType SpecifieswhetherthefeaturecontainingthisMergeRefistheprimaryfeatureforadvertisingthemergemodule'scomponents.
SeeAlsoWixSchema,Merge
Version2.0.4820.0
![Page 274: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/274.jpg)
MigrateFeatureStatesElement
Description
Usedforupgradingorinstallingoveranexistingapplication.Readsfeaturestatesfromexistingapplicationandsetsthesefeaturestatesforthependinginstallation.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 275: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/275.jpg)
MIMEElement
Description
MIMEcontent-typeforanExtension
WindowsInstallerreferencesMIMETable
ParentsExtension
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredClass Uuid ClassIDfortheCOMserver
thatistobeassociatedwiththeMIMEcontent.
ContentType String ThisistheidentifierfortheMIMEcontent.Itiscommonlywrittenintheformoftype/format.
Yes
Default YesNoType If'yes',becomethecontenttypefortheparentExtension.Thedefaultvalueis'no'.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 276: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/276.jpg)
MimeMapElement
Description
MimeMapdefinitionforIISresources.
WindowsInstallerreferencesNone
ParentsWebVirtualDir
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String IdfortheMimeMap. YesExtension String ExtensioncoveredbytheMimeMap.
Mustbeginwithadot.Yes
Type String Mime-typecoveredbytheMimeMap. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 277: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/277.jpg)
ModuleElement
Description
TheModuleelementisanalogoustothemainfunctioninaCprogram.Whenlinking,onlyoneModulesectioncanbegiventothelinkertoproduceasuccessfulresult.Usingthiselementcreatesanmsmfile.
WindowsInstallerreferencesNone
ParentsWix
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Package(min:1,max:1)2. Choiceofelements(min:0,max:unbounded)
AppId(min:0,max:unbounded)Binary(min:0,max:unbounded)ComponentGroupRef(min:0,max:unbounded)ComponentRef(min:0,max:unbounded)Configuration(min:0,max:unbounded)CustomAction(min:0,max:unbounded)CustomActionRef(min:0,max:unbounded)CustomTable(min:0,max:unbounded)Dependency(min:0,max:unbounded)Directory(min:0,max:unbounded)DirectoryRef(min:0,max:unbounded)EnsureTable(min:0,max:unbounded)Exclusion(min:0,max:unbounded)
![Page 278: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/278.jpg)
FragmentRef(min:0,max:unbounded)Group(min:0,max:unbounded)Icon(min:0,max:unbounded)IgnoreModularization(min:0,max:unbounded)Property(min:0,max:unbounded)PropertyRef(min:0,max:unbounded)SFPCatalog(min:0,max:unbounded)SqlDatabase(min:0,max:unbounded)Substitution(min:0,max:unbounded)UI(min:0,max:unbounded)UIRef(min:0,max:unbounded)User(min:0,max:unbounded)WebApplication(min:0,max:unbounded)WebAppPool(min:0,max:unbounded)WebDirProperties(min:0,max:unbounded)WebLog(min:0,max:unbounded)WebSite(min:0,max:unbounded)Sequence(min:1,max:1)
1. InstallExecuteSequence(min:0,max:1)2. InstallUISequence(min:0,max:1)3. AdminExecuteSequence(min:0,max:1)4. AdminUISequence(min:0,max:1)5. AdvertiseExecuteSequence(min:0,max:1)
AnyElementnamespace='##other'processContents='Lax'
Attributes
Name Type Description RequiredId String Thenameofthemerge
module(notthefilename).Yes
Codepage Integer Thecodepageofthemergemodule.
Guid Uuid TheproductcodeGUIDofthemergemodule.
Yes
Language LocalizableInteger ThedecimallanguageID Yes
![Page 279: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/279.jpg)
(LCID)ofthemergemodule.
Version String Theproductversionstringofthemergemodule.
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 280: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/280.jpg)
MoveFilesElement
Description
Locatesexistingfilesonthesystemandmovesorcopiesthosefilestoanewlocation.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 281: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/281.jpg)
MsiPublishAssembliesElement
Description
ManagestheadvertisementofCLRandWin32assemblies.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 282: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/282.jpg)
MsiUnpublishAssembliesElement
Description
ManagestheunadvertisementofCLRandWin32assembliesthatarebeingremoved.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 283: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/283.jpg)
ODBCDataSourceElement
Description
ODBCDataSourceforaComponent
WindowsInstallerreferencesODBCDataSourceTable
ParentsComponent,Include,ODBCDriver
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Property(min:0,max:unbounded):TranslatesintoODBCSourceAttributes
Attributes
Name Type Description RequiredId String Identifierofthedatasource. YesDriverName String Requiredifnotfoundaschildof
ODBCDriverelement
KeyPath YesNoType Set'yes'toforcethisfiletobekeypathforparentComponent
Name String Nameforthedatasource. YesRegistration Enumeration Scopeforwhichthedata
sourceshouldberegistered.Thisattribute'svalueshouldbeoneofthefollowing:machine
user
Yes
SeeAlso
![Page 284: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/284.jpg)
WixSchemaVersion2.0.4820.0
![Page 285: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/285.jpg)
ODBCDriverElement
Description
ODBCDriverforaComponent
WindowsInstallerreferencesODBCDriverTable
ParentsComponent,File,Include
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Property(min:0,max:unbounded):TranslatesintoODBCSourceAttributes
2. ODBCDataSource(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierforthedriver. YesFile String RequiredifnotfoundaschildofFile
element
Name String Nameforthedriver. YesSetupFile String RequiredifnotfoundaschildofFile
elementordifferentfromFileattributeabove
SeeAlsoWixSchema
Version2.0.4820.0
![Page 286: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/286.jpg)
ODBCTranslatorElement
Description
ODBCTranslatorforaComponent
WindowsInstallerreferencesODBCTranslatorTable
ParentsComponent,File,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierforthetranslator. YesFile String RequiredifnotfoundaschildofFile
element
Name String Nameforthetranslator. YesSetupFile String RequiredifnotfoundaschildofFile
elementordifferentfromFileattributeabove
SeeAlsoWixSchema
Version2.0.4820.0
![Page 287: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/287.jpg)
PackageElement
Description
PropertiesaboutthepackagetobeplacedintheSummaryInformationStream.ThesearevisiblefromCOMthroughtheIStreaminterface,andthesepropertiescanbeseenonthepackageinExplorer.
WindowsInstallerreferencesNone
ParentsModule,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId Autogenuuid Packagecode
GUIDforSKU.Yes
AdminImage YesNoType Setto'yes'ifthesourceisanadminimage.
Comments String Optionalcommentsforbrowsing.
Compressed YesNoType Setto'yes'tohavecompressedfilesinthesource.
Description String Theproductfullnameordescription.
![Page 288: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/288.jpg)
InstallerVersion Integer Theminimuminstallerversion(major*100+minor).
InstallPrivileges Enumeration UsethisattributetospecifythepriviligesrequiredtoinstallthepackageonWindowsVistaandabove.Thisattribute'svalueshouldbeoneofthefollowing:limited
Setthisvaluetodeclarethatthepackagedoesnotrequireelevatedprivilegestoinstall.
elevatedSetthisvaluetodeclarethatthepackagerequireselevatedprivilegestoinstall.Thisisthedefaultvalue.
Keywords String Optionalkeywordsfor
![Page 289: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/289.jpg)
browsing.Languages String Thelistof
languageIDs(LCIDs)supportedinthepackage.
Manufacturer String Thevendorreleasingthepackage.
Platforms String Thelistofplatformssupportedinthepackage.
ReadOnly YesNoDefaultType Thevalueofthisattributeconveyswhetherthepackageshouldbeopenedasread-only.Adatabaseeditingtoolshouldnotmodifyaread-onlyenforceddatabaseandshouldissueawarningatattemptstomodifyaread-onlyrecommendeddatabase.
ShortNames YesNoType Setto'yes'tohaveshortfilenamesinthesource.
SummaryCodepage LocalizableInteger Thecodepageforsummaryinfo
![Page 290: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/290.jpg)
stringsonly.Thelanguageneutralcodepage,zero,isnotavalidvalue.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 291: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/291.jpg)
PatchElement
Description
PatchinformationforparentFileelement
WindowsInstallerreferencesPatchTable
ParentsFile
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredHeader String streaminBinarytable YesPatchSize Integer maybedefaultedifbuildtools
supplyactualsize
Sequence Integer maybedefaultedifnotincabinetifbuildtoolssupplysequence
Vital YesNoType
SeeAlsoWixSchema
Version2.0.4820.0
![Page 292: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/292.jpg)
PatchCertificatesElement
Description
Identifiesthepossiblesignercertificatesusedtodigitallysignpatches.
WindowsInstallerreferencesMsiPatchCertificateTable
ParentsFragment,Product
InnerTextNone
ChildrenChoiceofelements(min:1,max:unbounded)DigitalCertificate(min:1,max:unbounded)
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 293: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/293.jpg)
PatchCreationElement
Description
ThePatchCreationelementisanalogoustothemainfunctioninaCprogram.Whenlinking,onlyonePatchCreationsectioncanbegiventothelinkertoproduceasuccessfulresult.Usingthiselementcreatesapcpfile.
WindowsInstallerreferencesNone
ParentsWix
InnerTextNone
ChildrenSequence(min:1,max:1)
1. PatchInformation(min:1,max:1)2. PatchMetadata(min:0,max:1)3. Family(min:1,max:unbounded)4. Choiceofelements(min:0,max:unbounded)
PatchProperty(min:0,max:unbounded)PatchSequence(min:0,max:unbounded)ReplacePatch(min:0,max:unbounded)TargetProductCode(min:0,max:unbounded)
Attributes
Name Type Description RequiredId Uuid Guidforthis
patch.Yes
AllowMajorVersionMismatches YesNoType TrueifProductVersionpropertymay
![Page 294: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/294.jpg)
differbyamajorversion.
AllowProductCodeMismatches YesNoType ProductCodepropertymaydifferbetweenUpgradedImagestableandTargetImagestable.
CleanWorkingFolder YesNoType Whetherpatchwizshouldcleanthetempfolderwhenfinished.
Codepage Integer ThecodepagefortheresultingPCP.
OutputPath String Outputpatchforpatchwiz.
SourceList String Usedtolocatethe.mspfileforthepatchifthecachedcopyisunavailable.
SymbolFlags Int Symbolflags. WholeFilesOnly YesNoType Changingfiles
shouldbeincludedintheirentirety.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 295: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/295.jpg)
PatchFilesElement
Description
QueriesthePatchtabletodeterminewhichpatchesaretobeapplied.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 296: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/296.jpg)
PatchInformationElement
Description
PropertiesaboutthepatchtobeplacedintheSummaryInformationStream.ThesearevisiblefromCOMthroughtheIStreaminterface,andthesepropertiescanbeseenonthepackageinExplorer.
WindowsInstallerreferencesNone
ParentsPatchCreation
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredAdminImage YesNoType Sourceisan
adminimage
Comments String Optionalcommentsforbrowsing
Compressed YesNoType Compressedfilesonsource
Description String Productfullnameordescription
Keywords String Optionalkeywordsforbrowsing
Languages String ListoflanguageIDssupportedinpackage
![Page 297: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/297.jpg)
Manufacturer String Vendorreleasingthepackage
Platforms String Listofplatformssupportedinpackage
ReadOnly YesNoDefaultType Thevalueofthisattributeconveyswhetherthepackageshouldbeopenedasread-only.Adatabaseeditingtoolshouldnotmodifyaread-onlyenforceddatabaseandshouldissueawarningatattemptstomodifyaread-onlyrecommendeddatabase.
ShortNames YesNoType Shortfilenamesonsource
SummaryCodepage LocalizableInteger Thecodepageforsummaryinfostringsonly.Thelanguageneutralcodepage,zero,isnotavalidvalue.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 298: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/298.jpg)
PatchMetadataElement
Description
PropertiesaboutthepatchtobeplacedinthePatchMetadatatable.
WindowsInstallerreferencesNone
ParentsPatchCreation
InnerTextNone
ChildrenChoiceofelements(min:1,max:1)CustomProperty(min:0,max:1):Acustompropertythatextendsthestandardset.
Attributes
Name Type Description RequiredAllowRemoval YesNoType Whetherthisisan
uninstallablepatch.Yes
Classification Enumeration Categoryofupdates.Thisattribute'svalueshouldbeoneofthefollowing:CriticalUpdate
Hotfix
SecurityRollup
ServicePack
Update
UpdateRollup
Yes
![Page 299: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/299.jpg)
CreationTimeUTC String Creationtimeofthe.mspfileintheformmm:dd:yy:HH:MM(month:day:year:hour:minute).
Description String Descriptionofthepatch.
Yes
DisplayName String Atitleforthepatchthatissuitableforpublicdisplay.InAdd/RemoveProgramsfromXPSP2on.
Yes
ManufacturerName String Nameofthemanufacturer.
Yes
MinorUpdateTargetRTM String IndicatesthatthepatchtargetstheRTMversionoftheproductorthemostrecentmajorupgradepatch.AuthorthisoptionalpropertyinminorupdatepatchesthatcontainsequencinginformationtoindicatethatthepatchremovesallpatchesuptotheRTMversionoftheproduct,oruptothemostrecentmajorupgradepatch.ThispropertyisavailablebeginningwithWindowsInstaller
![Page 300: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/300.jpg)
3.1.
MoreInfoURL String AURLthatprovidesinformationspecifictothispatch.InAdd/RemoveProgramsfromXPSP2on.
OptimizedInstallMode YesNoType Ifthisattributeissetto'yes'inallthepatchestobeappliedinatransaction,theapplicationofthepatchisoptimizedifpossible.AvailablebeginningwithWindowsInstaller3.1.
TargetProductName String Nameoftheapplicationortargetproductsuite.
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 301: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/301.jpg)
PatchPackageElement
Description
PatchPackagefoundonparentMediaelement
WindowsInstallerreferencesNone
ParentsMedia
InnerText(uuid)ElementvalueisPatchIdGUID.
ChildrenNone
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 302: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/302.jpg)
PatchPropertyElement
Description
Apropertyforthispatchdatabase.
WindowsInstallerreferencesNone
ParentsPatchCreation
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredName String Nameofthepatchcreationproperty. YesValue String Valueofthepatchcreationproperty. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 303: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/303.jpg)
PatchSequenceElement
Description
Sequenceinformationforthispatchdatabase.Sequenceinformationisgeneratedautomaticallyinmostcases,andrarelyneedstobesetexplicitly.
WindowsInstallerreferencesNone
ParentsPatchCreation
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredPatchFamily String Identifierwhichindicatesoneofthe
sequencefamiliestowhichthispatchbelongs.
Yes
Sequence String UsedtopopulatethesequencecolumnoftheMsiPatchSequencetableinthefinalMSPfile.Specifiedinx.x.x.xformat.SeedocumentationforSequencecolumnofMsiPatchSequencetableinMSISDK.
Supersede Integer Non-NULLvalueindicatesthatthispatchsupersedesearlierpatchesinthisfamily.SeedocumentationforAttributescolumnofMsiPatchSequencetableinMSI
![Page 304: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/304.jpg)
SDK.Target String Usedtodeterminetheproduct
codefilteringforthepatchfamily.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 305: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/305.jpg)
PerfCounterElement
Description
UsedtoinstallPerfmoncounters.
WindowsInstallerreferencesNone
ParentsFile
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredName String
SeeAlsoWixSchema
Version2.0.4820.0
![Page 306: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/306.jpg)
PermissionElement
Description
SetsACLsonFile,Registry,orCreateFolder.WhenunderaRegistryelement,thiscannotbeusediftheActionattribute'svalueisremoveorremoveKeyOnInstall.ThiselementhasnoIdattribute.Thetableandkeyaretakenfromtheparentelement.
WindowsInstallerreferencesLockPermissionsTable
ParentsCreateFolder,File,FileShare,Registry,ServiceInstall
InnerTextNone
ChildrenNone
Attributes
Name Type DescriptionAppend YesNoType ChangePermission YesNoType CreateChild YesNoType Foradirectory,therighttocreatea
subdirectory.Onlyvalidundera'CreateFolder'parent.
CreateFile YesNoType Foradirectory,therighttocreateafileinthedirectory.Onlyvalidundera'CreateFolder'parent.
CreateLink YesNoType CreateSubkeys YesNoType Delete YesNoType DeleteChild YesNoType Foradirectory,therighttodeletea
directoryandallthefilesit
![Page 307: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/307.jpg)
contains,includingread-onlyfiles.Onlyvalidundera'CreateFolder'parent.
Domain String EnumerateSubkeys YesNoType Execute YesNoType Extended YesNoType Specifieswhetherornottousethe
LockPermissionstablewhenthePermissionelementisnestedunderaRegistry,File,orCreateFolderelement.IfExtendedissetto'yes'thentheWiXSecureObjectcustomactionwillbeusedtolockdowntheresourceinsteadofthe"legacy"LockPermissionstable.Specifying'yes'forthisattributewillrequireyoutolinkyourMSIwiththewixca.wixlib.ByusingtheSecureObjectcustomactionyoucanapplypermissionsformanymorewellknownuserSIDsaswellasforuseraccountsthatarecreatedaspartoftheinstall.
GenericAll YesNoType GenericExecute YesNoType GenericRead YesNoType specifyingthiswillfailtograntread
accessGenericWrite YesNoType Notify YesNoType Read YesNoType ReadAttributes YesNoType ReadExtendedAttributes YesNoType ReadPermission YesNoType ServiceChangeConfig YesNoType Requiredtocallthe
ChangeServiceConfigor
![Page 308: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/308.jpg)
ChangeServiceConfig2functiontochangetheserviceconfiguration.Onlyvalidundera'ServiceInstall'parent.
ServiceEnumerateDependents YesNoType RequiredtocalltheEnumDependentServicesfunctiontoenumeratealltheservicesdependentontheservice.validundera'ServiceInstall'parent.
ServiceInterrogate YesNoType RequiredtocalltheControlServicefunctiontoasktheservicetoreportitsstatusimmediately.Onlyvalidundera'ServiceInstall'parent.
ServicePauseContinue YesNoType RequiredtocalltheControlServicefunctiontopauseorcontinuetheservice.Onlyvalidundera'ServiceInstall'parent.
ServiceQueryConfig YesNoType RequiredtocalltheQueryServiceConfigandQueryServiceConfig2functionstoquerytheserviceconfiguration.Onlyvalidundera'ServiceInstall'parent.
ServiceQueryStatus YesNoType RequiredtocalltheQueryServiceStatusfunctiontoasktheservicecontrolmanageraboutthestatusoftheservice.Onlyvalidundera'ServiceInstall'parent.
ServiceStart YesNoType RequiredtocalltheStartServicefunctiontostarttheservice.validundera'ServiceInstall'parent.
ServiceStop YesNoType RequiredtocalltheControlServicefunctiontostoptheservice.validundera'ServiceInstall'parent.
![Page 309: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/309.jpg)
ServiceUserDefinedControl YesNoType RequiredtocalltheControlServicefunctiontospecifyauser-definedcontrolcode.Onlyvalidundera'ServiceInstall'parent.
Synchronize YesNoType TakeOwnership YesNoType Traverse YesNoType Foradirectory,therighttotraverse
thedirectory.Bydefault,usersareassignedtheBYPASS_TRAVERSE_CHECKINGprivilege,whichignorestheFILE_TRAVERSEaccessright.Onlyvalidundera'CreateFolder'parent.
User String Write YesNoType WriteAttributes YesNoType WriteExtendedAttributes YesNoType
SeeAlsoWixSchema
Version2.0.4820.0
![Page 310: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/310.jpg)
ProcessComponentsElement
Description
Registersandunregisterscomponents,theirkeypaths,andthecomponentclients.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 311: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/311.jpg)
ProductElement
Description
TheProductelementisanalogoustothemainfunctioninaCprogram.Whenlinking,onlyoneProductsectioncanbegiventothelinkertoproduceasuccessfulresult.Usingthiselementcreatesanmsifile.
WindowsInstallerreferencesNone
ParentsWix
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Package(min:1,max:1)2. Choiceofelements(min:0,max:unbounded)
AppId(min:0,max:unbounded)Binary(min:0,max:unbounded)ComplianceCheck(min:0,max:unbounded)Condition(min:0,max:unbounded)CustomAction(min:0,max:unbounded)CustomActionRef(min:0,max:unbounded)CustomTable(min:0,max:unbounded)Directory(min:0,max:unbounded)DirectoryRef(min:0,max:unbounded)EnsureTable(min:0,max:unbounded)Feature(min:0,max:unbounded)FeatureRef(min:0,max:unbounded)FragmentRef(min:0,max:unbounded)
![Page 312: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/312.jpg)
Group(min:0,max:unbounded)Icon(min:0,max:unbounded)Media(min:0,max:unbounded)PatchCertificates(min:0,max:unbounded)Property(min:0,max:unbounded)PropertyRef(min:0,max:unbounded)SFPCatalog(min:0,max:unbounded)SqlDatabase(min:0,max:unbounded)UI(min:0,max:unbounded)UIRef(min:0,max:unbounded)Upgrade(min:0,max:unbounded)User(min:0,max:unbounded)WebApplication(min:0,max:unbounded)WebAppPool(min:0,max:unbounded)WebDirProperties(min:0,max:unbounded)WebLog(min:0,max:unbounded)WebSite(min:0,max:unbounded)Sequence(min:1,max:1)
1. InstallExecuteSequence(min:0,max:1)2. InstallUISequence(min:0,max:1)3. AdminExecuteSequence(min:0,max:1)4. AdminUISequence(min:0,max:1)5. AdvertiseExecuteSequence(min:0,max:1)
AnyElementnamespace='##other'processContents='Lax'HelpCollectionRefHelpFilter
Attributes
Name Type Description RequiredId Autogenuuid TheproductcodeGUID
fortheproduct.Yes
Codepage Integer ThecodepagefortheresultingMSI.
Language LocalizableInteger Thedecimallanguage Yes
![Page 313: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/313.jpg)
ID(LCID)fortheproduct.
Manufacturer String Themanufactureroftheproduct.
Yes
Name String Thedescriptivenameoftheproduct.
Yes
UpgradeCode Uuid TheupgradecodeGUIDfortheproduct.
Version String Theproduct'sversionstring.
Yes
Anyattributenamespace='##other'processContents='lax'
SeeAlsoWixSchema
Version2.0.4820.0
![Page 314: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/314.jpg)
ProgIdElement
Description
ProgIdregistrationforparentComponent.IfProgIdhasanassociatedClass,itmustbeachildofthatelement.
WindowsInstallerreferencesProgIdTable,ClassTable,RegistryTable,IconTable
ParentsClass,Component,Include,ProgId
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ProgId(min:0,max:1):Version-independentProgIdmustbechildelementofactualProgId.NestingfurtherProgIdelementswithintheVersion-independentProgIdisdisallowed.
2. Extension(min:0,max:unbounded):extensionsthatrefertothisProgId
Attributes
Name Type Description RequiredId String YesAdvertise YesNoType Description String Icon String referencetoIconelement IconIndex Integer NoOpen String Specifiesthattheassociated
ProgIdshouldnotbeopenedbyusers.Thevalueispresentedasawarningtousers.Anempty
![Page 315: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/315.jpg)
stringisalsovalidforthisattribute.SeetheMSDNdocumentationformoreinformation.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 316: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/316.jpg)
ProgressTextElement
Description
None
WindowsInstallerreferencesActionTextTable
ParentsUI
InnerText(xs:string)Elementvalueisprogressmessagetextforaction
ChildrenNone
Attributes
Name Type Description RequiredAction String YesTemplate String usedtoformatActionDatamessages
fromactionprocessing
SeeAlsoWixSchema
Version2.0.4820.0
![Page 317: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/317.jpg)
PropertyElement
Description
PropertyvalueforaProductorModule.
WindowsInstallerreferencesPropertyTable
ParentsControl,Fragment,Include,Module,ODBCDataSource,ODBCDriver,Product,UI,Upgrade
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenSequence(min:1,max:1)
1. ComplianceDrive(min:0,max:1):StartssearchesfromtheCCP_DRIVE.
2. ComponentSearch(min:0,max:unbounded)3. RegistrySearch(min:0,max:unbounded)4. RegistrySearchRef(min:0,max:unbounded)5. IniFileSearch(min:0,max:unbounded)6. DirectorySearch(min:0,max:unbounded)7. DirectorySearchRef(min:0,max:unbounded)8. FileSearch(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Uniqueidentifierfor
Property.Yes
Admin YesNoType DenotesthatthePropertyissavedduringadmininistrativeinstallation.Seethe
![Page 318: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/318.jpg)
AdminPropertiesPropertyformoreinformation.
ComplianceCheck YesNoType AddsarowtotheCCPSearchtable.ThisattributeisonlyvalidwhenthisPropertycontainsasearchelement.
Hidden YesNoType DenotesthatthePropertyisnotloggedduringinstallation.SeetheMsiHiddenPropertiesPropertyformoreinformation.
Secure YesNoType DenotesthatthePropertycanbepassedtotheserversidewhendoingamanagedinstallationwithelevatedprivileges.SeetheSecureCustomPropertiesPropertyformoreinformation.
Value String Setsadefaultvaluefortheproperty.ThevaluewillbeoverwrittenifthePropertyisusedforasearch.
SeeAlsoWixSchema,PropertyRef
Version2.0.4820.0
![Page 319: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/319.jpg)
PropertyRefElement
Description
ReferencetoaPropertyvalue.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String IdentifierofPropertytoreference. Yes
SeeAlsoWixSchema,Property
Version2.0.4820.0
![Page 320: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/320.jpg)
ProtectFileElement
Description
Specifiesafiletobeprotected.
WindowsInstallerreferencesNone
ParentsFamily
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)ProtectRange(min:0,max:unbounded)
Attributes
Name Type Description RequiredFile String ForeignkeyintotheFiletable. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 321: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/321.jpg)
ProtectRangeElement
Description
Specifiespartofafilethatcannotbeoverwrittenduringpatching.
WindowsInstallerreferencesNone
ParentsExternalFile,ProtectFile,TargetFile
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredLength Int Lengthoftherange. YesOffset Int Offsetofthestartoftherange. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 322: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/322.jpg)
PublishElement
Description
None
WindowsInstallerreferencesControlEventTable
ParentsControl
InnerText(xs:string)TheelementvalueistheoptionalConditionexpression.
ChildrenNone
Attributes
Name Type Description RequiredEvent String Setthisattribute'svaluetooneofthe
standardcontroleventstotriggerthatevent.EitherthisattributeorthePropertyattributemustbeset,butnotbothatthesametime.
Property String Setthisattribute'svaluetoapropertynametosetthatproperty.EitherthisattributeortheEventattributemustbeset,butnotbothatthesametime.
Value String IfthePropertyattributeisspecified,setthevalueofthisattributetothenewvaluefortheproperty.Tosetapropertytonull,donotsetthisattribute(theControlEventArgumentcolumnwillbesetto'{}').Otherwise,thisattribute'svalueshouldbetheargumentfortheeventspecifiedin
![Page 323: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/323.jpg)
theEventattribute.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 324: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/324.jpg)
PublishComponentsElement
Description
ManagestheadvertisementofthecomponentsfromthePublishComponenttable.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 325: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/325.jpg)
PublishFeaturesElement
Description
Writeseachfeature'sstateintothesystemregistry.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 326: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/326.jpg)
PublishProductElement
Description
Managestheadvertisementoftheproductinformationwiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 327: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/327.jpg)
RadioButtonElement
Description
TextorIconplusValuethatisassignedtothePropertyoftheparentControl(RadioButtonGroup).
WindowsInstallerreferencesRadioButtonTable,ControlTable,DialogTable
ParentsRadioButtonGroup
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredBitmap String Thisattributedefinesthe
bitmapdisplayedwiththeradiobutton.ThevalueoftheattributecreatesareferencetoaBinaryelementthatrepresentsthebitmap.ThisattributeismutuallyexclusivewiththeIconandTextattributes.
Height LocalizableInteger YesHelp String Icon String Thisattributedefinestheicon
displayedwiththeradiobutton.ThevalueoftheattributecreatesareferencetoaBinaryelementthat
![Page 328: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/328.jpg)
representstheicon.ThisattributeismutuallyexclusivewiththeBitmapandTextattributes.
Text String Textdisplayedwiththeradiobutton.ThisattributeismutuallyexclusivewiththeBitmapandIconattributes.
ToolTip String Value String Valueassignedtothe
associatedcontrolPropertywhenthisradiobuttonisselected.
Yes
Width LocalizableInteger YesX LocalizableInteger YesY LocalizableInteger Yes
SeeAlsoWixSchema,RadioButtonGroup
Version2.0.4820.0
![Page 329: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/329.jpg)
RadioButtonGroupElement
Description
SetofradiobuttonstiedtothespecifiedProperty
WindowsInstallerreferencesRadioButtonTable,ControlTable,DialogTable
ParentsControl,UI
InnerTextNone
ChildrenSequence(min:1,max:1)
1. RadioButton(min:1,max:unbounded)
Attributes
Name Type Description RequiredProperty String Propertytiedtothisgroup. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 330: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/330.jpg)
RecycleTimeElement
Description
IIS6ApplicationPoolRecycleTimeson24hourclock.
WindowsInstallerreferencesNone
ParentsWebAppPool
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredValue String Pattern:'\d{1,2}:\d{2}'. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 331: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/331.jpg)
RegisterClassInfoElement
Description
ManagestheregistrationofCOMclassinformationwiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 332: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/332.jpg)
RegisterComPlusElement
Description
RegistersCOM+applications.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 333: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/333.jpg)
RegisterExtensionInfoElement
Description
Managestheregistrationofextensionrelatedinformationwiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 334: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/334.jpg)
RegisterFontsElement
Description
Registersinstalledfontswiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 335: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/335.jpg)
RegisterMIMEInfoElement
Description
RegistersMIME-relatedregistryinformationwiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 336: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/336.jpg)
RegisterProductElement
Description
Registerstheproductinformationwiththeinstaller.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 337: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/337.jpg)
RegisterProgIdInfoElement
Description
ManagestheregistrationofOLEProgIdinformationwiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsAdvertiseExecuteSequence,InstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 338: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/338.jpg)
RegisterTypeLibrariesElement
Description
Registerstypelibrarieswiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 339: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/339.jpg)
RegisterUserElement
Description
Registerstheuserinformationwiththeinstallertoidentifytheuserofaproduct.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 340: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/340.jpg)
RegistryElement
Description
Thiselementallowsyoutoaddorremoveregistrykeys(dependinguponthevalueoftheactionattribute).Pleasenotethatforremoval,thereare4options:youcanremoveaparticularregistryname,anentireregistrykeywhentheparentcomponentisinstalled,anentireregistrykeywhentheparentcomponentisuninstalled,orcreateakeywhentheparentcomponentisinstalled,thenremoveitwhentheparentcomponentisuninstalled.
WindowsInstallerreferencesRegistryTable
ParentsComponent,Include,Registry
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)Permission(min:0,max:unbounded)Registry(min:0,max:unbounded)RegistryValue(min:0,max:unbounded)
Attributes
Name Type Description RequiredAction Enumeration Thisistheactionthatwillbetakenfor
thisregistrykey.Thisattribute'svalueshouldbeoneofthefollowing:append
Appendsthespecifiedvalue(s)toamultiStringregistrykey.
createKeyCreatesthekey,ifabsent,when
![Page 341: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/341.jpg)
theparentcomponentisinstalled.
createKeyAndRemoveKeyOnUninstallCreatesthekey,ifabsent,whentheparentcomponentisinstalledthenremovethekeywithallitsvaluesandsubkeyswhentheparentcomponentisuninstalled.
prependPrependsthespecifiedvalue(s)toamultiStringregistrykey.
removeRemovesaregistrynamewhentheparentcomponentininstalled.
removeKeyOnInstallRemovesakeywithallitsvaluesandsubkeyswhentheparentcomponentisinstalled.
removeKeyOnUninstallRemovesakeywithallitsvaluesandsubkeyswhentheparentcomponentisuninstalled.
writeWritesaregistryvalue.
Id String Primarykeyusedtoidentifythisparticularentry.Ifthisattributeisnotspecified,anidentifierwillbegeneratedbyhashingtheparentComponentidentifier,Root,Key,andName.
Key String Thelocalizablekeyfortheregistryvalue.
KeyPath YesNoType Setthisattributeto'yes'tomakethis
![Page 342: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/342.jpg)
registrykeytheKeyPathoftheparentcomponent.Onlyoneresource(registry,file,etc)canbetheKeyPathofacomponent.
Name String Thelocalizableregistryvaluename.Ifthisattributeisnotprovidedthedefaultvaluefortheregistrykeywillbesetinstead.TheWindowsInstallerallowsseveralspecialvaluestobesetforthisattribute.YoushouldnotusetheminWiX.InsteaduseappropriatevaluesintheActionattributetogetthedesiredbehavior.
Root Enumeration Thepredefinedrootkeyfortheregistryvalue.Thisattribute'svalueshouldbeoneofthefollowing:HKMU
Aper-userinstallationwillmaketheoperationoccurunderHKEY_CURRENT_USER.Aper-machineinstallationwillmaketheoperationoccurunderHKEY_LOCAL_MACHINE.
HKCROperationoccursunderHKEY_CLASSES_ROOT.WhenusingWindows2000orlater,theinstallerwritesorremovesthevaluefromtheHKCU\Software\Classeshiveduringper-userinstallations.WhenusingWindows2000orlateroperatingsystems,theinstallerwritesorremovesthevaluefromtheHKLM\Software\Classeshiveduringper-machineinstallations.
![Page 343: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/343.jpg)
HKCUOperationoccursunderHKEY_CURRENT_USER.ItisrecommendedtosettheKeyPath='yes'attributewhensettingthisvalueinordertoensurethattheinstallerwritesthenecessaryregistryentrieswhentherearemultipleusersonthesamecomputer.
HKLMOperationoccursunderHKEY_LOCAL_MACHINE.
HKUOperationoccursunderHKEY_USERS.
Type Enumeration Setthisattributetothetypeofthedesiredregistrykey.ThisattributemustbespecifiedwhenevertheValueattributeorachildRegistryValueelementisspecified.ThisattributeshouldonlybesetwhenthevalueoftheActionattributedoesnotincludetheword'remove'.Thisattribute'svalueshouldbeoneofthefollowing:string
Thevalueisinterpretedandstoredasastring(REG_SZ).
integerThevalueisinterpretedandstoredasaninteger(REG_DWORD).
binaryThevalueisinterpretedandstoredasahexadecimalvalue(REG_BINARY).
![Page 344: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/344.jpg)
expandableThevalueisinterpretedandstoredasanexpandablestring(REG_EXPAND_SZ).
multiStringThevalueisinterpretedandstoredasamultiplestrings(REG_MULTI_SZ).Pleasenotethatthisvaluewillonlyresultinamulti-stringvalueifthereismorethanoneregistryvalueortheActionattribute'svalueis'append'or'prepend'.Otherwiseastringvaluewillbecreated.
Value String Setthisattributetothelocalizableregistryvalue.Thisvalueisformatted.TheWindowsInstallerallowsseveralspecialvaluestobesetforthisattribute.YoushouldnotusetheminWiX.InsteaduseappropriatevaluesintheTypeattributetogetthedesiredbehavior.ThisattributecannotbespecifiediftheActionattribute'svaluecontainstheword'remove'.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 345: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/345.jpg)
RegistrySearchElement
Description
Searchesforfile,directoryorregistrykeyandassignstovalueofparentProperty
WindowsInstallerreferencesRegLocatorTable,SignatureTable
ParentsComplianceCheck,Property
InnerTextNone
ChildrenChoiceofelements(min:0,max:1)DirectorySearch(min:0,max:1)DirectorySearchRef(min:0,max:1)FileSearch(min:0,max:1)FileSearchRef(min:0,max:1)
Attributes
Name Type Description RequiredId String Signaturetobeusedforthefile,
directoryorregistrykeybeingsearchfor.
Yes
Key String Keyfortheregistryvalue. YesName String Registryvaluename. Root Enumeration Rootkeyfortheregistryvalue.This
attribute'svalueshouldbeoneofthefollowing:HKCR
HKCU
Yes
![Page 346: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/346.jpg)
HKLM
HKU
Type Enumeration Thevaluemustbe'file'ifthelastchildisaFileSearchelementandmustbe'directory'iflastchildisaDirectorySearchelement.Thisattribute'svalueshouldbeoneofthefollowing:directory
Setsadirectorypathfromtheregistryvalue.
fileSetsafilepathfromtheregistryvalue.
rawSetstherawvaluefromtheregistryvalue.Pleasenotethatthisvaluewillcontainaprefixasfollows:DWORD:Startswith'#'optionallyfollowedby'+'or'-'.REG_BINARY:Startswith'#x'andtheinstallerconvertsandsaveseachhexadecimaldigit(nibble)asanASCIIcharacterprefixedby'#x'.REG_EXPAND_SZ:Startswith'#%'.REG_MULTI_SZ:Startswith'[~]'andendswith'[~]'.REG_SZ:Noprefix,butifthefirstcharacteroftheregistryvalueis'#',theinstallerescapesthecharacterbyprefixingitwithanother'#'.
Yes
Win64 YesNoType Instructsthesearchtolookinthe
![Page 347: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/347.jpg)
64-bitregistrywhenthevalueis'yes'.Defaultis'no'andsearchlooksinthe32-bitregistry.
SeeAlsoWixSchema,ComponentSearch,IniFileSearch
Version2.0.4820.0
![Page 348: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/348.jpg)
RegistrySearchRefElement
Description
ReferencesanexistingRegistrySearchelement.
WindowsInstallerreferencesNone
ParentsProperty
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String SpecifytheIdoftheRegistrySearchto
reference.Yes
SeeAlsoWixSchema,RegistrySearch
Version2.0.4820.0
![Page 349: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/349.jpg)
RegistryValueElement
Description
UseseveraloftheseelementstospecifyeachregistryvalueinamultiStringregistryvalue.ThiselementcannotbeusediftheValueattributeisspecifiedunlesstheTypeattributeissetto'multiString'.ThevaluesshouldgointhetextareaoftheRegistryValueelement.
WindowsInstallerreferencesRegistryTable
ParentsRegistry
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 350: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/350.jpg)
RemoveDuplicateFilesElement
Description
DeletesfilesinstalledbytheDuplicateFilesaction.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 351: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/351.jpg)
RemoveEnvironmentStringsElement
Description
Modifiesthevaluesofenvironmentvariables.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 352: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/352.jpg)
RemoveExistingProductsElement
Description
GoesthroughtheproductcodeslistedintheActionPropertycolumnoftheUpgradetableandremovestheproductsinsequence.Specialactionsdon'thaveabuilt-insequencenumberandthusmustappearrelativetoanotheraction.ThesuggestedwaytodothisisbyusingtheBeforeorAfterattribute.InstallExecuteandInstallExecuteAgaincanoptionallyappearanywherebetweenInstallInitializeandInstallFinalize.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
![Page 353: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/353.jpg)
Version2.0.4820.0
![Page 354: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/354.jpg)
RemoveFileElement
Description
Removeafile(s)iftheparentcomponentisselectedforinstallationorremoval.MultiplefilescanberemovedbyspecifyingawildcardforthevalueoftheNameattribute.Bydefault,thesourcedirectoryofthefileisthedirectoryoftheparentcomponent.ThiscanbeoverriddenbyspecifyingtheDirectoryattributewithavaluecorrespondingtotheIdofthesourcedirectory,orbyspecifyingthePropertyattributewithavaluecorrespondingtoapropertythatwillhaveavaluethatresolvestothefullpathtothesourcedirectory.
WindowsInstallerreferencesRemoveFileTable
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type DescriptionId String Primarykeyusedtoidentify
thisparticularentry.Directory String Overridesthedirectoryof
theparentcomponentwithaspecificDirectory.ThisDirectorymustexistintheinstallerdatabaseatcreationtime.ThisattributecannotbespecifiedinconjunctionwiththePropertyattribute.
![Page 355: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/355.jpg)
LongNameWildCardLongFileNameType Ifthenameofthefile(s)toberemovedneedtobelongerthan8.3format,thenthisattributeshouldbespecifiedwiththelongfilename(inadditiontotheNameattributewhichisalwaysrequiredfortargetsystemsthatmightnotsupportlongfilenames).Allofthefilesthatmatchthewildcardwillberemovedfromthespecifieddirectory.Thevalueisafilenamethatmayalsocontainthewildcardcharacters"?"foranysinglecharacteror"*"forzeroormoreoccurrencesofanycharacter.
Name WildCardShortFileNameType Thisvalueshouldbesettothelocalizablenameofthefile(s)toberemoved.Allofthefilesthatmatchthewildcardwillberemovedfromthespecifieddirectory.Thevalueisafilenamethatmayalsocontainthewildcardcharacters"?"foranysinglecharacteror"*"forzeroormoreoccurrencesofanycharacter.
On Enumeration Thisvaluedeterminesthetimeatwhichthefile(s)mayberemoved.Thisattribute'svalueshouldbeoneofthefollowing:install
Removesthefileonly
![Page 356: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/356.jpg)
whentheparentcomponentisbeinginstalled(msiInstallStateLocalormsiInstallStateSource).
uninstallRemovesthefileonlywhentheparentcomponentisbeingremoved(msiInstallStateAbsent).
bothRemovesthefilewhentheparentcomponentisbeinginstalledorremoved.
Property String Overridesthedirectoryoftheparentcomponentwiththevalueofthespecifiedproperty.Thepropertyshouldhaveavaluethatresolvestothefullpathofthesourcedirectory.Thepropertydoesnothavetoexistintheinstallerdatabaseatcreationtime;itcouldbecreatedatinstallationtimebyacustomaction,onthecommandline,etc.ThisattributecannotbespecifiedinconjunctionwiththeDirectoryattribute.
SeeAlsoWixSchema,CopyFile
Version2.0.4820.0
![Page 357: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/357.jpg)
RemoveFilesElement
Description
RemovesfilespreviouslyinstalledbytheInstallFilesaction.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 358: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/358.jpg)
RemoveFolderElement
Description
Removeanemptyfolderiftheparentcomponentisselectedforinstallationorremoval.Bydefault,thefolderisthedirectoryoftheparentcomponent.ThiscanbeoverriddenbyspecifyingtheDirectoryattributewithavaluecorrespondingtotheIdofthedirectory,orbyspecifyingthePropertyattributewithavaluecorrespondingtoapropertythatwillhaveavaluethatresolvestothefullpathofthefolder.
WindowsInstallerreferencesRemoveFileTable
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Primarykeyusedtoidentifythis
particularentry.Yes
Directory String OverridesthedirectoryoftheparentcomponentwithaspecificDirectory.ThisDirectorymustexistintheinstallerdatabaseatcreationtime.ThisattributecannotbespecifiedinconjunctionwiththePropertyattribute.
On Enumeration Thisvaluedeterminesthetimeatwhichthefoldermayberemoved.
Yes
![Page 359: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/359.jpg)
Thisattribute'svalueshouldbeoneofthefollowing:install
Removesthefolderonlywhentheparentcomponentisbeinginstalled(msiInstallStateLocalormsiInstallStateSource).
uninstallRemovesthefolderonlywhentheparentcomponentisbeingremoved(msiInstallStateAbsent).
bothRemovesthefolderwhentheparentcomponentisbeinginstalledorremoved.
Property String Overridesthedirectoryoftheparentcomponentwiththevalueofthespecifiedproperty.Thepropertyshouldhaveavaluethatresolvestothefullpathofthesourcedirectory.Thepropertydoesnothavetoexistintheinstallerdatabaseatcreationtime;itcouldbecreatedatinstallationtimebyacustomaction,onthecommandline,etc.ThisattributecannotbespecifiedinconjunctionwiththeDirectoryattribute.
SeeAlsoWixSchema,CreateFolder
Version2.0.4820.0
![Page 360: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/360.jpg)
RemoveFoldersElement
Description
Removesanyfolderslinkedtocomponentssettoberemovedorrunfromsource.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 361: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/361.jpg)
RemoveIniValuesElement
Description
Removes.inifileinformationspecifiedforremovalintheRemoveIniFiletableifthecomponentissettobeinstalledlocallyorrunfromsource.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 362: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/362.jpg)
RemoveODBCElement
Description
Removesthedatasources,translators,anddriverslistedforremovalduringtheinstallation.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 363: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/363.jpg)
RemoveRegistryValuesElement
Description
Removesaregistryvaluethathasbeenauthoredintotheregistrytableiftheassociatedcomponentwasinstalledlocallyorasrunfromsource,andisnowsettobeuninstalled.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 364: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/364.jpg)
RemoveShortcutsElement
Description
Managestheremovalofanadvertisedshortcutwhosefeatureisselectedforuninstallationoranonadvertisedshortcutwhosecomponentisselectedforuninstallation.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 365: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/365.jpg)
ReplacePatchElement
Description
Apatchthatisdeprecatedbythispatch.
WindowsInstallerreferencesNone
ParentsPatchCreation
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId Uuid PatchGUIDtobeunregisteredifit
existsonthemachinetargetedbythispatch.
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 366: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/366.jpg)
ReserveCostElement
Description
Diskcosttoreserveinafolderforrunninglocallyand/orfromsource
WindowsInstallerreferencesReserveCostTable
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesDirectory String DefaultstoDirectoryofparent
Component.
RunFromSource Integer Thenumberofbytesofdiskspacetoreserveifthecomponentisinstalledtorunfromsource.
Yes
RunLocal Integer Thenumberofbytesofdiskspacetoreserveifthecomponentisinstalledtorunlocally.
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 367: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/367.jpg)
ResolveSourceElement
Description
DeterminesthelocationofthesourceandsetstheSourceDirpropertyifthesourcehasnotbeenresolvedyet.Specialactionsdon'thaveabuilt-insequencenumberandthusmustappearrelativetoanotheraction.ThesuggestedwaytodothisisbyusingtheBeforeorAfterattribute.InstallExecuteandInstallExecuteAgaincanoptionallyappearanywherebetweenInstallInitializeandInstallFinalize.
WindowsInstallerreferencesNone
ParentsAdminExecuteSequence,InstallExecuteSequence,InstallUISequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
![Page 368: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/368.jpg)
Version2.0.4820.0
![Page 369: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/369.jpg)
RMCCPSearchElement
Description
Usesfilesignaturestovalidatethatqualifyingproductsareinstalledonasystembeforeanupgradeinstallationisperformed.TheRMCCPSearchactionshouldbeauthoredintotheInstallUISequencetableandInstallExecuteSequencetable.TheinstallerpreventsRMCCPSearchfromrunningintheInstallExecuteSequencesequenceiftheactionhasalreadyruninInstallUISequencesequence.TheRMCCPSearchactionrequirestheCCP_DRIVEpropertytobesettotherootpathontheremovablevolumethathastheinstallationforanyofthequalifyingproducts.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
![Page 370: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/370.jpg)
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema,CCPSearch,ComplianceCheck
Version2.0.4820.0
![Page 371: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/371.jpg)
RowElement
Description
RowdataforaCustomTable
WindowsInstallerreferencesNone
ParentsCustomTable
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Data(min:1,max:unbounded)
AttributesNone
SeeAlsoWixSchema
Version2.0.4820.0
![Page 372: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/372.jpg)
ScheduleRebootElement
Description
Promptstheusertorestartthesystemattheendofinstallation.Specialactionsdon'thaveabuilt-insequencenumberandthusmustappearrelativetoanotheraction.ThesuggestedwaytodothisisbyusingtheBeforeorAfterattribute.InstallExecuteandInstallExecuteAgaincanoptionallyappearanywherebetweenInstallInitializeandInstallFinalize.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Textnodespecifiestheconditionoftheaction.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Thenameofanactionthatthis
actionshouldcomeafter.
Before String Thenameofanactionthatthisactionshouldcomebefore.
Sequence Integer Avalueusedtoindicatethepositionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 373: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/373.jpg)
SelfRegModulesElement
Description
ProcessesallmoduleslistedintheSelfRegtableandregistersallinstalledmoduleswiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 374: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/374.jpg)
SelfUnregModulesElement
Description
UnregistersallmoduleslistedintheSelfRegtablethatarescheduledtobeuninstalled.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 375: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/375.jpg)
ServiceArgumentElement
Description
ArgumentusedinServiceControlparent
WindowsInstallerreferencesServiceControlTable
ParentsServiceControl
SeeAlsoWixSchema
Version2.0.4820.0
![Page 376: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/376.jpg)
ServiceConfigElement
Description
Serviceconfigurationinformationforfailureactions.
WindowsInstallerreferencesNone
ParentsComponent,Include,ServiceInstall
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredFirstFailureActionType Enumeration Actiontotake
onthefirstfailureoftheservice.Thisattribute'svalueshouldbeoneofthefollowing:none
reboot
restart
runCommand
Yes
ProgramCommandLine String Ifanyofthethree*ActionTypeattributesis"runCommand",
![Page 377: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/377.jpg)
thisspecifiesthecommandtorunwhendoingso.
RebootMessage String Ifanyofthethree*ActionTypeattributesis"reboot",thisspecifiesthemessagetobroadcasttoserverusersbeforedoingso.
ResetPeriodInDays Integer Numberofdaysafterwhichtoresetthefailurecounttozeroiftherearenofailures.
RestartServiceDelayInSeconds Integer Ifanyofthethree*ActionTypeattributesis"restart",thisspecifiesthenumberofsecondstowaitbeforedoingso.
SecondFailureActionType Enumeration Actiontotakeonthesecondfailureoftheservice.Thisattribute'svalueshouldbeone
Yes
![Page 378: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/378.jpg)
ofthefollowing:none
reboot
restart
runCommand
ServiceName String RequiredifnotunderaServiceInstallelement.
ThirdFailureActionType Enumeration Actiontotakeonthethirdfailureoftheservice.Thisattribute'svalueshouldbeoneofthefollowing:none
reboot
restart
runCommand
Yes
RemarksNestingaServiceConfigelementunderaServiceInstallelementwillresultintheservicebeinginstalledtobeconfigured.
NestingaServiceConfigelementunderacomponentelementwillresultinanalreadyinstalledservicetobeconfigured.IftheservicedoesnotexistpriortotheinstalloftheMSIpackage,theinstallwillfail.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 379: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/379.jpg)
ServiceControlElement
Description
Starts,stops,andremovesservicesforparentComponent.ThiselementisusedtocontrolthestateofaserviceinstalledbytheMSIorMSMfilebyusingthestart,stopandremoveattributes.Forexample,Start='install'Stop='both'Remove='uninstall'wouldmean:starttheserviceoninstall,removetheservicewhentheproductisuninstalled,andstoptheservicebothoninstallanduninstall.
WindowsInstallerreferencesServiceControlTable
ParentsComponent,Include
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ServiceArgument(min:0,max:unbounded):Orderedlistofargumentsusedwhenmodifyingservices.
Attributes
Name Type Description RequiredId String YesName String Nameoftheservice. YesRemove Enumeration Specifieswhethertheservice
shouldberemovedoninstall,uninstallorboth.Thisattribute'svalueshouldbeoneofthefollowing:install
uninstall
![Page 380: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/380.jpg)
both
Start Enumeration Specifieswhethertheserviceshouldbestartedoninstall,uninstallorboth.Thisattribute'svalueshouldbeoneofthefollowing:install
uninstall
both
Stop Enumeration Specifieswhethertheserviceshouldbestoppedoninstall,uninstallorboth.Thisattribute'svalueshouldbeoneofthefollowing:install
uninstall
both
Wait YesNoType Specifieswhetherornottowaitfortheservicetocompletebeforecontinuing.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 381: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/381.jpg)
ServiceDependencyElement
Description
Serviceorgroupofservicesthatmuststartbeforetheparentservice.
WindowsInstallerreferencesServiceInstallTable
ParentsServiceInstall
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Thevalueofthisattributeshouldbe
oneofthefollowing:1. Thename(notthedisplay
name)ofapreviouslyinstalledservice.
2. AforeignkeyreferringtoanotherServiceInstall/@Id.
3. Agroupofservices(inwhichcasetheGroupattributeshouldbesetto'yes').
Yes
Group YesNoType Setto'yes'toindicatethatthevalueintheIdattributeisthenameofagroupofservices.
SeeAlso
![Page 382: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/382.jpg)
WixSchemaVersion2.0.4820.0
![Page 383: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/383.jpg)
ServiceInstallElement
Description
AddsandremovesservicesforparentComponent.
WindowsInstallerreferencesServiceInstallTable
ParentsComponent,Include
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Permission(min:0,max:unbounded):Permissionsforthisservice.
2. ServiceConfig(min:0,max:1):ServiceConfig:failureactionsforservice
3. ServiceDependency(min:0,max:unbounded):orderedlistofdependencieswheninstallingservices
Attributes
Name Type Description RequiredId String Uniqueidentifierforthis
service.Yes
Account String Theacountunderwhichtostarttheservice.ValidonlywhenServiceTypeisownProcess.
Arguments String Containsanycommandlineargumentsorpropertiesrequiredtoruntheservice.
Description String Setsthedescriptionofthe
![Page 384: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/384.jpg)
service.DisplayName String Thiscolumnisthe
localizablestringthatuserinterfaceprogramsusetoidentifytheservice.
EraseDescription YesNoType Determineswhethertheexistingservicedescriptionwillbeignored.If'yes',theservicedescriptionwillbenull,eveniftheDescriptionattributeisset.
ErrorControl Enumeration Determineswhatactionshouldbetakenonanerror.Thisattribute'svalueshouldbeoneofthefollowing:ignore
normal
critical
Yes
Interactive YesNoType Whetherornottheserviceinteractswiththedesktop.
LoadOrderGroup String Theloadorderinggroupthatthisserviceshouldbeapartof.
Name String Thiscolumnisthestringthatgivestheservicenametoinstall.
Yes
Password String Thepasswordfortheaccount.Validonlywhentheaccounthasapassword.
Start Enumeration Determineswhentheserviceshouldbestarted.TheWindowsInstaller
Yes
![Page 385: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/385.jpg)
doesnotsupportbootorsystem.Thisattribute'svalueshouldbeoneofthefollowing:auto
demand
disabled
boot
system
Type Enumeration TheWindowsInstallerdoesnotcurrentlysupportkernelDriverorsystemDriverThisattribute'svalueshouldbeoneofthefollowing:ownProcess
shareProcess
kernelDriver
systemDriver
Yes
Vital YesNoType Theoverallinstallshouldfailifthisservicefailstoinstall.
RemarksTheserviceexecutableinstalledwillpointtotheKeyPathfortheComponent.Therefore,youmustensurethatthecorrectexecutableiseitherthefirstchildFileelementunderthisComponentorexplicitlymarktheappropriateFileelementasKeyPath='yes'.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 386: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/386.jpg)
SetODBCFoldersElement
Description
ChecksforexistingODBCdriversandsetsthetargetdirectoryforeachnewdrivertothelocationofanexistingdriver.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 387: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/387.jpg)
SFPCatalogElement
Description
Addsasystemfileprotectionupdatecatalogfile
WindowsInstallerreferencesSFPCatalogTable
ParentsFragment,Include,Module,Product,SFPCatalog
InnerText(xs:string)Elementvaluecanbehex-encodedhashvalue
ChildrenChoiceofelements(min:0,max:unbounded)SFPCatalog(min:0,max:unbounded)SFPFile(min:0,max:unbounded):PrimaryKeytoFileTable.
Attributes
Name Type Description RequiredDependency String Usedtodefinedependencyoutside
ofthepackage.
Name String Filenameforcatalogfilewheninstalled.
SourceFile String Pathtocatalogfileinbinary.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 388: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/388.jpg)
SFPFileElement
Description
Providesamany-to-manymappingfromtheSFPCatalogtabletotheFiletable
WindowsInstallerreferencesFileSFPCatalogTable
ParentsSFPCatalog
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String PrimaryKeytoFileTable. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 389: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/389.jpg)
ShortcutElement
Description
Shortcut,defaulttargetisparentFile,CreateFolder,orComponent'sDirectory
WindowsInstallerreferencesShortcutTable
ParentsComponent,CreateFolder,File,Include
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Icon(min:0,max:1)
Attributes
Name Type DescriptionId String Uniqueidentifierforthe
shortcut.Thisvaluewillserveastheprimarykeyfortherow.
Advertise YesNoType Specifiesiftheshortcutshouldbeadvertisedornot.Notethatadvertisedshortcutsalwayspointataparticularapplication,identifiedbyaProductCode,andshouldnotbesharedbetweenapplications.Advertisedshortcuts
![Page 390: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/390.jpg)
onlyworkforthemostrecentlyinstalledapplication,andareremovedwhenthatapplicationisremoved.
Arguments String Thecommand-lineargumentsfortheshortcut.NotethattheresolutionofpropertiesintheArgumentsfieldislimited.Apropertyformattedas[Property]inthisfieldcanonlyberesolvedifthepropertyalreadyhastheintendedvaluewhenthecomponentowningtheshortcutisinstalled.Forexample,fortheargument"[#MyDoc.doc]"toresolvetothecorrectvalue,thesameprocessmustbeinstallingthefileMyDoc.docandthecomponentthatownstheshortcut.
Description String Thelocalizabledescriptionfortheshortcut.
DescriptionResourceDll String TheFormattedstringprovidingthefullpathtothelanguageneutralfilecontainingtheMUIManifest.Generallyauthoredusing[#filekey]form.When
![Page 391: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/391.jpg)
thisattributeisspecified,theDescriptionResourceIdattributemustalsobeprovided.
ThisattributeisonlyusedonWindowsVistaandabove.IfthisattributeisnotspecifiedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisused.IfthisattributeisprovidedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisignored.
DescriptionResourceId Integer Thedescriptionnameindexfortheshortcut.Thismustbeanon-negativenumber.Whenthisattributeisspecified,theDescriptionResourceDllattributemustalsobepopulated.
ThisattributeisonlyusedonWindowsVistaandabove.IfthisattributeisnotspecifiedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisused.Ifthisattributeis
![Page 392: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/392.jpg)
populatedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisignored.
Directory String IdentifierreferencetoDirectoryelementwhereshortcutistobecreated.
DisplayResourceDll String TheFormattedstringprovidingthefullpathtothelanguageneutralfilecontainingtheMUIManifest.Generallyauthoredusing[#filekey]form.Whenthisattributeisspecified,theDisplayResourceIdattributemustalsobeprovided.
ThisattributeisonlyusedonWindowsVistaandabove.IfthisattributeisnotpopulatedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisused.IfthisattributeispopulatedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisignored.
![Page 393: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/393.jpg)
DisplayResourceId Integer Thedisplaynameindexfortheshortcut.Thismustbeanon-negativenumber.Whenthisattributeisspecified,theDisplayResourceDllattributemustalsobeproviced.
ThisattributeisonlyusedonWindowsVistaandabove.IfthisattributeisnotspecifiedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisused.IfthisattributeisspecifiedandtheinstallisrunningonVistaandabove,thevalueintheNameattributeisignored.
Hotkey Integer Thehotkeyfortheshortcut.Thelow-orderbytecontainsthevirtual-keycodeforthekey,andthehigh-orderbytecontainsmodifierflags.Thismustbeanon-negativenumber.Authorsofinstallationpackagesaregenerallyrecommendnottosetthisoption,becausethiscanaddduplicatehotkeystoausers
![Page 394: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/394.jpg)
desktop.Inaddition,thepracticeofassigninghotkeystoshortcutscanbeproblematicforusersusinghotkeysforaccessibility.
Icon String IdentifierreferencetoIconelement.TheIconidentifiershouldhavethesameextensionasthefilethatitpointsat.Forexample,ashortcuttoanexecutable(e.g."my.exe")shouldreferenceanIconwithidentifierlike"MyIcon.exe"
IconIndex Integer IdentifierreferencetoIconelement.
LongName LongFileNameType Localizablelongnameforshortcutifanamelongerthan8.3formatisdesired.
Name ShortFileNameType Localizableshortnamefortheshortcut.Mustbean8.3filename.
Show Enumeration Thisattribute'svalueshouldbeoneofthefollowing:normal
minimized
maximized
Target String Thetargetforanon-Advertisedshortcut.
![Page 395: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/395.jpg)
ThisattributeisnotvalidforAdvertisedshortcuts.ThevaluewillbedefaultedtotheparentFilewhennestedunderaFileelement.Ifyouspecifythisvaluethenuseaformattedfileidentifier,forexample:[!TargetFileId].
WorkingDirectory String Directoryidentifier(orPropertyidentifierthatresolvestoadirectory)thatresolvestothepathoftheworkingdirectoryfortheshortcut.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 396: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/396.jpg)
ShowElement
Description
None
WindowsInstallerreferencesNone
ParentsAdminUISequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredAfter String Before String Dialog String YesOnExit Enumeration mutuallyexclusivewithBefore,
After,andSequenceattributesThisattribute'svalueshouldbeoneofthefollowing:success
cancel
error
suspend
Sequence Integer
SeeAlsoWixSchema
![Page 397: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/397.jpg)
Version2.0.4820.0
![Page 398: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/398.jpg)
SqlDatabaseElement
Description
SQLDatabase
WindowsInstallerreferencesNone
ParentsComponent,Fragment,Include,Module,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)SqlFileSpec(min:0,max:unbounded)SqlLogFileSpec(min:0,max:unbounded)SqlScript(min:0,max:unbounded)SqlString(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String YesConfirmOverwrite YesNoType ContinueOnError YesNoType CreateOnInstall YesNoType CreateOnReinstall YesNoType Specifieswhetherto
createthedatabasewhentheassociatedcomponentisreinstalled.SettingCreateOnInstalltoyesdoesnotimplyCreateOnReinstallissettoyes.CreateOnReinstall
![Page 399: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/399.jpg)
mustbesetinadditiontoCreateOnInstallforittobecreatedduringbothinstallandreinstall.
CreateOnUninstall YesNoType Database String Thenameofthedatabase.
IfthenamedoesnotfollowtheSQLserver"RulesforRegularIdentifiers"(seeMSDN)itmustbesurroundedbyquotesorsquarebrackets.Sincethisvaluecanbeformattedtext,thismeansthatifyouchoosetousesquarebracketsyoumustusetheMSImethodforescapingsquarebrackets,forexample:[\[]blah[\]].
Yes
DropOnInstall YesNoType DropOnReinstall YesNoType Specifieswhethertodrop
thedatabasewhentheassociatedcomponentisreinstalled.SettingDropOnInstalltoyesdoesnotimplyDropOnReinstallissettoyes.DropOnReinstallmustbesetinadditiontoDropOnInstallforittobedroppedduringbothinstallandreinstall.
DropOnUninstall YesNoType Instance String Server String YesUser String
![Page 400: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/400.jpg)
RemarksNestingSqlDatabaseunderaComponentelementwillresultinaSqlDatabasebeinginstalledtothemachineasthepackageisinstalled.
NestingSqlDatabaseunderProduct,Fragment,orModuleresultsinadatabase"locator"recordbeingcreatedintheSqlDatabasetable.ThismeansthatthedatabaseitselfisneitherinstallednoruninstalledbytheMSIpackage.ItdoesmakethedatabaseavailableforreferencingfromaSqlStringorSqlScriptrecord.ThisallowsMSItoinstallSqlScriptsorSqlStringstoalreadyexistingdatabasesonthemachine.Theinstallwillfailifthedatabasedoesnotexistinthesecases.
TheUserattributereferencescridentialsspecifiedinaUserelement.IfauserisnotspecifiedthenWindowsAuthenticationwillbeusedbydefaultusingthecridentialsoftheuserperformingtheinstalltoexecutesqlstrings,etc.
SeeAlsoWixSchema,User
Version2.0.4820.0
![Page 401: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/401.jpg)
SqlFileSpecElement
Description
FilespecificationforaSqldatabase.
WindowsInstallerreferencesNone
ParentsSqlDatabase
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String IDofthefilespecification. YesFilename String Specifiestheoperating-systemfile
nameforthedatabasefile.Yes
GrowthSize String Specifiesthegrowthincrementofthedatabasefile.TheGrowthSizesettingforafilecannotexceedtheMaxSizesetting.
MaxSize String Specifiesthemaximumsizetowhichthedatabasefilecangrow.
Name String Specifiesthelogicalnameforthedatabasefile.
Size String Specifiesthesizeofthedatabasefile.WhenaSizeisnotsuppliedforadatabasefile,SQLServerusesthesizeoftheprimaryfileinthemodeldatabase.
![Page 402: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/402.jpg)
SeeAlsoWixSchema
Version2.0.4820.0
![Page 403: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/403.jpg)
SqlLogFileSpecElement
Description
FilespecificationforaSqldatabase.
WindowsInstallerreferencesNone
ParentsSqlDatabase
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredFilename String Specifiestheoperating-systemfile
nameforthelogfile.
GrowthSize String Specifiesthegrowthincrementofthelogfile.TheGrowthSizesettingforafilecannotexceedtheMaxSizesetting.
Id String IDofthelogfilespecification. MaxSize String Specifiesthemaximumsizeto
whichthelogfilecangrow.
Name String Specifiesthelogicalnameforthelogfile.
Size String Specifiesthesizeofthelogfile.WhenaSizeparameterisnotspecifiedforalogfile,SQLServermakesthefile1MB.
SeeAlso
![Page 404: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/404.jpg)
WixSchemaVersion2.0.4820.0
![Page 405: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/405.jpg)
SqlScriptElement
Description
SQLScript
WindowsInstallerreferencesNone
ParentsComponent,Include,SqlDatabase
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Binary(min:0,max:1)
Attributes
Name Type Description RequiredId String YesBinaryKey String ReferencetoBinary
streamthatcontainstheSQLscripttoexecute.OnlyvalidifnoBinarychildelement.
ContinueOnError YesNoType Continueexecutingscriptsevenifthisonefails.
ExecuteOnInstall YesNoType Specifiestoexecutethescriptwhentheassociatedcomponentisinstalled.
ExecuteOnReinstall YesNoType Specifieswhethertoexecutethescriptwhentheassociated
![Page 406: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/406.jpg)
componentisreinstalled.SettingExecuteOnInstalltoyesdoesnotimplyExecuteOnReinstallissettoyes.ExecuteOnReinstallmustbesetinadditiontoExecuteOnInstallforittobeexecutedduringbothinstallandreinstall.
ExecuteOnReInstall YesNoType Thisattributehasbeendeprecated;pleaseusetheExecuteOnReinstallattributeinstead.
ExecuteOnUninstall YesNoType Specifiestoexecutethescriptwhentheassociatedcomponentisuninstalled.
RollbackOnInstall YesNoType Specifieswhethertoexecutethescriptonrollbackifanattemptismadetoinstalltheassociatedcomponent.
RollbackOnReinstall YesNoType Specifieswhethertoexecutethescriptonrollbackifanattemptismadetoreinstalltheassociatedcomponent.
RollbackOnUninstall YesNoType Specifieswhethertoexecutethescriptonrollbackifanattemptismadetouninstalltheassociatedcomponent.
Sequence Integer SpecifestheordertoruntheSQLScripts.Itisrecommendedthatrollbackscriptsbe
![Page 407: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/407.jpg)
scheduledbeforetheircomplementaryexecutionscript.ThisorderisalsorelativeacrosstheSqlStringelement.
SqlDb String RequiredwhennotchildofSqlDatabase.
User String
SeeAlsoWixSchema
Version2.0.4820.0
![Page 408: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/408.jpg)
SqlStringElement
Description
SQLString
WindowsInstallerreferencesNone
ParentsComponent,Include,SqlDatabase
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesContinueOnError YesNoType Continueexecuting
stringsevenifthisonefails.
ExecuteOnInstall YesNoType Specifiestoexecutethestringwhentheassociatedcomponentisinstalled.
ExecuteOnReinstall YesNoType Specifieswhethertoexecutethestringwhentheassociatedcomponentisreinstalled.SettingExecuteOnInstalltoyesdoesnotimplyExecuteOnReinstallissettoyes.ExecuteOnReinstall
![Page 409: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/409.jpg)
mustbesetinadditiontoExecuteOnInstallforittobeexecutedduringbothinstallandreinstall.
ExecuteOnReInstall YesNoType Thisattributehasbeendeprecated;pleaseusetheExecuteOnReinstallattributeinstead.
ExecuteOnUninstall YesNoType Specifiestoexecutethestringwhentheassociatedcomponentisuninstalled.
RollbackOnInstall YesNoType Specifieswhethertoexecutethestringonrollbackifanattemptismadetoinstalltheassociatedcomponent.
RollbackOnReinstall YesNoType Specifieswhethertoexecutethestringonrollbackifanattemptismadetoreinstalltheassociatedcomponent.
RollbackOnUninstall YesNoType Specifieswhethertoexecutethestringonrollbackifanattemptismadetouninstalltheassociatedcomponent.
Sequence Integer SpecifestheordertoruntheSQLStrings.Itisrecommendedthatrollbackstringsbescheduledbeforetheircomplementaryexecutionstring.ThisorderisalsorelativeacrosstheSqlScriptelement.
![Page 410: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/410.jpg)
SQL String YesSqlDb String User String
SeeAlsoWixSchema
Version2.0.4820.0
![Page 411: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/411.jpg)
StartServicesElement
Description
Startssystemservices.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 412: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/412.jpg)
StopServicesElement
Description
Stopssystemservices.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 413: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/413.jpg)
SubscribeElement
Description
SetsattributesforeventsintheEventMappingtable
WindowsInstallerreferencesEventMappingTable
ParentsControl
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredAttribute String ifnotpresentcanonlyhandleenable,
disable,hide,unhideevents
Event String mustbeoneofthestandardcontrolevents'
SeeAlsoWixSchema
Version2.0.4820.0
![Page 414: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/414.jpg)
SubstitutionElement
Description
Specifiestheconfigurablefieldsofamoduledatabaseandprovidesatemplatefortheconfigurationofeachfield.
WindowsInstallerreferencesNone
ParentsModule
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredColumn String Specifiesthetargetcolumnintherow
namedintheRowcolumn.Yes
Row String SpecifiestheprimarykeysofthetargetrowinthetablenamedintheTablecolumn.Ifmultiplekeys,separatedbysemicolons.
Yes
Table String Specifiesthenameofthetablebeingmodifiedinthemoduledatabase.
Yes
Value String ProvidesaformattingtemplateforthedatabeingsubstitutedintothetargetfieldspecifiedbyTable,Row,andColumn.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 415: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/415.jpg)
SymbolPathElement
Description
Apathtosymbols.
WindowsInstallerreferencesNone
ParentsExternalFile,TargetFile,TargetImage,UpgradeFile,UpgradeImage
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredPath String Thepath. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 416: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/416.jpg)
TargetFileElement
Description
Informationaboutspecificfilesinatargetimage.
WindowsInstallerreferencesNone
ParentsTargetImage
InnerTextNone
ChildrenSequence(min:1,max:1)
1. SymbolPath(min:0,max:1)2. Choiceofelements(min:0,max:unbounded)
IgnoreRange(min:0,max:unbounded)ProtectRange(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String ForeignkeyintotheFiletable. Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 417: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/417.jpg)
TargetImageElement
Description
Containsinformationaboutthetargetimagesoftheproduct.
WindowsInstallerreferencesNone
ParentsUpgradeImage
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)SymbolPath(min:0,max:unbounded)TargetFile(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierforthetarget
image.Yes
IgnoreMissingFiles YesNoType Filesmissingfromthetargetimageareignoredbytheinstaller.
Order Int Relativeorderofthetargetimage.
Yes
SourceFile String Fullpathtothelocationofthemsifileforthetargetimage.
src String Thisattributehasbeendeprecated;pleaseusetheSourceFileattributeinstead.
![Page 418: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/418.jpg)
Validation String Productcheckingtoavoidapplyingirrelevanttransforms.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 419: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/419.jpg)
TargetProductCodeElement
Description
Aproductcodeforaproductthatmayreceivethispatch(or'*'forallproducts).
WindowsInstallerreferencesNone
ParentsPatchCreation
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Theproductcodeforaproductthat
canreceivethispatch(or'*'forallproducts).
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 420: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/420.jpg)
TextElement
Description
AlternativetoTextattributeswhenCDATAisneededtoescapeXMLdelimiters.
WindowsInstallerreferencesNone
ParentsControl,ListItem
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSourceFile String Instructsthetexttobeimportedfrom
afileinsteadoftheelementvalueduringthebindingprocess.
src String Thisattributehasbeendeprecated;pleaseusetheSourceFileattributeinstead.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 421: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/421.jpg)
TextStyleElement
Description
None
WindowsInstallerreferencesTextStyleTable
ParentsUI
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesBlue Integer 0to255 Bold YesNoType FaceName String YesGreen Integer 0to255 Italic YesNoType Red Integer 0to255 Size Integer YesStrike YesNoType Underline YesNoType
SeeAlsoWixSchema
Version2.0.4820.0
![Page 422: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/422.jpg)
TypeLibElement
Description
Registeratypelibrary(TypeLib).Pleasenotethatinordertoproperlyusethisnon-advertised,youwillneedusethiselementwithAdvertise='no'andalsoauthortheappropriatechildInterfaceelementsbyextractingthemfromthetypelibraryitself.
WindowsInstallerreferencesTypeLibTable,RegistryTable
ParentsComponent,File,Include
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)AppId(min:0,max:unbounded)Class(min:0,max:unbounded)Interface(min:0,max:unbounded)
Attributes
Name Type Description RequiredId Uuid TheGUIDthatidentifesthe
typelibrary.Yes
Advertise YesNoType Valueof'yes'willcreatearowintheTypeLibtable.Valueof'no'willcreaterowsintheRegistrytable.
Control YesNoType Valueof'yes'meansthetypelibrarydescribescontrols,andshouldnotbedisplayedintypebrowsersintendedfornonvisualobjects.This
![Page 423: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/423.jpg)
attributecanonlybesetifAdvertise='no'.
Cost Int Thecostassociatedwiththeregistrationofthetypelibraryinbytes.ThisattributecannotbesetifAdvertise='no'.
Description String Thelocalizabledescriptionofthetypelibrary.
HasDiskImage YesNoType Valueof'yes'meansthetypelibraryexistsinapersistedformondisk.ThisattributecanonlybesetifAdvertise='no'.
HelpDirectory String TheidentifieroftheDirectoryelementforthehelpdirectory.
Hidden YesNoType Valueof'yes'meansthetypelibraryshouldnotbedisplayedtousers,althoughitsuseisnotrestricted.Shouldbeusedbycontrols.Hostsshouldcreateanewtypelibrarythatwrapsthecontrolwithextendedproperties.ThisattributecanonlybesetifAdvertise='no'.
Language Integer Thelanguageofthetypelibrary.Thismustbeanon-negativeinteger.
Yes
MajorVersion String Themajorversionofthetypelibrary.Thevalueshouldbeanintegerfrom0-255.
MinorVersion String Theminorversionofthetypelibrary.Thevalueshouldbeanintegerfrom0-255.
ResourceId Integer Theresourceidofatypelib.Thevalueisappendedtotheendofthetypelibpathinthe
![Page 424: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/424.jpg)
registry.
Restricted YesNoType Valueof'yes'meansthetypelibraryisrestricted,andshouldnotbedisplayedtousers.ThisattributecanonlybesetifAdvertise='no'.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 425: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/425.jpg)
UIElement
Description
EnclosingelementtocompartmentalizeUIspecifications.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)BillboardAction(min:0,max:unbounded):BillboardtableitemwithchildControlsBinary(min:0,max:unbounded)ComboBox(min:0,max:unbounded):ComboBoxtablewithListItemchildrenDialog(min:0,max:unbounded):Dialogspecification,calledfromSequenceDialogRef(min:0,max:unbounded):ReferencetoaDialogspecification.Error(min:0,max:unbounded):ErrortextassociatedwithinstallerrorListBox(min:0,max:unbounded):ListBoxtablewithListItemchildrenListView(min:0,max:unbounded):ListViewtablewithListItemchildrenProgressText(min:0,max:unbounded):ActionTextentryassociatedwithanactionProperty(min:0,max:unbounded)RadioButtonGroup(min:0,max:unbounded):RadioButtontablewith
![Page 426: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/426.jpg)
RadioButtonchildrenTextStyle(min:0,max:unbounded):TextStyleentryforuseincontroltextUIText(min:0,max:unbounded):valuesforUITextproperty,notinstallerPropertySequence(min:1,max:1)
1. AdminUISequence(min:0,max:1)2. InstallUISequence(min:0,max:1)
Attributes
Name Type Description RequiredId String
SeeAlsoWixSchema,UIRef
Version2.0.4820.0
![Page 427: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/427.jpg)
UIRefElement
Description
ReferencetoaUIelement.ThiswillforcetheentirereferencedFragment'scontentstobeincludedintheinstallerdatabase.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Yes
SeeAlsoWixSchema,UI
Version2.0.4820.0
![Page 428: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/428.jpg)
UITextElement
Description
Textassociatedwithcertaincontrols
WindowsInstallerreferencesUITextTable
ParentsUI
InnerText(xs:string)Elementvalueistext,mayuseCDATAifneededtoescapeXMLdelimiters
ChildrenNone
Attributes
Name Type Description RequiredId String Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 429: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/429.jpg)
UnpublishComponentsElement
Description
ManagestheunadvertisementofcomponentslistedinthePublishComponenttable.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 430: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/430.jpg)
UnpublishFeaturesElement
Description
Removesselection-stateandfeature-componentmappinginformationfromtheregistry.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 431: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/431.jpg)
UnregisterClassInfoElement
Description
ManagestheremovalofCOMclassinformationfromthesystemregistry.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 432: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/432.jpg)
UnregisterComPlusElement
Description
RemovesCOM+applicationsfromtheregistry.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 433: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/433.jpg)
UnregisterExtensionInfoElement
Description
Managestheremovalofextension-relatedinformationfromthesystemregistry.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 434: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/434.jpg)
UnregisterFontsElement
Description
Removesregistrationinformationaboutinstalledfontsfromthesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 435: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/435.jpg)
UnregisterMIMEInfoElement
Description
UnregistersMIME-relatedregistryinformationfromthesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 436: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/436.jpg)
UnregisterProgIdInfoElement
Description
ManagestheunregistrationofOLEProgIdinformationwiththesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 437: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/437.jpg)
UnregisterTypeLibrariesElement
Description
Unregisterstypelibrariesfromthesystem.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 438: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/438.jpg)
UpgradeElement
Description
UpgradeinfoforaparticularUpgradeCode
WindowsInstallerreferencesUpgradeTable
ParentsFragment,Include,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)Property(min:0,max:unbounded):PropertytableentryfortheActionPropertycolumnassociatedwiththisUpgraderowUpgradeVersion(min:0,max:unbounded)
Attributes
Name Type Description RequiredId Uuid Thisvaluespecifiestheupgradecode
fortheproductsthataretobedetectedbytheFindRelatedProductsaction.
Yes
SeeAlsoWixSchema
Version2.0.4820.0
![Page 439: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/439.jpg)
UpgradeFileElement
Description
Specifiesfilestoeitherignoreortospecifyoptionaldataaboutafile.
WindowsInstallerreferencesNone
ParentsUpgradeImage
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)SymbolPath(min:0,max:unbounded)
Attributes
Name Type Description RequiredAllowIgnoreOnError YesNoType Specifieswhether
patchingthisfileisvital.
File String ForeignkeyintotheFiletable.
Yes
Ignore YesNoType Ifyes,thefileisignoredduringpatching,andthenexttwoattributesareignored.
Yes
WholeFile YesNoType Whetherthewholefileshouldbeinstalled,ratherthancreatingabinarypatch.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 440: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/440.jpg)
UpgradeImageElement
Description
Containsinformationabouttheupgradedimagesoftheproduct.
WindowsInstallerreferencesNone
ParentsFamily
InnerTextNone
ChildrenSequence(min:1,max:1)
1. TargetImage(min:1,max:unbounded)2. Choiceofelements(min:0,max:unbounded)
SymbolPath(min:0,max:unbounded)UpgradeFile(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifiertoconnecttargetimages
withupgradedimage.Yes
SourceFile String Fullpathtolocationofmsifileforupgradedimage.
SourcePatch String Modifiedcopyoftheupgradedinstallationdatabasethatcontainsadditionalauthoringspecifictopatching.
src String Thisattributehasbeendeprecated;pleaseusetheSourceFileattributeinstead.
srcPatch String Thisattributehasbeen
![Page 441: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/441.jpg)
deprecated;pleaseusetheSourcePatchattributeinstead.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 442: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/442.jpg)
UpgradeVersionElement
Description
None
WindowsInstallerreferencesUpgradeTable
ParentsUpgrade
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredExcludeLanguages YesNoType Setto"yes"todetectall
languages,excludingthelanguageslistedintheLanguageattribute.
IgnoreRemoveFailure YesNoType Setto"yes"tocontinueinstallationuponfailuretoremoveaproductorapplication.
IncludeMaximum YesNoType Setto"yes"tomaketherangeofversionsdetectedincludethevaluespecifiedinMaximum.
IncludeMinimum YesNoType Setto"yes"tomaketherangeofversionsdetectedincludethevaluespecifiedin
![Page 443: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/443.jpg)
Minimum.Thisattributeis"yes"bydefault.
Language String SpecifiesthesetoflanguagesdetectedbyFindRelatedProducts.Enteralistofnumericlanguageidentifiers(LANGID)separatedbycommas(,).Leavethisvaluenulltospecifyalllanguages.SetExcludeLanguagesto"yes"inorderdetectalllanguages,excludingthelanguageslistedinthisvalue.
Maximum String SpecifiestheupperboundaryoftherangeofproductversionsdetectedbyFindRelatedProducts.
MigrateFeatures YesNoType Setto"yes"tomigratefeaturestatesfromupgradedproductsbyenablingthelogicintheMigrateFeatureStatesaction.
Minimum String SpecifiesthelowerboundontherangeofproductversionstobedetectedbyFindRelatedProducts.
OnlyDetect YesNoType Setto"yes"todetectproductsandapplicationsbutdonotuninstall.
Property String Whenthe
![Page 444: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/444.jpg)
FindRelatedProductsactiondetectsarelatedproductinstalledonthesystem,itappendstheproductcodetothepropertyspecifiedinthisfield.ThepropertyspecifiedinthisfieldmustbeapublicpropertyandthepackageauthormustaddthepropertytotheSecureCustomPropertiesProperty.EachUpgradeVersionmusthaveauniquePropertyvalue.AfterFindRelatedProductsthevalueofthispropertyisalistproductcodes,separatedbysemicolons(;),detectedonthesystem.
RemoveFeatures String TheinstallersetstheREMOVEpropertytofeaturesspecifiedinthiscolumn.Thefeaturestoberemovedcanbedeterminedatruntime.TheFormattedstringenteredinthisfieldmustevaluatetoacomma-delimitedlistoffeaturenames.Forexample:[Feature1],[Feature2],[Feature3].Nofeaturesareremovedifthefieldcontainsformattedtext
![Page 445: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/445.jpg)
thatevaluatestoanemptystring.TheinstallersetsREMOVE=ALLonlyiftheRemovefieldisempty.
Anyattributenamespace='##other'processContents='lax'
SeeAlsoWixSchema
Version2.0.4820.0
![Page 446: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/446.jpg)
UserElement
Description
Userforallkindsofthings.WhenitisnotnestedunderacomponentitisincludedintheMSIsoitcanbereferencedbyotherelementssuchastheUserattributeintheAppPoolelement.WhenitisnestedunderaComponentelement,theUserwillbecreatedoninstallandcanalsobeusedforreference.
WindowsInstallerreferencesNone
ParentsComponent,Fragment,Include,Module,Product
InnerTextNone
ChildrenSequence(min:1,max:1)
1. GroupRef(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String YesCanNotChangePassword YesNoType CreateUser YesNoType Indicateswhether
ornottocreatetheuser.Usercreationcanbeskippedifallthatisdesiredistojoinausertogroups.
Disabled YesNoType Domain String FailIfExists YesNoType Indicatesifthe
![Page 447: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/447.jpg)
installshouldfailiftheuseralreadyexists.
Name String YesPassword String UsuallyaProperty
thatispassedinonthecommand-linetokeepitmoresecure.
PasswordExpired YesNoType Indicateswhethertheusermustchangetheirpasswordontheirfirstlogin.
PasswordNeverExpires YesNoType RemoveOnUninstall YesNoType Indicateswhether
theuseraccountshouldbeleftbehindonuninstall.
UpdateIfExists YesNoType Indicatesiftheuseraccountpropertiesshouldbeupdatediftheuseralreadyexists.
SeeAlsoWixSchema,Group,GroupRef
Version2.0.4820.0
![Page 448: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/448.jpg)
ValidateProductIDElement
Description
SetstheProductIDpropertytothefullproductidentifier.ThisactionmustbesequencedbeforetheuserinterfacewizardintheInstallUISequencetableandbeforetheRegisterUseractionintheInstallExecuteSequencetable.Iftheproductidentifierhasalreadybeenvalidatedsuccessfully,theValidateProductIDactiondoesnothing.TheValidateProductIDactionalwaysreturnsasuccess,whetherornottheproductidentifierisvalid,sothattheproductidentifiercanbeenteredonthecommandlinethefirsttimetheproductisrun.TheproductidentifiercanbevalidatedwithouthavingtheuserreenterthisinformationbysettingthePIDKEYpropertyonthecommandlineorbyusingatransform.ThedisplayofthedialogboxrequestingtheusertoentertheproductidentifiercanthenbemadeconditionaluponthepresenceoftheProductIDproperty,whichissetwhenthePIDKEYpropertyisvalidated.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence,InstallUISequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
![Page 449: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/449.jpg)
SeeAlsoWixSchema
Version2.0.4820.0
![Page 450: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/450.jpg)
VerbElement
Description
VerbdefinitionforanExtension.Whenadvertised,thiselementcreatesarowintheVerbtable.Whennotadvertised,thiselementcreatestheappropriaterowsinRegistrytable.
WindowsInstallerreferencesVerbTable,RegistryTable
ParentsExtension
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Theverbforthecommand. YesArgument String Valueforthecommandarguments.
NotethattheresolutionofpropertiesintheArgumentfieldislimited.Apropertyformattedas[Property]inthisfieldcanonlyberesolvedifthepropertyalreadyhastheintendedvaluewhenthecomponentowningtheverbisinstalled.Forexample,fortheargument"[#MyDoc.doc]"toresolvetothecorrectvalue,thesameprocessmustbeinstallingthefileMyDoc.docandthecomponentthatownstheverb.
Command String Thelocalizedtextdisplayedonthe
![Page 451: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/451.jpg)
contextmenu.Sequence Integer Thesequenceofthecommands.
OnlyverbsforwhichtheSequenceisspecifiedareusedtoprepareanorderedlistforthedefaultvalueoftheshellkey.TheVerbwiththelowestvalueinthiscolumnbecomesthedefaultverb.UsedonlyforAdvertisedverbs.
Target String Targetfiletobeexecutedfortheverb.ThevalueshouldbeaformattedPropertytorefertotheshortpathtothefile,forexample:[!TargetFileId].Onlyvalidfornon-Advertisedverbs.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 452: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/452.jpg)
WebAddressElement
Description
WebAddressforWebSite
WindowsInstallerreferencesNone
ParentsWebSite
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesHeader String IP String ForIPaddress"AllUnassigned",do
notspecifythisattributeorspecifyitsvalueas"*".
KeyPath YesNoType Port String YesSecure YesNoType
SeeAlsoWixSchema
Version2.0.4820.0
![Page 453: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/453.jpg)
WebApplicationElement
Description
Definespropertiesforawebapplication.Thesepropertiescanbeusedformorethanoneapplicationdefinedinawebsite,directory,orvroot,bydefiningthiselementinacommonlocationandreferringtoitbysettingtheWebApplicationattributeoftheWebSite,WebDir,andWebVirtualDirelements.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product,WebSite,WebVirtualDir
InnerTextNone
ChildrenSequence(min:1,max:1)
1. WebApplicationExtension(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String YesAllowSessions YesNoDefaultType SetstheEnable
SessionStateoption.Whenenabled,youcansetthesessiontimeoutusingtheSessionTimeoutattribute.
Buffer YesNoDefaultType Setstheoptionthatenablesresponsebufferinginthe
![Page 454: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/454.jpg)
application,whichallowsASPscripttosetresponseheadersanywhereinthescript.
ClientDebugging YesNoDefaultType EnableASPclient-sidescriptdebugging.
DefaultScript Enumeration Setsthedefaultscriptlanguageforthesite.Thisattribute'svalueshouldbeoneofthefollowing:VBScript
JScript
Isolation Enumeration Setstheapplicationisolationlevelforthisapplicationforpre-IIS6applications.Thisattribute'svalueshouldbeoneofthefollowing:low
MeanstheapplicationexecuteswithintheIISprocess.
mediumExecutespooledinaseparateprocess.
highMeans
![Page 455: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/455.jpg)
executionaloneinaseparateprocess.
Name String Setsthenameofthisapplication.
Yes
ParentPaths YesNoDefaultType Setstheparentpathsoption,whichallowsaclienttouserelativepathstoreachparentdirectoriesfromthisapplication.
ScriptTimeout Integer SetsthetimeoutvalueforexecutingASPscripts.
ServerDebugging YesNoDefaultType EnableASPserver-sidescriptdebugging.
SessionTimeout Integer Setsthetimeoutvalueforsessionsinminutes.
WebAppPool String ReferencestheIdattributeofaWebAppPoolelementtouseastheapplicationpoolforthisapplicationinIIS6applications.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 456: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/456.jpg)
WebApplicationExtensionElement
Description
ExtensionforWebApplication
WindowsInstallerreferencesNone
ParentsWebApplication
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredCheckPath YesNoType Executable String usuallyaPropertythatresolvesto
shortfilenamepathYes
Extension String Extensionbeingregistered.Donotprefixwitha'.'(e.g.youshoulduse"html",not".html").Toregisterforallextensions,useExtension="*".Toregisterawildcardapplicationmap(whichhandlesallrequests,eventhosefordirectoriesorfileswithnoextension)omittheExtensionattributecompletely.
Script YesNoType Verbs String
SeeAlso
![Page 457: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/457.jpg)
WixSchemaVersion2.0.4820.0
![Page 458: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/458.jpg)
WebAppPoolElement
Description
IIS6ApplicationPool
WindowsInstallerreferencesNone
ParentsComponent,Fragment,Include,Module,Product
InnerTextNone
ChildrenSequence(min:1,max:1)
1. RecycleTime(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String IdoftheAppPool. YesCpuAction Enumeration Actiontakenwhen
CPUexceedsmaximumCPUuse(asdefinedwithMaxCpuUsageandRefreshCpu).Thisattribute'svalueshouldbeoneofthefollowing:none
shutdown
Identity Enumeration IdentityyouwanttheAppPooltorununder.Usethe'other'value
![Page 459: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/459.jpg)
inconjunctionwiththeUserattributetospecifynon-standarduser.Thisattribute'svalueshouldbeoneofthefollowing:networkService
localService
localSystem
other
IdleTimeout Integer Shutdownworkerprocessafterbeingidlefor(timeinminutes).
MaxCpuUsage PercentType MaximumCPUusage(percent).
MaxWorkerProcesses Integer Maximumnumberofworkerprocesses.
Name String NameoftheAppPooltobeshowninIIs.
Yes
PrivateMemory Integer Specifiestheamountofprivatememory(inKB)thataworkerprocesscanusebeforetheworkerprocessrecycles.Themaximumvaluesupportedforthisattributeis4,294,967KB.
QueueLimit Integer Limitthekernelrequestqueue(numberofrequests).
RecycleMinutes Integer Howoften,inminutes,youwantthe
![Page 460: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/460.jpg)
AppPooltoberecycled.
RecycleRequests Integer Howoften,inrequests,youwanttheAppPooltoberecycled.
RefreshCpu Integer RefreshCPUusagenumbers(inminutes).
User String UseraccounttoruntheAppPoolas.Tousethis,youmustsettheIdentityattributeto'other'.
VirtualMemory Integer Specifiestheamountofvirtualmemory(inKB)thataworkerprocesscanusebeforetheworkerprocessrecycles.Themaximumvaluesupportedforthisattributeis4,294,967KB.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 461: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/461.jpg)
WebDirElement
Description
DefinesasubdirectorywithinanIISwebsite.WhenthiselementisachildofWebSite,thewebdirectoryisdefinedwithinthatwebsite.OtherwisethewebdirectorymustreferenceaWebSiteelementviatheWebSiteattribute.
WindowsInstallerreferencesNone
ParentsComponent,Include,WebSite
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesDirProperties String ReferencestheIdattributefora
WebDirPropertieselementthatspecifiesthesecurityandaccesspropertiesforthiswebdirectory.
Yes
Path String Specifiesthenameofthiswebdirectory.
Yes
WebSite String ReferencestheIdattributeforaWebSiteelementinwhichthisdirectorybelongs.RequiredwhenthiselementisnotachildofaWebSiteelement.
SeeAlsoWixSchema
![Page 462: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/462.jpg)
Version2.0.4820.0
![Page 463: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/463.jpg)
WebDirPropertiesElement
Description
WebDirProperitesusedbyoneormoreWebSites.ListspropertiescommontoIISwebsitesandvroots.CorrespondingpropertiescanbeviewedthroughtheIISManagersnap-in.OnepropertyentrycanbereusedbymultiplesitesorvrootsusingtheIdfieldasareference,usingWebVirtualDir.DirProperties,WebSite.DirProperties,orWebDir.DirProperties.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesAccessSSL YesNoType Avalueoftrueindicates
thatfileaccessrequiresSSLfilepermissionprocessing,withorwithoutaclientcertificate.ThiscorrespondstoAccessSSLflagforAccessSSLFlagsIISmetabaseproperty.
AccessSSL128 YesNoType Avalueoftrueindicates
![Page 464: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/464.jpg)
thatfileaccessrequiresSSLfilepermissionprocessingwithaminimumkeysizeof128bits,withorwithoutaclientcertificate.ThiscorrespondstoAccessSSL128flagforAccessSSLFlagsIISmetabaseproperty.
AccessSSLMapCert YesNoType ThiscorrespondstoAccessSSLMapCertflagforAccessSSLFlagsIISmetabaseproperty.
AccessSSLNegotiateCert YesNoType ThiscorrespondstoAccessSSLNegotiateCertflagforAccessSSLFlagsIISmetabaseproperty.
AccessSSLRequireCert YesNoType ThiscorrespondstoAccessSSLRequireCertflagforAccessSSLFlagsIISmetabaseproperty.
AnonymousAccess YesNoType SetstheEnableAnonymousAccesscheckbox,whichmapsanonymoususerstoaWindowsuseraccount.Whensettingthisto'yes'youshouldalsoprovidetheuseraccountusingtheAnonymousUserattribute,anddeterminewhatsettingtousefortheIIsControlledPasswordattribute.Defaultsto'no.'
AnonymousUser String ReferencetotheIdattributeontheUser
![Page 465: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/465.jpg)
elementtobeusedastheanonymoususerforthedirectory.SeetheUserelementformoreinformation.
AspDetailedError YesNoType SetstheoptionforwhethertosenddetailedASPerrorsbacktotheclientonscripterror.Defaultis'no.'
AuthenticationProviders String Commadelimitedlist,inorderofprecedence,ofWindowsauthenticationprovidersthatIISwillattempttouse:NTLM,Kerberos,Negotiate,andothers.
BasicAuthentication YesNoType SetstheBasicAuthenticationoption,whichallowsclientstoprovidecredentialsinplaintextoverthewire.Defaultsto'no.'
CacheControlCustom String CustomHTTP1.1cachecontroldirectives.
CacheControlMaxAge Integer Integervaluespecifyingthecachecontrolmaximumagevalue.
ClearCustomError YesNoType SpecifieswhetherIIswillreturncustomerrorsforthisdirectory.
DefaultDocuments String Thelistofdefaultdocumentstosetforthiswebdirectory,incomma-delimitedformat.
DigestAuthentication YesNoType SetstheDigestAuthenticationoption,
![Page 466: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/466.jpg)
whichallowsusingdigestauthenticationwithdomainuseraccounts.Defaultsto'no.'
Execute YesNoType HttpExpires String Valuetosetthe
HttpExpiresattributetoforaWebDirinthemetabase.
IIsControlledPassword YesNoType SetswhetherIISshouldcontrolthepasswordusedfortheWindowsaccountspecifiedintheAnonymousUserattribute.Defaultsto'no.'
Index YesNoType SetstheIndexResourceoption,whichspecifieswhetherthiswebdirectoryshouldbeindexed.Defaultsto'no.'
LogVisits YesNoType Setswhethervisitstothissiteshouldbelogged.Defaultsto'no.'
PassportAuthentication YesNoType SetsthePassportAuthenticationoption,whichallowsclientstoprovidecredentialsviaa.NetPassportaccount.Defaultsto'no.'
Read YesNoType Script YesNoType WindowsAuthentication YesNoType SetstheWindows
Authenticationoption,whichenablesintegratedWindowsauthenticationtobeusedonthesite.Defaultsto'no.'
![Page 467: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/467.jpg)
Write YesNoType
SeeAlsoWixSchema
Version2.0.4820.0
![Page 468: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/468.jpg)
WebErrorElement
Description
CustomWebErrorsusedbyWebSitesandVirtualDirectories.
WindowsInstallerreferencesNone
ParentsWebSite,WebVirtualDir
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredErrorCode Integer HTTP1.1errorcode. YesFile String Filetobesenttotheclientforthis
errorcodeandsubcode.Thiscanbeformatted.Forexample:[#FileId].
SubCode Integer Errorsubcode.Setto0togetthewildcard"*".
Yes
URL String URLtobesenttotheclientforthiserrorcodeandsubcode.Thiscanbeformatted.
RemarksYoucanonlyuseerrorcodeandsubcodecombinationswhicharesupportedbyIIS.AttemptingtosetacustomerrorforanerrorcodeandsubcodecombinationthatisnotsupportedbyIIS(inthedefaultlistoferrorcodes)willresultinaninstallationfailure.
SeeAlsoWixSchema
![Page 469: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/469.jpg)
Version2.0.4820.0
![Page 470: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/470.jpg)
WebFilterElement
Description
IIsFilterforaComponent
WindowsInstallerreferencesNone
ParentsComponent,Include,WebSite
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String TheuniqueIdforthewebfilter. YesDescription String Descriptionofthefilter. Flags Integer SetstheMD_FILTER_FLAGS
metabasekeyforthefilter.Thismustbeaninteger.SeeMSDN'FilterFlags'documentationformoredetails.
LoadOrder String Allowedvalues:"first","last",number
Name String ThenameofthefiltertobeusedinIIS.
Yes
Path String UsuallyaPropertythatresolvestoshortfilenamepath
Yes
WebSite String RequiredifnotfoundaschildofWebSiteelement
SeeAlso
![Page 471: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/471.jpg)
WixSchemaVersion2.0.4820.0
![Page 472: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/472.jpg)
WebLogElement
Description
WebLogdefinition.
WindowsInstallerreferencesNone
ParentsFragment,Include,Module,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String IdentifierfortheWebLog. YesType Enumeration Thisattribute'svalueshouldbe
oneofthefollowing:IIS
MicrosoftIISLogFileFormat
NCSANCSACommonLogFileFormat
noneDisableslogging.
ODBCODBCLogging
W3CW3CExtendedLogFileFormat
Yes
![Page 473: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/473.jpg)
SeeAlsoWixSchema
Version2.0.4820.0
![Page 474: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/474.jpg)
WebPropertyElement
Description
IISProperties
WindowsInstallerreferencesNone
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId Enumeration Thisattribute'svalueshouldbeone
ofthefollowing:ETagChangeNumber
IIs5IsolationMode
MaxGlobalBandwidth
LogInUTF8
Value String ThevaluetobeusedfortheWebPropertyspecifiedintheIdattribute.SeetheremarkssectionforinformationonacceptablevaluesforeachId.
RemarksHereisanexplanationoftheacceptablevaluesforeachpropertyandtheirmeaning:FortheIdsIIs5IsolationModeandLogInUTF8,novalueshouldbe
![Page 475: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/475.jpg)
specifiedsincethepresenceofthispropertyindicatesthatthesettingshouldbeset.FortheMaxGlobalBandwidthId,thevalueshouldbespecifiedinkilobytes.Thevalueshouldbeabase10number.ETagChangeNumbersetsthemachine-specificportionofETagasanumber.Thisvalue,whensynchronizedacrossserversinawebfarm,allowsthewebfarmtoreturnanidenticalETagforagivenresourceregardlessoftheserverthathandledtherequest.Thevalueshouldbeabase10number.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 476: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/476.jpg)
WebServiceExtensionElement
Description
TheWebServiceExtensionpropertyisusedbytheWebservertodeterminewhetheraWebserviceextensionispermittedtorun.
WindowsInstallerreferencesNone
ParentsComponent,Include
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesAllow YesNoType Indicatesiftheextensionis
allowedordenied.Yes
Description String Descriptionoftheextension. File String UsuallyaPropertythatresolves
toshortfilenamepathYes
Group String Stringusedtoidentifygroupsofextensions.
UIDeletable YesNoType IndicatesiftheUIisallowedtodeletetheextensionfromthelistofnot.Default:Notdeletable.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 477: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/477.jpg)
WebSiteElement
Description
IIsWebSite
WindowsInstallerreferencesNone
ParentsComponent,Fragment,Include,Module,Product
InnerTextNone
ChildrenSequence(min:1,max:1)
1. WebAddress(min:1,max:unbounded)2. WebApplication(min:0,max:1)3. Choiceofelements(min:0,max:unbounded)
CertificateRef(min:0,max:unbounded)HttpHeader(min:0,max:unbounded)WebDir(min:0,max:unbounded)WebError(min:0,max:unbounded)WebFilter(min:0,max:unbounded)WebVirtualDir(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierforthe
WebSite.UsedwithintheMSIpackageonly.
Yes
AutoStart YesNoType Specifieswhethertoautomaticallystartthewebsite.
![Page 478: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/478.jpg)
ConfigureIfExists YesNoType Specifieswhethertoconfigurethewebsiteifitalreadyexists.Note:Thiswillnotaffectuninstallbehavior.Ifthewebsiteexistsonuninstall,itwillberemoved.
ConnectionTimeout NonNegativeInteger Setsthetimeoutvalueforconnectionsinseconds.
Description String ThisisthenameofthewebsitethatwillshowupintheIISmanagementconsole.
Yes
Directory String Rootdirectoryofthewebsite.ResolvedtoadirectoryintheDirectorytableatinstalltimebytheservercustomactions.
DirProperties String ReferencetoWebDirPropertieselement.
Sequence Integer Sequencethatthewebsiteistobecreatedin.
StartOnInstall YesNoType Specifieswhethertostartthewebsiteoninstall.
![Page 479: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/479.jpg)
WebApplication String ReferencetoaWebApplicationthatistobeinstalledaspartofthiswebsite.
WebLog String ReferencetoWebLogdefinition.
RemarksNestingWebSiteunderaComponentelementwillresultinaWebSitebeinginstalledtothemachineasthepackageisinstalled.
NestingWebSiteunderProduct,Fragment,orModuleresultsinawebsite"locator"recordbeingcreatedintheIIsWebSitetable.ThismeansthatthewebsiteitselfisneitherinstallednoruninstalledbytheMSIpackage.ItdoesmakethedatabaseavailableforreferencingfromaWebApplication,WebVirtualDirorWebDirrecord.ThisallowsanMSItoinstallWebApplications,WebVirtualDirsorWebDirstoalreadyexistingwebsitesonthemachine.Theinstallwillfailifthewebsitedoesnotexistinthesecases.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 480: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/480.jpg)
WebVirtualDirElement
Description
DefinesanIISvirtualdirectory.WhenthiselementisachildofWebSiteelement,thevirtualdirectoryisdefinedwithinthatwebsite.OtherwisethisvirtualdirectorymustreferenceaWebSiteelementviatheWebSiteattribute
WindowsInstallerreferencesNone
ParentsComponent,Include,WebSite,WebVirtualDir
InnerTextNone
ChildrenSequence(min:1,max:1)
1. WebApplication(min:0,max:1)2. WebError(min:0,max:unbounded)3. WebVirtualDir(min:0,max:unbounded)4. HttpHeader(min:0,max:unbounded)5. MimeMap(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String YesAlias String Setstheapplicationname,which
istheURLrelativepathusedtoaccessthisvirtualdirectory
Yes
Directory String ReferencestheIdattributeforaDirectoryelementthatpointstothecontentforthisvirtualdirectory.
Yes
![Page 481: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/481.jpg)
DirProperties String ReferencestheIdattributeforaWebDirPropertieselementthatspecifiesthesecurityandaccesspropertiesforthisvirtualdirectory.
WebApplication String ReferencestheIdattributeforaWebApplicationelementthatspecifieswebapplicationsettingsforthisvirtualdirectory.IfaWebApplicationchildisnotspecified,thevirtualdirectorydoesnothostwebapplications.
WebSite String ReferencestheIdattributeforaWebSiteinwhichthisvirtualdirectorybelongs.RequiredwhenthiselementisnotachildofWebSiteelement.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 482: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/482.jpg)
WixElement
Description
Thisisthetop-levelcontainerelementforeverywxsfile.Amongstthepossiblechildren,theProduct,Module,andPatchCreationelementsareanalogoustothemainfunctioninaCprogram.Therecanonlybeoneofthesepresentwhenlinkingoccurs.Productcompilesintoanmsifile,Modulecompilesintoanmsmfile,PatchCreationcompilesintoapcpfile.TheFragmentelementisanatomicunitwhichultimatelylinksintoeitheraProduct,Module,orPatchCreation.TheFragmentcaneitherbecompletelyincludedorexcludedduringlinking.
WindowsInstallerreferencesNone
ParentsNone
InnerTextNone
ChildrenChoiceofelements(min:0,max:1)PatchCreation(min:0,max:1)Sequence(min:1,max:1)
1. Choiceofelements(min:0,max:1)Module(min:0,max:1)Product(min:0,max:1)
2. Fragment(min:0,max:unbounded)
Attributes
Name Type Description RequiredRequiredVersion VersionType Requiredversionofthe
WiXtoolsettocompilethisinputfile.
![Page 483: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/483.jpg)
SeeAlsoWixSchema
Version2.0.4820.0
![Page 484: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/484.jpg)
WriteEnvironmentStringsElement
Description
Modifiesthevaluesofenvironmentvariables.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 485: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/485.jpg)
WriteIniValuesElement
Description
Writesthe.inifileinformationthattheapplicationneedswrittentoits.inifiles.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 486: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/486.jpg)
WriteRegistryValuesElement
Description
Setsupanapplication'sregistryinformation.Theconditionforthisactionmaybespecifiedintheelement'sinnertext.
WindowsInstallerreferencesNone
ParentsInstallExecuteSequence
InnerText(xs:string)Thiselementmayhaveinnertext.
ChildrenNone
Attributes
Name Type Description RequiredSequence Integer Avalueusedtoindicatethe
positionofthisactioninasequence.
Suppress YesNoType Ifyes,thisactionwillnotoccur.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 487: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/487.jpg)
XmlFileElement
Description
Addsorremoves.xmlfileentries.IfyouusetheXmlFileelementyoumustlinkwithwixca.wixlibbecauseitrequirestheXmlFilecustomactions.
WindowsInstallerreferencesNone
ParentsComponent
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierforxmlfile
modification.Yes
Action Enumeration ThetypeofmodificationtobemadetotheXMLfilewhenthecomponentisinstalled.Thisattribute'svalueshouldbeoneofthefollowing:createElement
CreatesanewelementundertheelementspecifiedinElementPath.TheNameattributeisrequiredinthiscaseandspecifiesthename
Yes
![Page 488: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/488.jpg)
ofthenewelement.TheValueattributeisnotnecessarywhencreateElementisspecifiedastheaction.IftheValueattributeisset,itwillcausethenewelement'stextvaluetobeset.
deleteValueDeletesavaluefromtheelementspecifiedintheElementPath.IfNameisspecified,theattributewiththatnameisdeleted.IfNameisnotspecified,thetextvalueoftheelementspecifiedintheElementPathisdeleted.TheValueattributeisignoredifdeleteValueistheactionspecified.
setValueSetsavalueintheelementspecifiedintheElementPath.IfNameisspecified,andattributewiththatnameissettothevaluespecifiedinValue.IfNameisnotspecified,thetextvalueoftheelementisset.ValueisarequiredattributeifsetValueistheactionspecified.
CreateElement YesNoType Specifieswhetherornotto
![Page 489: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/489.jpg)
createanElementwiththenamespecifiedintheNameattribute.
ElementPath String TheXPathoftheelementtobemodified.Notethatthisisaformattedfieldandtherefore,squarebracketsintheXPathmustbeescapted.
Yes
File String Pathofthe.xmlfiletoconfigure.
Yes
Name String NameofXMLnodetoset/addtothespecifiedelement.Notsettingthisattributecausestheelement'stextvaluetobeset.Otherwisethisspecifiedtheattributenamethatisset.
Permanent YesNoType Specifieswhetherornotthemodificationshouldberemovedonuninstall.ThishasnoeffectonuninstalliftheactionwasdeleteValue.
Sequence Integer SpecifiestheorderinwhichthemodificationistobeattemptedontheXMLfile.Itisimportanttoensurethatnewelementsarecreatedbeforeyouattempttoaddanattributetothem.
Value String Thevaluetobewritten.
SeeAlsoWixSchema
Version2.0.4820.0
![Page 490: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/490.jpg)
MmcSchema
Copyright(c)MicrosoftCorporation.Allrightsreserved.TheuseanddistributiontermsforthissoftwarearecoveredbytheCommonPublicLicense1.0(http://opensource.org/licenses/cpl.php)whichcanbefoundinthefileCPL.TXTattherootofthisdistribution.Byusingthissoftwareinanyfashion,youareagreeingtobeboundbythetermsofthislicense.Youmustnotremovethisnotice,oranyother,fromthissoftware.
ThesourcecodeschemafortheWindowsInstallerXMLToolsetMMCExtension.
TargetNamespacehttp://schemas.microsoft.com/wix/MmcExtension
AllElementsExtendedNodeTypePublishedNodeTypeResourcesSnapIn
![Page 491: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/491.jpg)
ExtendedNodeTypeElement
Description
Publishednodetypethatisextendedbythissnap-in.
WindowsInstallerreferencesNone
ParentsSnapIn
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId Uuid Theguidrepresentingtheextended
node.Yes
Description String Thedescriptionoftheextension.
SeeAlsoMmcSchema
Version2.0.4820.0
![Page 492: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/492.jpg)
PublishedNodeTypeElement
Description
Publishednodetypethatcanbeextendedbyextensionsnap-ins.
WindowsInstallerreferencesNone
ParentsSnapIn
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId Uuid Theguidrepresentingtheextensible
node.Yes
Description String Thedescriptionoftheextensiblenode.
SeeAlsoMmcSchema
Version2.0.4820.0
![Page 493: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/493.jpg)
ResourcesElement
Description
Elementdescribingthelocalizedresourcesforthissnap-in.
WindowsInstallerreferencesNone
ParentsSnapIn
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredDescriptionId Integer TheresourceIDfor
thedescriptionofthesnap-inintheresourcesDLL.
DisplayNameId Integer TheresourceIDforthedisplaynameofthesnap-inintheresourcesDLL.
DllName String ThenameoftheDLLcontainingtheembeddedresourcesforthissnap-in.
Yes
FolderBitmapsColorMask Integer Thecolormaskfortransparencyinfolderbitmaps.
![Page 494: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/494.jpg)
IconId Integer TheresourceIDfortheiconofthesnap-inintheresourcesDLL.UsedfortheiconofasavedMSCfile,andtheiconinthetopleftoftheMMCwindow,notforthesnap-inselectiondialog.
LargeFolderBitmapId Integer TheresourceIDforthelargefolderbitmapofthesnap-inintheresourcesDLL.Usedforthesnap-inselectiondialogwhenAdd/RemoveSnap-insischosen.
SmallFolderBitmapId Integer TheresourceIDforthesmallfolderbitmapofthesnap-inintheresourcesDLL.Usedforthesnap-inselectiondialogwhenAdd/RemoveSnap-insischosen.
SmallFolderSelectedBitmapId Integer TheresourceIDforthesmallselectedfolderbitmapofthesnap-inintheresourcesDLL.Usedforthesnap-inselectiondialog
![Page 495: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/495.jpg)
whenAdd/RemoveSnap-insischosen.
VendorId Integer TheresourceIDforthevendorofthesnap-inintheresourcesDLL.
VersionId Integer TheresourceIDfortheversionofthesnap-inintheresourcesDLL.
SeeAlsoMmcSchema
Version2.0.4820.0
![Page 496: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/496.jpg)
SnapInElement
Description
AmanagedMMCsnap-in,withoptionalpublishedextendiblenodes.
WindowsInstallerreferencesNone
ParentsFile
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)ExtendedNodeType(min:0,max:unbounded):Nodetypeofanothersnap-inthatisextendedbythissnap-in.PublishedNodeType(min:0,max:unbounded):Publishednodetypesthatcanbeextendedbyextensionsnap-ins.Resources(min:0,max:unbounded):Elementdescribingthelocalizedresourcesforthissnap-in.
Attributes
Name Type Description RequiredId Uuid Theguid
representingthesnap-in'sidentity.
Yes
About Uuid Theguidrepresentingthesnap-in'shelptopic.Defaultsto{00000000-0000-0000-0000-000000000000}.
AssemblyName String Thenameofthe
![Page 497: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/497.jpg)
assemblyinwhichthesnap-inisdefined.
ClassType String Thefully-qualifiedtypenameofthesnap-in.
Yes
DefaultCulture String Thecultureofthesnap-inassembly.Defaultstoneutral.
DefaultPublicKeyToken String Thepublickeytokenofthesnap-in.Defaultstonull.
DefaultVersion String Theversionofthesnap-inassembly.Defaultsto1.0.0.0.
Description String Thedescriptionofthesnap-in,whichwillbeshowntousersintheAdd/Removesnap-indialog.
ExtensionType Enumeration Specifiesthetypeoftheextension.Thisattribute'svalueshouldbeoneofthefollowing:ContextMenu
NameSpace
PropertySheet
Task
ToolBar
View
MmcVersion String TheversionofMMCthatthissnap-inwas
![Page 498: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/498.jpg)
compiledto.Defaultsto3.0.0.0.
Name String Thenameofthesnap-inasshowntousersintheAdd/Removesnap-indialog.
Yes
Provider String Theproviderofthesnap-inasshowntousersintheAdd/Removesnap-indialog.
RuntimeVersion String TheversionoftheCLRthatthissnap-inwascompiledto.Defaultsto2.0.50727.
SeeAlsoMmcSchema
Version2.0.4820.0
![Page 499: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/499.jpg)
NetfxSchema
Copyright(c)MicrosoftCorporation.Allrightsreserved.TheuseanddistributiontermsforthissoftwarearecoveredbytheCommonPublicLicense1.0(http://opensource.org/licenses/cpl.php)whichcanbefoundinthefileCPL.TXTattherootofthisdistribution.Byusingthissoftwareinanyfashion,youareagreeingtobeboundbythetermsofthislicense.Youmustnotremovethisnotice,oranyother,fromthissoftware.
ThesourcecodeschemafortheWindowsInstallerXMLToolset.NETFrameworkExtension.
TargetNamespacehttp://schemas.microsoft.com/wix/NetFxExtension
AllElementsNativeImage
![Page 500: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/500.jpg)
NativeImageElement
Description
Improvestheperformanceofmanagedapplicationsbycreatingnativeimages.Requiresthe.NETFramework2.0tobeinstalledonthetargetmachinesinceitrunsNGen.
WindowsInstallerreferencesNone
ParentsFile
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Theidentifierforthis
NativeImage.Yes
AppBaseDirectory String Theidentifierofthedirectorytouseforlocatingdependentassemblies.ForDLLassembliesandassembliesinstalledtotheGAC,thisattributeshouldbesettothedirectoryoftheapplicationwhichloadsthisassembly.ForEXEassemblies,thisattributedoesnotneedtobesetbecauseNGenwillusethedirectoryoftheassemblyfilebydefault.
![Page 501: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/501.jpg)
AssemblyApplication String Theidentifieroftheapplicationwhichwillloadthisassembly.ForDLLassemblieswhichareloadedviareflection,thisattributeshouldbesettoindicatetheapplicationwhichwillloadthisassembly.Theconfigurationoftheapplication(usuallyspecifiedviaanexe.configfile)willbeusedtodeterminehowtoresolvedependenciesforthisassembly.Whenasharedcomponentisloadedatruntime,usingtheLoadmethod,theapplication'sconfigurationfiledeterminesthedependenciesthatareloadedforthesharedcomponent—forexample,theversionofadependencythatisloaded.Thisattributegivesguidanceonwhichdependencieswouldbeloadedatruntimeinordertofigureoutwhichdependencyassemblieswillalsoneedtohavenativeimagesgenerated(assumingtheDependencyattributeisnotsetto"no").ThisattributecannotbesetiftheAssemblyApplication
![Page 502: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/502.jpg)
attributeissetontheparentFileelement(pleasenotethattheseattributesbothrefertothesameapplicationassemblybutdoverydifferentthings:specifiyingFile/@AssemblyApplicationwillforceanassemblytoinstalltoaprivatelocationnexttotheindicatedapplication,whereasthisAssemblyApplicationattributewillbeusedtohelpresolvedependentassemblieswhilegeneratingnativeimagesforthisassembly).
Debug YesNoType Setto"yes"togeneratenativeimagesthatcanbeusedunderadebugger.Thedefaultvalueis"no".
Dependencies YesNoType Setto"no"togeneratetheminimumnumberofnativeimages.Thedefaultvalueis"yes".
Platform Enumeration Setstheplatform(s)forwhichnativeimageswillbegenerated.Thisattribute'svalueshouldbeoneofthefollowing:32bit
Generatenativeimagesonlyforthe32-bitversionofthe.NETFrameworkonthetargetmachine.Thisisthedefault
![Page 503: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/503.jpg)
value.
64bitGeneratenativeimagesonlyfortheia64orx86versionofthe.NETFrameworkonthetargetmachine.Ifno64-bit.NETFrameworkisavailableonthetargetmachine,attemptingtogeneratenativeimageswillfail.
allGeneratenativeimagesforallplatformsofthe.NETFrameworkavailableonthetargetmachine.
Priority Enumeration Setsthepriorityofgeneratingthenativeimagesforthisassembly.Thisattribute'svalueshouldbeoneofthefollowing:0
Thisisthehighestpriority,itmeansthatimagegenerationoccurssyncronouslyduringthesetupprocess.Thisoptionwillslowdownsetupperformance.
1Thiswillqueueimage
![Page 504: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/504.jpg)
generationtotheNGenservicetooccurimmediately.Thisoptionwillslowdownsetupperformance.
2ThiswillqueueimagegenerationtotheNGenservicetooccurafterallpriority1assemblieshavecompleted.Thisoptionwillslowdownsetupperformance.
3Thisisthelowestpriority,itwillqueueimagegenerationtooccurwhenthemachineisidle.Thisoptionshouldnotslowdownsetupperformance.Thisisthedefaultvalue.
Profile YesNoType Setto"yes"togeneratenativeimagesthatcanbeusedunderaprofiler.Thedefaultvalueis"no".
RemarksNativeimagesarefilescontainingcompiledprocessor-specificmachinecode,whichareinstalledintothenativeimagecacheonthelocalcomputer.Theruntimecanusenativeimagesfromthecacheinsteadusingthejust-in-time(JIT)compilertocompiletheoriginalassembly.
SeeAlsoNetfxSchema
![Page 505: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/505.jpg)
Version2.0.4820.0
![Page 506: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/506.jpg)
VsSchema
Copyright(c)MicrosoftCorporation.Allrightsreserved.TheuseanddistributiontermsforthissoftwarearecoveredbytheCommonPublicLicense1.0(http://opensource.org/licenses/cpl.php)whichcanbefoundinthefileCPL.TXTattherootofthisdistribution.Byusingthissoftwareinanyfashion,youareagreeingtobeboundbythetermsofthislicense.Youmustnotremovethisnotice,oranyother,fromthissoftware.
ThesourcecodeschemafortheWindowsInstallerXMLToolsetVisualStudioExtension.
TargetNamespacehttp://schemas.microsoft.com/wix/VSExtension
AllElementsHelpCollectionHelpCollectionRefHelpFileHelpFileRefHelpFilterHelpFilterRefPlugCollectionInto
![Page 507: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/507.jpg)
HelpCollectionElement
Description
HelpNamespaceforahelpcollection.TheparentfileisthekeyfortheHxC(Collection)file.
WindowsInstallerreferencesNone
ParentsFile
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)HelpFileRef(min:0,max:unbounded)HelpFilterRef(min:0,max:unbounded)PlugCollectionInto(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String PrimaryKeyforHelpNamespace. YesDescription String FriendlynameforNamespace. Name String InternalMicrosoftHelpIDforthis
Namespace.Yes
SeeAlsoVsSchema
Version2.0.4820.0
![Page 508: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/508.jpg)
HelpCollectionRefElement
Description
CreateareferencetoaHelpCollectionelementinanotherFragment.
WindowsInstallerreferencesNone
ParentsFragment,Product
InnerTextNone
ChildrenChoiceofelements(min:0,max:unbounded)HelpFileRef(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String PrimaryKeyforHelpNamespace
Table.Yes
SeeAlsoVsSchema
Version2.0.4820.0
![Page 509: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/509.jpg)
HelpFileElement
Description
FileforHelpNamespace.TheparentfileisthekeyforHxS(Title)file.
WindowsInstallerreferencesNone
ParentsFile
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String PrimaryKeyforHelpFileTable. YesAttributeIndex String KeyforHxR(Attributes)file. Index String KeyforHxI(Index)file. Language Integer LanguageIDforcontentfile. Name String InternalMicrosoftHelpIDfor
thisHelpFile.Yes
SampleLocation String Keyforafilethatisinthe"root"ofthesamplesdirectoryforthisHelpFile.
Search String KeyforHxQ(Query)file.
SeeAlsoVsSchema
Version2.0.4820.0
![Page 510: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/510.jpg)
HelpFileRefElement
Description
CreateareferencetoaHelpFileelementinanotherFragment.
WindowsInstallerreferencesNone
ParentsHelpCollection,HelpCollectionRef
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String PrimaryKeyforHelpFileTable. Yes
SeeAlsoVsSchema
Version2.0.4820.0
![Page 511: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/511.jpg)
HelpFilterElement
Description
FilterforHelpNamespace.
WindowsInstallerreferencesNone
ParentsFragment,Product
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String PrimaryKeyforHelpFilter. YesFilterDefinition String QueryStringforHelpFilter. Name String FriendlynameforFilter. Yes
SeeAlsoVsSchema
Version2.0.4820.0
![Page 512: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/512.jpg)
HelpFilterRefElement
Description
CreateareferencetoaHelpFileelementinanotherFragment.
WindowsInstallerreferencesNone
ParentsHelpCollection
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String PrimaryKeyforHelpFilter. Yes
SeeAlsoVsSchema
Version2.0.4820.0
![Page 513: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/513.jpg)
PlugCollectionIntoElement
Description
PluginforHelpNamespace.
WindowsInstallerreferencesNone
ParentsHelpCollection
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredAttributes String KeyforHxA(Attributes)
fileofchildnamespace.
TableOfContents String KeyforHxTfileofchildnamespace.
TargetCollection String ForiegnKeyintoHelpNamespacetablefortheparentnamespaceintowhichthechildwillbeinserted.
Yes
TargetTableOfContents String KeyforHxTfileofparentnamespacethatnowincludesthenewchildnamespace.
SeeAlsoVsSchema
Version2.0.4820.0
![Page 514: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/514.jpg)
PubcaSchema
Copyright(c)MicrosoftCorporation.Allrightsreserved.
TheuseanddistributiontermsforthissoftwarearecoveredbytheCommonPublicLicense1.0(http://opensource.org/licenses/cpl.php)whichcanbefoundinthefileCPL.TXTattherootofthisdistribution.Byusingthissoftwareinanyfashion,youareagreeingtobeboundbythetermsofthislicense.
Youmustnotremovethisnotice,oranyother,fromthissoftware.
SchemafordescribingstandardactionsintheWindowsInstaller.
RootElementsComPlusPartitionMessageQueue
TargetNamespacehttp://schemas.microsoft.com/wix/2005/02/pubca
DocumentShouldLookLike<?xmlversion="1.0"?><ComPlusPartitionxmlns="http://schemas.microsoft.com/wix/2005/02/pubca">...</ComPlusPartition><?xmlversion="1.0"?><MessageQueuexmlns="http://schemas.microsoft.com/wix/2005/02/pubca">...</MessageQueue>
AllElements
![Page 515: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/515.jpg)
ComPlusApplicationComPlusApplicationRoleComPlusAssemblyComPlusAssemblyDependencyComPlusComponentComPlusGroupInApplicationRoleComPlusGroupInPartitionRoleComPlusInterfaceComPlusMethodComPlusPartitionComPlusPartitionRoleComPlusPartitionUserComPlusRoleForComponentComPlusRoleForInterfaceComPlusRoleForMethodComPlusSubscriptionComPlusUserInApplicationRoleComPlusUserInPartitionRoleMessageQueueMessageQueuePermission
![Page 516: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/516.jpg)
ComPlusApplicationElement
Description
DefinesaCOM+application.IfthiselementisadescendentofaComponentelement,theapplicationwillbecreatedinassociationwiththiscomponent.IftheelementisachildofanyoftheFragment,ModuleorProductelementsitisconsideredtobealocater,referencinganexistingapplication.
IftheelementisachildofaComPlusPartitionelement,orhaveitsPartitionattributeset,theapplicationwillbeinstalledunderthereferencedpartition.
WindowsInstallerreferencesNone
ParentsComPlusPartition
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)ComPlusApplicationRole(min:0,max:unbounded)ComPlusAssembly(min:0,max:unbounded)
Attributes
Name Type DescriptionId String Identifierfortheelement.AccessChecksLevel Enumeration Thisattribute'svalue
shouldbeoneofthefollowing:applicationLevel
applicationComponentLevel
![Page 517: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/517.jpg)
Activation Enumeration Thisattribute'svalueshouldbeoneofthefollowing:inproc
local
ApplicationAccessChecksEnabled YesNoType ApplicationDirectory String ApplicationId String Idfortheapplication.This
attributecanbeomitted,inwhichcaseanidwillbegeneratedoninstall.Iftheelementisalocater,thisattributecanbeomittedifavalueisprovidedfortheNameattribute.
Authentication Enumeration Thisattribute'svalueshouldbeoneofthefollowing:default
none
connect
call
packet
integrity
privacy
AuthenticationCapability Enumeration Thisattribute'svalueshouldbeoneofthefollowing:none
secureReference
staticCloaking
![Page 518: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/518.jpg)
dynamicCloaking
Changeable YesNoType CommandLine String ConcurrentApps Int CreatedBy String CRMEnabled YesNoType CRMLogFile String Deleteable YesNoType Description String DumpEnabled YesNoType DumpOnException YesNoType DumpOnFailfast YesNoType DumpPath String EventsEnabled YesNoType Identity String ImpersonationLevel Enumeration Thisattribute'svalue
shouldbeoneofthefollowing:anonymous
identify
impersonate
delegate
IsEnabled YesNoType MaxDumpCount Int Name String Nameoftheapplication.
Thisattributecanbeomittediftheelementisalocater,andavalueisprovidedforthePartitionIdattribute.
Partition String IftheelementisnotachildofaComPlusPartition
![Page 519: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/519.jpg)
element,thisattributecanbeprovidedwiththeidofaComPlusPartitionelementrepresentingthepartitiontheapplicationbelongsto.
Password String QCAuthenticateMsgs Enumeration Thisattribute'svalue
shouldbeoneofthefollowing:secureApps
off
on
QCListenerMaxThreads Int QueueListenerEnabled YesNoType QueuingEnabled YesNoType RecycleActivationLimit Int RecycleCallLimit Int RecycleExpirationTimeout Int RecycleLifetimeLimit Int RecycleMemoryLimit Int Replicable YesNoType RunForever YesNoType ShutdownAfter Int SoapActivated YesNoType SoapBaseUrl String SoapMailTo String SoapVRoot String SRPEnabled YesNoType SRPTrustLevel Enumeration Thisattribute'svalue
shouldbeoneofthefollowing:disallowed
![Page 520: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/520.jpg)
fullyTrusted
ThreeGigSupportEnabled String
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 521: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/521.jpg)
ComPlusApplicationRoleElement
Description
Definesanapplicationrole.IfthiselementisadescendentofaComponentelement,theapplicationrolewillbecreatedinassociationwiththiscomponent.IftheelementisachildofanyoftheFragment,ModuleorProductelementsitisconsideredtobealocater,referencinganexistingapplicationrole.
WindowsInstallerreferencesNone
ParentsComPlusApplication
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)ComPlusGroupInApplicationRole(min:0,max:unbounded)ComPlusUserInApplicationRole(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesApplication String Iftheelementisnotachildofa
ComPlusApplicationelement,thisattributeshouldbeprovidedwiththeidofaComPlusApplicationelementrepresentingtheapplicationtherolebelongsto.
Description String Name String Nameoftheapplicationrole. Yes
![Page 522: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/522.jpg)
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 523: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/523.jpg)
ComPlusAssemblyElement
Description
RepresentsaDLLorassemblytoberegisteredwithCOM+.IfthiselementisachildofaComPlusApplicationelement,theassemblywillberegisteredinthisapplication.OtherwaystheApplicationattributemustbesettoanapplication.TheelementmustbeadescendentofaComponentelement,itcannotbeachildofaComPlusApplicationlocatorelement.
WindowsInstallerreferencesNone
ParentsComPlusApplication
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)ComPlusAssemblyDependency(min:0,max:unbounded)ComPlusComponent(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesApplication String Iftheelementisnota
childofaComPlusApplicationelement,thisattributeshouldbeprovidedwiththeidofaComPlusApplicationelementrepresentingthe
![Page 524: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/524.jpg)
applicationtheassemblyistoberegisteredin.Thisattributecanbeomittedfora.NETassemblyeveniftheapplicationisnotachildofaComPlusApplicationelement.
AssemblyName String ThenameoftheassemblyusedtoidentifytheassemblyintheGAC.ThisattributecanbeprovidedonlyifDllPathFromGACissetto“yes”.
DllPath String ThepathtolocatetheassemblyDLLduringregistration.ThisattributeshouldbeprovidedifDllPathFromGACisnotsetto“yes”.
DllPathFromGAC YesNoType IndicatesthattheDLLpathshouldbeextractedfromtheGACinsteadforbeingprovidedintheDllPathattribute.Ifthisattributeissetto“yes”,thenameoftheassemblycanbeprovidedusingtheAssemblyNameattribute.Or,ifthisAssemblyNameattributeismissing,thenamewillbeextractedfromtheMsiAssemblyNametableusingtheidoftheparentComponentelement.
EventClass YesNoType Indicatesthatthe
![Page 525: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/525.jpg)
assemblyistobeinstalledasaneventclassDLL.Thisattributeisonlyvalidfornativeassemblies.TheassemblywillbeinstalledwiththeCOM+catalog’sInstallEventClass()function.
PSDllPath String Anoptionalpathtoanexternalproxy/stubDLLfortheassembly.
RegisterInCommit YesNoType Indicatesthattheassemblyshouldbeinstalledinthecommitcustomactioninsteadofthenormaldeferredcustomaction.Thisisnecessarywheninstalling.NETassembliestotheGACinthesameinstallation,astheassembliesarenotvisibleintheGACuntilaftertheInstallFinalizeactionhasrun.
TlbPath String Anoptionalpathtoanexternaltypelibfortheassembly.ThisattributemustbeprovidediftheTypeattributeissetto“.net”.
Type Enumeration Thisattribute'svalueshouldbeoneofthefollowing:native
.net
Yes
![Page 526: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/526.jpg)
Remarks
Wheninstallinganativeassembly,allcomponentscontainedintheassemblymustberepresentedasComPlusComponentelementsunderthiselement.Anycomponentnotlistedwillnotberemovedduringuninstall.
ThefieldsDllPath,TlbPathandPSDllPathareformattedfieldsthatshouldcontainfilepathstothererespectivefiletypes.AtypicalvalueforDllPathforexample,shouldbesomethinglike“[#MyAssembly_dll]”,where“MyAssembly_dll”isthekeyofthedllfileintheFiletable.
Warning:TheassemblynameprovidedintheAssemblyNameattributemustbeafullyspecifiedassemblyname,ifapartialnameisprovidedarandomassemblymatchingthepartialnamewillbeselected.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 527: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/527.jpg)
ComPlusAssemblyDependencyElement
Description
Definesadependencybetweentwoassemblies.Thiselementaffectstheorderinwhichassemblesareregistered.Anyassembliesreferencedbythiselementareguarantiedtoberegisteredbefore,andunregisteredafter,theassemblyreferencedbytheparentComPlusAssemblyelement.
WindowsInstallerreferencesNone
ParentsComPlusAssembly
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredRequiredAssembly String Referencetotheidofthe
assemblyrequiredbytheparentComPlusAssemblyelement.
Yes
RemarksItisonlynecessarytoexplicitlyspecifydependenciesbetweenassembliescontainedinthesamepackage(MSIorMSM).Assembliesmergedintoapackagefromamergemodulewillalwaysbeinstalledbeforeanyassembliesspecifiedinthebasepackage.AssembliesmergedinfromdifferentmergemodulesaresequencedusingtheModuleDependencyMSItable.Itisnotpossibletohavecrossdependenciesbetweenmergemodulesorhaveanassemblyinamergemoduledependonanassemblyinthe
![Page 528: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/528.jpg)
basepackage.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 529: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/529.jpg)
ComPlusComponentElement
Description
RepresentsaCOM+componentinanassembly.
WindowsInstallerreferencesNone
ParentsComPlusAssembly
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)ComPlusInterface(min:0,max:unbounded)ComPlusRoleForComponent(min:0,max:unbounded)ComPlusSubscription(min:0,max:unbounded)
Attributes
Name Type DescriptionId String Identifierforthe
element.AllowInprocSubscribers YesNoType CLSID Uuid CLSIDofthe
component.ComponentAccessChecksEnabled YesNoType ComponentTransactionTimeout YesNoType ComponentTransactionTimeoutEnabled YesNoType COMTIIntrinsics YesNoType ConstructionEnabled YesNoType ConstructorString String
![Page 530: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/530.jpg)
CreationTimeout Int Description String EventTrackingEnabled YesNoType ExceptionClass String FireInParallel YesNoType IISIntrinsics YesNoType InitializesServerApplication YesNoType IsEnabled YesNoType IsPrivateComponent YesNoType JustInTimeActivation YesNoType LoadBalancingSupported YesNoType MaxPoolSize Int MinPoolSize Int MultiInterfacePublisherFilterCLSID String MustRunInClientContext YesNoType MustRunInDefaultContext YesNoType ObjectPoolingEnabled YesNoType PublisherID String SoapAssemblyName String SoapTypeName String Synchronization Enumeration Thisattribute's
valueshouldbeoneofthefollowing:ignored
none
supported
required
requiresNew
Transaction Enumeration Thisattribute'svalueshouldbe
![Page 531: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/531.jpg)
oneofthefollowing:ignored
none
supported
required
requiresNew
TxIsolationLevel Enumeration Thisattribute'svalueshouldbeoneofthefollowing:any
readUnCommitted
readCommitted
repeatableRead
serializable
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 532: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/532.jpg)
ComPlusGroupInApplicationRoleElement
Description
Thiselementrepresentsasecuritygroupmembershipinanapplicationrole.Whentheparentcomponentofthiselementisinstalled,theuserwillbeaddedtotheassociatedapplicationrole.ThiselementmustbeadescendentofaComponentelement;itcannotbeachildofaComPlusApplicationRolelocaterelement.ToreferencealocaterelementusetheApplicationRoleattribute.
WindowsInstallerreferencesNone
ParentsComPlusApplicationRole
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesApplicationRole String Iftheelementisnotachildofa
ComPlusApplicationRoleelement,thisattributeshouldbeprovidedwiththeidofaComPlusApplicationRoleelementrepresentingtheapplicationroletheuseristobeaddedto.
Group String ForeignkeyintotheGrouptable. Yes
SeeAlso
![Page 533: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/533.jpg)
PubcaSchemaVersion2.0.4820.0
![Page 534: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/534.jpg)
ComPlusGroupInPartitionRoleElement
Description
Thiselementrepresentsasecuritygroupmembershipinapartitionrole.Whentheparentcomponentofthiselementisinstalled,thesecuritygroupwillbeaddedtotheassociatedpartitionrole.
WindowsInstallerreferencesNone
ParentsComPlusPartitionRole
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesGroup String ForeignkeyintotheGrouptable. YesPartitionRole String TheidofaComPlusPartitionRole
elementrepresentingthepartitiontheusershouldbeaddedto.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 535: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/535.jpg)
ComPlusInterfaceElement
Description
RepresentsaninterfaceforaCOM+component.
WindowsInstallerreferencesNone
ParentsComPlusComponent
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)ComPlusMethod(min:0,max:unbounded)ComPlusRoleForInterface(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesDescription String IID Uuid IIDoftheinterface. YesQueuingEnabled YesNoType
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 536: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/536.jpg)
ComPlusMethodElement
Description
Representsamethodforaninterface.
WindowsInstallerreferencesNone
ParentsComPlusInterface
InnerTextNone
ChildrenSequence(min:1,max:1)
1. ComPlusRoleForMethod(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesAutoComplete YesNoType Description String Index Int Dispatchidofthemethod.If
thisattributeisnotsetavaluemustbeprovidedfortheNameattribute.
Name String Nameofthemethod.IfthisattributeisnotsetavaluemustbeprovidedfortheIndexattribute.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 537: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/537.jpg)
ComPlusPartitionElement
Description
DefinesaCOM+partition.IfthiselementisachildofaComponentelement,thepartitionwillbecreatedinassociationwiththiscomponent.IftheelementisachildofanyoftheFragment,ModuleorProductelementsitisconsideredtobealocater,referencinganexistingpartition.
WindowsInstallerreferencesNone
ParentsNone
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)ComPlusApplication(min:0,max:unbounded)ComPlusPartitionRole(min:0,max:unbounded)ComPlusPartitionUser(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesChangeable YesNoType Deleteable YesNoType Description String Name String Nameofthepartition.This
attributecanbeomittediftheelementisalocater,andavalueisprovidedforthePartitionId
![Page 538: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/538.jpg)
attribute.PartitionId String Idforthepartition.Thisattribute
canbeomitted,inwhichcaseanidwillbegeneratedoninstall.Iftheelementisalocater,thisattributecanbeomittedifavalueisprovidedfortheNameattribute.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 539: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/539.jpg)
ComPlusPartitionRoleElement
Description
DefinesaCOM+partitionrole.Partitionrolescannotbecreated;thiselementcanonlybeusedasalocatertoreferenceanexistingrole.
WindowsInstallerreferencesNone
ParentsComPlusPartition
InnerTextNone
ChildrenSequence(min:1,max:1)
1. Choiceofelements(min:0,max:unbounded)ComPlusGroupInPartitionRole(min:0,max:unbounded)ComPlusUserInPartitionRole(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesName String Nameofthepartitionrole. YesPartition String TheidofaComPlusPartitionelement
representingthepartitiontherolebelongsto.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 540: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/540.jpg)
ComPlusPartitionUserElement
Description
Representsadefaultpartitiondefinitionforauser.Whentheparentcomponentofthiselementisinstalled,thedefaultpartitionoftheuserwillbesettothereferencedpartition.
WindowsInstallerreferencesNone
ParentsComPlusPartition
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesPartition String TheidofaComPlusPartitionelement
representingthepartitionthatwillbethedefaultpartitionfortheuser.
User String ForeignkeyintotheUsertable. Yes
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 541: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/541.jpg)
ComPlusRoleForComponentElement
Description
RepresentsaroleassignmenttoaCOM+component.
WindowsInstallerreferencesNone
ParentsComPlusComponent
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesApplicationRole String Idofthe
ComPlusApplicationRoleelementrepresentingtherolethatshallbegrantedaccesstothecomponent.
Yes
Component String IftheelementisnotachildofaComPlusComponentelement,thisattributeshouldbeprovidedwiththeidofaComPlusComponentelementrepresentingthecomponenttheroleistobeaddedto.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 542: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/542.jpg)
ComPlusRoleForInterfaceElement
Description
Representsaroleassignmenttoaninterface.
WindowsInstallerreferencesNone
ParentsComPlusInterface
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesApplicationRole String Idofthe
ComPlusApplicationRoleelementrepresentingtherolethatshallbegrantedaccesstotheinterface.
Yes
Interface String IftheelementisnotachildofaComPlusInterfaceelement,thisattributeshouldbeprovidedwiththeidofaComPlusInterfaceelementrepresentingtheinterfacetheroleistobeaddedto.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 543: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/543.jpg)
ComPlusRoleForMethodElement
Description
RepresentsaroleassignmenttoaCOM+method.
WindowsInstallerreferencesNone
ParentsComPlusMethod
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesApplicationRole String Idofthe
ComPlusApplicationRoleelementrepresentingtherolethatshallbegrantedaccesstothemethod.
Yes
Method String IftheelementisnotachildofaComPlusMethodelement,thisattributeshouldbeprovidedwiththeidofaComPlusMethodelementrepresentingthemethodtheroleistobeaddedto.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 544: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/544.jpg)
ComPlusSubscriptionElement
Description
DefinesaneventsubscriptionforaCOM+component.
WindowsInstallerreferencesNone
ParentsComPlusComponent
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierforthe
element.Yes
Component String IftheelementisnotachildofaComPlusComponentelement,thisattributeshouldbeprovidedwiththeidofaComPlusComponentelementrepresentingthecomponentthesubscriptionistobecreatedfor.
Description String Enabled YesNoType EventClassPartitionID String EventCLSID String CLSIDoftheevent
![Page 545: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/545.jpg)
classforthesubscription.Ifavalueforthisattributeisnotprovided,avalueforthePublisherIDattributemustbeprovided.
FilterCriteria String InterfaceID String MachineName String MethodName String Name String Nameofthe
subscription.Yes
PerUser YesNoType PublisherID String Publisheridforthe
subscription.Ifavalueforthisattributeisnotprovided,avaluefortheEventCLSIDattributemustbeprovided.
Queued YesNoType SubscriberMoniker String SubscriptionId String Idofthesubscription.If
avalueisnotprovidedforthisattribute,anidwillbegeneratedduringinstallation.
UserName String
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 546: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/546.jpg)
ComPlusUserInApplicationRoleElement
Description
Thiselementrepresentsausermembershipinanapplicationrole.Whentheparentcomponentofthiselementisinstalled,theuserwillbeaddedtotheassociatedapplicationrole.ThiselementmustbeadescendentofaComponentelement;itcannotbeachildofaComPlusApplicationRolelocaterelement.ToreferencealocaterelementusetheApplicationRoleattribute.
WindowsInstallerreferencesNone
ParentsComPlusApplicationRole
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesApplicationRole String Iftheelementisnotachildofa
ComPlusApplicationRoleelement,thisattributeshouldbeprovidedwiththeidofaComPlusApplicationRoleelementrepresentingtheapplicationroletheuseristobeaddedto.
User String ForeignkeyintotheUsertable. Yes
SeeAlso
![Page 547: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/547.jpg)
PubcaSchemaVersion2.0.4820.0
![Page 548: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/548.jpg)
ComPlusUserInPartitionRoleElement
Description
Thiselementrepresentsausermembershipinapartitionrole.Whentheparentcomponentofthiselementisinstalled,theuserwillbeaddedtotheassociatedpartitionrole.
WindowsInstallerreferencesNone
ParentsComPlusPartitionRole
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String Identifierfortheelement. YesPartitionRole String TheidofaComPlusPartitionRole
elementrepresentingthepartitiontheusershouldbeaddedto.
User String ForeignkeyintotheUsertable. Yes
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 549: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/549.jpg)
MessageQueueElement
Description
None
WindowsInstallerreferencesNone
ParentsNone
InnerTextNone
ChildrenSequence(min:1,max:1)
1. MessageQueuePermission(min:0,max:unbounded)
Attributes
Name Type Description RequiredId String YesAuthenticate YesNoType Default:No. BasePriority Integer Component String Journal YesNoType Default:No. JournalQuota Integer Label String YesMulticastAddress String PathName String YesPrivLevel Enumeration Thisattribute'svalue
shouldbeoneofthefollowing:none
body
![Page 550: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/550.jpg)
optional
Quota Integer ServiceTypeGuid String Transactional YesNoType Default:No.
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 551: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/551.jpg)
MessageQueuePermissionElement
Description
None
WindowsInstallerreferencesNone
ParentsMessageQueue
InnerTextNone
ChildrenNone
Attributes
Name Type Description RequiredId String YesChangeQueuePermissions YesNoType DeleteJournalMessage YesNoType DeleteMessage YesNoType DeleteQueue YesNoType GetQueuePermissions YesNoType GetQueueProperties YesNoType Group String MessageQueue String PeekMessage YesNoType QueueGenericAll YesNoType QueueGenericExecute YesNoType QueueGenericRead YesNoType QueueGenericWrite YesNoType ReceiveJournalMessage YesNoType
![Page 552: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/552.jpg)
ReceiveMessage YesNoType SetQueueProperties YesNoType TakeQueueOwnership YesNoType User String WriteMessage YesNoType
SeeAlsoPubcaSchema
Version2.0.4820.0
![Page 553: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/553.jpg)
ToolsPreprocessorCompiler(candle)Linker(light)Decompiler(dark)
![Page 554: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/554.jpg)
Preprocessor
IntroductionOftenyouwillneedtoadddifferentpiecesofyoursetupduringbuildtimedependingonmanyfactorssuchastheSKUbeingbuilt.ThisisdonebyusingconditionalstatementsthatwillfilterthexmlbeforeitissenttotheWiXcompiler(candle).Ifthestatementevaluatestotrue,theblockofxmlwillbesenttocandle.Ifthestatementevaluatestofalse,candlewillneverseethatsectionofxml.
TheconditionalstatementsareBooleanexpressionsbasedonenvironmentvariables,variablesdefinedinthexml,literalvalues,andmore.
Example
Let’sstartwithanexample.Sayyouwanttoincludeafileifyou’rebuildingthe“EnterpriseSKU.”Yourbuildusesanenvironmentvariable%MySku%=Enterprisetospecifythissku.
Whenyoubuildtheenterprisesku,thisfilewillbeincludedinthexmlpassedontocandle.Whenyoubuildadifferentsku,thexmlfromEnterpriseFeature.wxswillbeignored.
<?if$(env.MySku)=Enterprise?>
<?includeEnterpriseFeature.wxs?>
<?endif?>
![Page 555: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/555.jpg)
IncludeFiles<?include?>Asshownintheexampleabove,filescanbeincludedbyusingtheincludetag.Thefilenamereferencedinthetagwillbeprocessedasifitwerepartofthisfile.
Therootelementoftheincludefilemustbe<Include>.Therearenootherrequirementsbeyondtheexpectedwixschema.Forexample,
<Include>
<FeatureId='MyFeature'Title='My1stFeature'Level='1'>
<ComponentRefId='MyComponent'/>
</Feature>
</Include>
![Page 556: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/556.jpg)
VariablesAnyvariablecanbetestedforitsvalueorsimplyitsexistence.Customvariablescanalsobedefinedinyourxml.
Threetypesofvariablesaresupported:
$(env._NtPostBld)Getstheenvironmentvariable%_NtPostBld%
$(sys.CurrentDir)Getsthesystemvariableforthecurrentdirectory
$(var.A)GetsthevariableAthatwasdefinedinthisxml
Thepreprocessorevaluatesvariablesthroughouttheentiredocument,includingin<?if?>expressionsandattributevalues.
EnvironmentVariables
Anyenvironmentvariablecanbereferencedwiththesyntax$(env.VarName).Forexample,ifyouwanttoretrievetheenvironmentvariable%_BuildArch%,youwoulduse$(env._BuildArch).Environmentvariablenamesarecase-insensitive.
SystemVariables
WiXhassomebuilt-invariables.Theyarereferencedwiththesyntax$(sys.VARNAME)andarealwaysinuppercase.
CURRENTDIR-thecurrentdirectorywherethebuildprocessisrunningSOURCEFILEPATH–thefullpathtothefilebeingprocessedSOURCEFILEDIR–thedirectorycontainingthefilebeingprocessedNOTE:Allbuilt-indirectoryvariablesare“\”terminated.
Customvariables<?define?>
Ifyouwanttodefinecustomvariables,youneedtousethe<?define?>
![Page 557: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/557.jpg)
statement.Later,thevariablesarereferredtointhe<?if?>statementswiththesyntax$(var.VarName).Variablenamesarecase-sensitive.
Howtodefinetheexistenceofavariable:<?defineMyVariable?>
Howtodefinethevalueofavariable(Quotesareonlyrequiredifitcontainsspaces):<?defineMyVariable=“HelloWorld”?>
Therightsideofthedefinitioncanalsorefertoanothervariable:<?defineMyVariable=$(var.BuildPath)\x86\bin\?>
Howtoundefineavariable:<?undefMyVariable?>
![Page 558: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/558.jpg)
ConditionalStatementsThereareseveralconditionalstatements,theyinclude:<?if?><?ifdef?><?ifndef?><?else?><?elseif?><?endif?>
Thepurposeoftheconditionalstatementistoallowyoutoincludeorexcludeasegmentofxmlatbuildtime.Iftheexpressionevaluatestotrue,itwillbeincluded.Ifitevaluatestofalse,itwillbeignored.
Theconditionalstatementsalwaysbeginwitheitherthe<?if?>,<?ifdef?>,or<?ifndef?>tags.Theyarefollowedbyanxmlblock,anoptional<?else?>or<?elseif?>tag,andmustendwithan<?endif?>tag.
Expressions(usedin<?if?>and<?elseif?>)
Forexample:<?if[expression]?>
Theexpressionfoundinsidethe<?if?>and<?elseif?>tagsisaBooleanexpression.Itadherestoasimplegrammarthatfollowstheserules:
TheexpressionisevaluatedlefttorightExpressionsarecase-sensitivewiththefollowingexceptions:
EnvironmentalvariablenamesThesekeywords:and,or,not
Allvariablesmustusethe$()syntaxorelsetheywillbeconsideredaliteralvalue.Ifyouwanttousealiteral$(,escapethedollarsignwithasecondone.Forexample,$$(VariablescanbeusedtocheckforexistenceVariablescanbecomparedtoaliteraloranothervariable
![Page 559: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/559.jpg)
Comparisonswith=and!=arestringcomparisons.Comparisonswithinequalityoperators(<,<=,>,>=)mustbedoneonintegers.Ifthevariabledoesn'texist,evaluationwillfailandanerrorwillberaised.
Theoperatorprecedenceisasfollows.Notethat“and”and“or”havethesameprecedence:
""(),$()<,>,<=,>=,=,!=NotAnd,Or
Nestedparenthesisareallowed.Literalscanbesurroundedbyquotes,althoughquotesarenotrequired.Quotes,leading,andtrailingwhitespacearestrippedoffliteralvalues.Invalidexpressionswillcauseanexceptiontobethrown.
Variables(usedin<ifdef?>and<ifndef?>)
Forexample:<?ifdef[variable]?>
For<ifdef?>,ifthevariablehasbeendefined,thisstatementwillbetrue.<ifndef?>worksintheexactoppositeway.
MoreExamplesNotethattheseexampleswillactuallyeachbeano-opbecausetherearen’tanytagsbetweentheifandendiftags.
<?definemyValue="3"?>
<?definesystem32=$(env.windir)\system32?>
<?defineB="goodvar"?>
<?defineC=3?>
<?defineIExist?>
<?if$(var.Iexist)?><?endif?><!--true-->
<?if$(var.myValue)=6?><?endif?><!--false-->
<?if$(var.myValue)!=3?><?endif?><!--false-->
<?ifnot"x"="y"?><?endif?><!--true-->
<?if$(env.systemdrive)=a?><?endif?><!--false-->
<?if3<$(var.myValue)?><?endif?><!--false-->
![Page 560: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/560.jpg)
<?if$(var.B)="goodVAR"?><?endif?><!--false-->
<?if$(var.A)andnot$(env.MyEnvVariable)?><?endif?><!--false-->
<?if$(var.A)Or($(var.B)And$(var.myValue)>=3)?><?endif?><!--true-->
<?ifdefIExist?><!--true-->
<?else?><!--false-->
<?endif?>
![Page 561: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/561.jpg)
IterationStatementsThereisasingleiterationstatement,<?foreachvariable-nameinsemi-colon-delimited-list?><?endforeach?>.WhenthisoccursthepreprocessorwillcreateaprivatecopyofthevariablecontextsetthevariableintheforeachstatementtoaniterationonthesemicolondelimitedlistgenerateafragmentwiththevariablesubstitutedTheaffectofthisprocessisthatthefragmentauthoredisjusttemplateforwhichthepreprocessorwilldotheiterationtogeneratetheliteraloffragments.WiXnativelyonlysupportsusingLCIDasavariablenameinthe?foreachstatementhowever,onecanusethepreprocessorextensions(morebelow)toprovidecustomsupport.Thevariablenameinthe?foreachstatementcanbeproceededwitha"var.".Whenthevariableisusedinthefragment,itmustbeproceededwitha"var."
Anfewexamples:
<?foreachLCIDin"1033;1041;1055"?>
<FragmentId='Fragment.$(var.LCID)'>
<DirectoryRefId='TARGETDIR'>
<ComponentId='MyComponent.$(var.LCID)'/>
</DirectoryRef>
</Fragment>
<?endforeach?>
or
<?defineLcidList=1033;1041;1055?>
<?foreachLCIDin$(var.LcidList)?>
<FragmentId='Fragment.$(var.LCID)'>
<DirectoryRefId='TARGETDIR'>
<ComponentId='MyComponent.$(var.LCID)'/>
</DirectoryRef>
</Fragment>
<?endforeach?>
or
![Page 562: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/562.jpg)
filename:ExtentOfLocalization.wxi
<Include>
<?defineLcidList=1033;1041;1055?>
</Include>
and
<?includeExtentOfLocalization.wxi?>
<?foreachLCIDin$(var.LcidList)?>
<FragmentId='Fragment.$(var.LCID)'>
<DirectoryRefId='TARGETDIR'>
<ComponentId='MyComponent.$(var.LCID)'/>
</DirectoryRef>
</Fragment>
<?endforeach?>
AnalternativetotheforeachprocesswouldbetowritethetemplateWiXfragmentintoaseparatefileandhaveanotherprocessgeneratetheauthoringthatwillbepassedtoWiX.Thegreatestmeritofthisalternativeisthatit'seasiertodebug.
![Page 563: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/563.jpg)
ExtensionsWiXhassupportforpreprocessorextensionsviathePreprocessorExtensionclass.ThePreprocessorExtensioncanprovidecallbackswithcontextatforeachinitialization,variableevaluation,andthelastcallbeforeinvokingthecompiler(forfullcustompreprocessing).Seethepreprocessor.cssourcefileandthepreprocessorextension.cssourcefileformoreinformation.
![Page 564: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/564.jpg)
Compiler(candle)TheWindowsInstallerXMLcompilerisexposedbycandle.exe.candleisresponsibleforpreprocessingtheinput.wxsfilesintovalidwell-formedXMLdocumentsagainsttheWiXschema,wix.xsd.Then,eachpost-processedsourcefileiscompiledintoa.wixobjfile.
Thecompilationprocessisrelativelystraightforward.TheWiXschemalendsitselftoasimplerecursivedescentparser.Thecompilerprocesseseachelementinturncreatingnewsymbols,calculatingthenecessaryreferencesandgeneratingtherawdataforthe.wixobjfile.
Thesecondversionofcandleisnotsignificantlydifferentfromthefirstimplementation.Anychangeswereeithermadetoenablethenewsymbol/referencelinkingorbasedonfeedbackfromcustomers.Someofthedifferencesbetweenversionsinclude:thenewobjectfileformatisXMLinsteadofMSI,modularizationofprimarykeysnowhappensatlinktime,andbinarystreamsareimportedatlinktime.
![Page 565: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/565.jpg)
Linker(light)TheWindowsInstallerXMLlinkerisexposedbylight.exe.lightisresponsibleforprocessingoneormore.wixobjfiles,retrievingmetadatafromvariousexternalfilesandcreatingaWindowsInstallerdatabase(MSIorMSM).Whennecessary,lightwillalsocreatecabinetsandembedstreamsinthecreatedWindowsInstallerdatabase.
Thelinkerbeginsbysearchingthesetofobjectfilesprovidedonthecommandlinetofindtheentrysection.Ifmorethanoneentrysectionisfound,lightfailswithanerror.ThisfailureisnecessarybecausetheentrysectiondefineswhattypeofWindowsInstallerdatabaseisbeingcreated,aMSI(<Product/>)orMSM(</Module/>).Itisnotpossibletocreatetwodatabasesfromasinglelinkoperation.
Whilethelinkerwasdeterminingtheentrysection,thesymbolsdefinedineachobjectfilearestoredinasymboltable.Aftertheentrysectionisfound,thelinkerattemptstoresolveallofthereferencesinthesectionbyfindingsymbolsinthesymboltable.Whenasymbolisfoundinadifferentsection,thelinkerrecursivelyattemptstoresolvereferencesinthenewsection.Thisprocessofgatheringthesectionsnecessarytoresolveallofthereferencescontinuesuntilallreferencesaresatisfied.Ifasymbolcannotbefoundinanyoftheprovidedobjectfiles,thelinkerabortsprocessingwithanerrorindicatingtheundefinedsymbol.
Afterallofthesectionshavebeenfound,complexandreversereferencesareprocessed.ThisprocessingiswhereComponentsandMergeModulesarehookedtotheirparentFeaturesor,inthecaseofMergeModules,ComponentsareaddedtotheModuleComponentstable.ThereversereferenceprocessingaddstheappropriateFeatureidentifiertothenecessaryfieldsforelementslike,Shortcut,Class,andTypeLib.
Onceallofthereferencesareresolved,thelinkerprocessesalloftherowsretrievingthelanguage,version,andhashforreferencedfiles,calculatingthemedialayout,andincludingthenecessarystandardactionstoensureasuccessfulinstallationsequence.ThispartoftheprocessingtypicallyendsupgeneratingadditionalrowsthatgetaddedassociatedwiththeentrysectiontoensuretheyareincludedinthefinalWindowsInstallerdatabase.
![Page 566: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/566.jpg)
Finally,lightworksthroughthemechanicsofgeneratingIDTfilesandimportingthemintotheWindowsInstallerdatabase.Afterthedatabaseisfullycreated,thefinalpostprocessingisdonetomergeinanyMergeModulesandcreateacabinetifnecessary.TheresultisafullyfunctionalWindowsInstallerdatabase.
![Page 567: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/567.jpg)
DarkDarkisatoolforconvertinganMSIorMSMfileintoaWiXsourcefile.ThistoolisveryusefulforgettingallyourauthoringintoaWiXsourcefilewhenyouhaveanexistingMSIorMSM.However,youwillthenneedtotweakthisfiletoaccomodatedifferentlanguagesandbreakingthingsintofragments.
![Page 568: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/568.jpg)
VisualStudioPackage(Votive)VotiveisthecodenamefortheWiXVisualStudiopackagethatallowsyoutoeasilycreateWiXprojects,editWiXfilesusingIntelliSense,andcompile/linkyourproject.
![Page 569: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/569.jpg)
InstallationToinstallthepackageyoumustrunVotive.msi,whichcomesbundledwiththeWiXbinariesandgetsbuiltaspartoftheWiXsource.
IfyouhavetheVSIPSDKinstalled,youcanbuildthethedebugversionofVotive.msi,whichwillinstallVotiveintotheExperimentalHiveofVisualStudio.ThiswillallowyourretailversionofVisualStudiotocontinuetoworkasbefore(seethe"DevelopingforVotive"topicforanexplanationoftheexperimentalhive).
![Page 570: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/570.jpg)
DevelopingforVotiveIfyouwanttocontributecodetotheVotiveprojectordebugVotive,youmustdownloadandinstalltheVSIPSDK,availableathttp://www.vsipdev.com/downloads/.YouwillneedtheVSIPSDK2003andtheVSIPSDK2003Extras,installedinthatorder.TheSDKisfairlynon-invasiveandwillcreatean"ExperimentalHive"intheregistrythatwillkeepyourretailversionofVisualStudio2003unaffected.
TostartdebuggingVotive,setyourbreakpointsthenjusthit"F5"intheWix.slnforVisualStudio.ThecustombuildactionsintheVotiveprojectwillsetupandregisterVotiveontheexperimentalhive,sorunningtheVotive.msiisnotrequired,norsuggested.
![Page 571: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/571.jpg)
GettingStartedRobMenschinghaswrittenanexcellentMSDNarticleonusingVotivetogetstartedinWiX.
![Page 572: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/572.jpg)
WiXFilesAllinputfilesandintermediatefilesforWiXarexmlfiles.OutputisintheformofstandardWindowsInstallerdatabasefiles.
Sourcefiles(.wxsand.wxi)arecompiled,producingobjectfiles(.wixobj).TheseobjectsfilesarethenconsumedbythelinkerwhichproducesWindowsInstallerdatabasefiles(.msior.msm).ThisisanalogoustotheC++modelofcompilingsourcecodetoobjectfiles,thenlinkingtoproduceexecutables.
InputFilesIncludeFiles(.wxs)SourceFiles(.wxs)IntermediateFilesObjectFiles(.wixobj)OutputFilesInstallerDatabase(.msi)MergeModule(.msm)
![Page 573: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/573.jpg)
IncludeFiles(.wxi)A.wxifileisanalogousto.hfilesforC++.Therootelementofthisfileis<Include/>.Everythingundertherootelementwillbeinsertedwhenthisfileisincludedinanothersourceorincludefile.
![Page 574: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/574.jpg)
SourceFiles(.wxs)All.wxsfilesarewell-formedXMLdocumentsthatcontainasinglerootelementnamed<Wix/>.TherestofthesourcefilemayormaynotadheretotheWiXschemabeforepreprocessing.However,afterbeingpreprocessedallsourcefilesmustconformtotheWiXschemaortheywillfailtocompile.
Theroot<Wix/>elementcancontainatmostoneofthefollowingtwoelementsaschildren:<Product/>,<Module/>.However,therecanbeanunboundednumber<Fragment/>elementsaschildrenoftheroot<Wix/>element.Whenasourcefileiscompiledintoanobjectfile,eachinstanceoftheseelementscreatesanewsectionintheobjectfile.Therefore,thesethreeelementsareoftenreferredtoassectionelements.
Itisimportanttonote,thattherecanbeonlyone<Product/>or<Module/>sectionelementpersourcefilebecausetheyarecompiledintospecialsectionscalledentrysections.Entrysectionsareusedasstartingpointsinthelinkingprocess.Sections,entrysections,andtheentirelinkingprocessaredescribedingreaterdetaillaterinthisdocument.
ThechildrenofthesectionelementsdefinethecontentsoftheWindowsInstallerdatabase.You’llrecognize<Property/>elementsthatmaptoentriesinthePropertytableandahierarchyof<Directory/>elementsthatbuilduptheDirectorytable.Mostelementscontainan“Id”attributethatwillactastheprimarykeyfortheresultingrowintheWindowsInstallerdatabase.Note,inthefirstreleaseoftheWiXschematheprimarykeywasrepresentedbythetextoftheelement.Thislocationfortheprimarykeywasundesirableforseveralreasonsandhasbeenmovedtothe“Id”attribute.Inmostcases,the“Id”attributealsodefinesasymbolwhenthesourcefileiscompiledintoanobjectfile.
![Page 575: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/575.jpg)
ObjectFiles(.wixobj)A.wixobjfileiscreatedbythecompilerforeachsourcefilecompiled.The.wixobjfileisanXMLdocumentthatfollowstheobjects.xsdschemadefinedintheWiXproject.Asstatedabovethe.wixobjfilecontainsoneormoresectionsthat,inturn,containsymbolsandreferencestoothersymbols.
Whilethesymbolsandreferencesarearguablythemostimportantpiecesofdatainthe.wixobjfile,theyarerarelythebulkoftheinformation.Instead,themajorityofmost.wixobjfilesarecomposedof,andelementsthatprovidetherawdatatobeplacedintheWindowsInstallerdatabase.Inmanycases,thelinkerwillnotonlyprocessthesymbolsandreferencesbutalsouseandupdatetherawdatafromthe.wixobjfile.
Itisinterestingtonotethattheobjectfileschema,objects.xsd,usescamelcasingwherethesourcefileschema,wix.xsd,usesPascalcasing.Thiswasaconsciouschoicetoindicatethattheobjectfilesarenotintendedtobeeditedbytheuser.Infact,allschemasthatdefinesdatatobeprocessedonlybytheWiXtoolsusecamelcasing.
![Page 576: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/576.jpg)
WindowsInstallerInstallationPackagesTheinstallationpackagefile(.msi)isthebasisforvehiclefordeliveringsetuplogictotheWindowsInstaller.Formoreinformationonmsifiles,pleaseseetheWindowsInstallerhelpfile(msi.chm)orvisitonlineatMSDN.
![Page 577: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/577.jpg)
WindowsInstallerMergeModulesThemergemodulefile(.msm)isusedforsharingsetuplogicamongstdifferentgroups.Basically,amergemodulecanbecreatedbyonegroup,thenmergedintoanothergroup'sinstallationpackage.Formoreinformationonmsifiles,pleaseseetheWindowsInstallerhelpfile(msi.chm)orvisitonlineatMSDN.
![Page 578: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/578.jpg)
BuildingWiXSimplyrun"make.bat"intherootoftheWiXproject.Thiswillbuildintoarelease\debugdirectorybydefault.Specifying"make.batship"willcreateshipbinariesinrelease\ship.IfyouinstalledVS.NETtoanonstandarddirectory,specify"make.batdebugfullpathto\devenv.com"tobuild.
InordertofullybuildWiX,youmusthavethefollowingFrameworksandSDKsinstalled:
NAntversion0.85rc3orhigher.NETFramework1.1andSDK.NETFramework2.0(SDKisoptional)PlatformSDK(version3790.1830orhigher)
CoreSDKWebWorkshop(IE)SDKInternetInformationServer(IIS)SDKMicrosoftDataAccessServices(MDAC)SDKMicrosoftWindowsInstallerSDK
OneofthefollowingVisualStudio2005Editions:VisualC++ExpressEditionProfessionalorhigherwithVisualC++installed
HTMLHelpSDK1.4orhigher
TobuildSconceandVotive,youmusthavethefollowingSDKsinstalled:
VisualStudioPartnerIntegrationProgram(VSIP)SDK2003VSIPSDK2003ExtrasBothareavailableathttp://msdn.microsoft.com/vstudio/partners/default.aspx
ToinstallVotiveonVisualStudio2005,youmusthavetheStandardeditionorhigher.
TosuccessfullybuildtheWiXMSBuildtasks,youneedtomodifyNAnt.exe.configfiletosupportthereleaseversionofthe.NETFramework(insteadofthebeta1releasesupportedinNAnt0.85rc3).MakeabackupcopyofNant.exe.configandsearchforthefollowing
![Page 579: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/579.jpg)
<framework>element:
<framework
name="net-2.0"
...
Replaceitwiththefollowingelement:
<framework
name="net-2.0"
family="net"
version="2.0"
description="Microsoft.NETFramework2.0"
runtimeengine=""
sdkdirectory="${path::combine(sdkInstallRoot,'bin')}"
frameworkdirectory="${path::combine(installRoot,'v2.0.50727')}"
frameworkassemblydirectory="${path::combine(installRoot,'v2.0.50727')}"
clrversion="2.0.50727"
>
![Page 580: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/580.jpg)
Blogs
RobMensching's"whensetupisn'tjustxcopy"RobMenschingisthe"benevolentdictator"fortheWindowsInstallerXMLtoolset.Hemaintainsablogcalled"whensetupisn'tjustxcopy".Selectedblogentriesarereprintedherewithhispermission.
![Page 581: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/581.jpg)
RobMensching's"whensetupisn'tjustxcopy"RobMenschingisthe"benevolentdictator"fortheWindowsInstallerXMLtoolset.Hemaintainsablogcalled"whensetupisn'tjustxcopy".Selectedblogentriesarereprintedherewithhispermission.
2004/04/05-WindowsInstallerXML(WiX)toolsethasreleasedasOpenSourceonSourceForge.net.2004/04/14-SoyouwanttobeaWindowsInstallerXMLdeveloper?2004/05/11-Sections,SymbolsandReferencesintheWindowsInstallerXML(WiX)toolset.2004/05/16-Myphilsophicalmusingsaboutbuildingsetupforsoftware.2004/05/20-VBScript(andJscript)MSICustomActionssuck.2004/11/22-LocalizationandyourMSIfile.2004/11/30-CreatinglocalizedMSIfilesusingWiXtoolsetand.wxlfiles.
![Page 582: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/582.jpg)
WindowsInstallerXML(WiX)toolsethasreleasedasOpenSourceonSourceForge.netTheWindowsInstallerXml(WiX)toolset(pronounced“wickstoolset”)appearstohavefinishedpropagatingaroundtheSourceForge.netCVSservers,soIcanfinallystartwritingthisblogentry.Aspromisedinmybloghere,here,here,here,andheretheWiXtoolsetandallofitssourcecodehasbeenreleasedsothatyoucanbuildWindowsInstallerdatabases(MSIandMSMfiles)thesamewaymostgroupsinsideMicrosoftdo.However,afunnythinghappenedonthewaytotheforum.WiXbecamethefirstprojectfromMicrosofttobereleasedunderanOSSapprovedlicense,namelytheCommonPublicLicense.
BeforeeveryonegetssidetrackedbytheOpenSourceimplications,let’stalkaboutexactlywhatWiXis.WiXisatoolsetcomposedofacompiler,alinker,alibtoolandadecompiler.Thecompiler,calledcandle,isusedtocompileXMLsourcecodeintoobjectfilesthatcontainsymbolsandreferencestosymbols.Thelinker,calledlight,isfedoneormoreobjectfilesandlinksthereferencesintheobjectfilestotheappropriatesymbolsinotherobjectfiles.Lightisalsoresponsibleforcollectingallofthebinaries,packagingthemappropriately,andgeneratingthefinalMSIorMSMfile.Thelibtool,calledlit,isanoptionaltoolthatcanbeusedtocombinemultipleobjectfilesintolibrariesthatcanbeconsumedbylight.Finally,thedecompiler,calleddark,cantakeexistingMSIandMSMfilesandgenerateXMLsourcecodethatrepresentsthepackage.
So,letmestepthrougharealquickexamplebeforesendingyouofftotheSourceForgeprojecttogetthebinariesandsourcecode.First,thebelowisacompletesourcefilethatwillcreateaMSIfilethatinstallsatest.NETAssemblyintothe“ProgramFiles\TestAssembly”directory.
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='000C1109-0000-0000-C000-000000000046'Name='TestAssemblyProduct'Language='1033'Version='0.0.0.0'Manufacturer='MicrosoftCorporation'>
<PackageId='000C1109-0000-0000-C000-000000000046'Description='TestAssemblyinaProduct'Comments='Testfrom:wix\examples\test\assembly\product.wxs'InstallerVersion='200'Compressed='yes'/>
<MediaId='1'Cabinet='product.cab'EmbedCab='yes'/>
![Page 583: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/583.jpg)
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='ProgramFilesFolder'Name='PFiles'>
<DirectoryId='TestAssemblyProductDirectory'Name='testassm'LongName='TestAssembly'>
<ComponentId='TestAssemblyProductComponent'Guid='00030829-0000-0000-C000-000000000046'>
<FileId='TestAssemblyProductFile'Name='assembly.dll'essembly='.net'KeyPath='yes'DiskId='1'src='$(env.WIX)\examples\data\assembly.dll'/>
</Component>
</Directory>
</Directory>
</Directory>
<FeatureId='TestAssemblyProductFeature'Title='Test"ssemblyProductFeature'Level='1'>
<ComponentRefId='TestAssemblyProductComponent'/>
</Feature>
</Product>
</Wix>
Now,tobuildtheMSIfilewecompileandlinkthesourcecodelikeso:
E:\wix\examples\test\assembly>candle.exeproduct.wxs
Microsoft(R)WindowsInstallerXmlCompilerversion2.0.1510.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
product.wxs
E:\wix\examples\test\assembly>light.exeproduct.wixobj
Microsoft(R)WindowsInstallerXmlLinkerversion2.0.1510.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
E:\wix\examples\test\assembly>dir
VolumeindriveEisNewVolume
VolumeSerialNumberis8AC4-6AD2
DirectoryofE:\wix\examples\test\assembly
04/05/200405:04<DIR>.
04/05/200405:04<DIR>..
02/23/200409:55891module.wxs
04/05/200405:0452,736product.msi
04/05/200405:044,976product.wixobj
02/23/200409:551,281product.wxs
4File(s)59,884bytes
2Dir(s)90,014,191,616bytesfree
E:\wix\examples\test\assembly>
I’lldiscussmorecomplicatedexamplesinfutureblogentriesandupdatethedocumentation(WiX.chm)bydistillinganydiscussionshere.Whilewe’reonthetopicofdocumentation,let’sdiscusswhereWiXisinits
![Page 584: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/584.jpg)
productlife-cycle.
Firstofall,IwouldsaythattheWiXtoolsetisprettyclosetoBeta2quality.Thatmeanscorescenarios(compiling/linking)areverysolid,lesscorescenarios(lib’ing/decompiling)stillhavesomebugs,andthedocumentationleavesmuchtobedesired.PartofmymotivationforpushingthetoolsetexternaltoMicrosoftistoencourageme(andmaybefindothers)toupdatethedocumentation.I’lltalkmoreaboutthatinfutureblogentries.
ThatsaidproductionqualityMSIandMSMfilescanbeproducedfromtheWiXtoolsettoday.Internally,teamssuchasOffice,SQLServer,BizTalk,VirtualPC,InstantMessenger,severalmsn.comproperties,andmanyothersuseWiXtobuildtheirMSIandMSMfilestoday.Whensomeoneencountersabug,thecommunitytrackstheissuedownandfixesit.Now,viaSourceForge.net,youhaveanopportunitytobeapartofthecommunityaswell.
Now,let’stalkaboutwhyWiXwasreleasedasOpenSource.First,workingonWiXhasneverbeenapartofmyjobdescriptionorreviewgoals.Iworkontheprojectinmyfreetime.Second,WiXisaverydeveloperorientedprojectandthusprovidingsourcecodeaccessincreasesthepoolofavailabledevelopers.Today,therearefivecoredevelopers(Robert,K,Reid,andDerek,thankyou!)regularlyworkingonWiXintheirfreetimewithanothertensubmittingfixesoccasionally.Finally,manypartsoftheOpenSourcedevelopmentprocessappealtome.Backin1999and2000,IdidnotfeelthatmanypeopleinsideMicrosoftunderstoodwhattheOpenSourcecommunitywasreallyaboutandIwantedtoimprovethatunderstandingbyprovidinganexample.
Afterfourandahalfyearsofpart-timedevelopment,theWiXdesign(andmostofthecode)maturedtoapointwhereIwascomfortabletryingtoreleaseitexternally.So,lastOctoberIstartedlookingforameanstoreleasenotonlythetoolsbutthesourcecodeaswell.IthoughtGotDotNetwastheplace.However,atthattime,noneoftheexistingSharedSourcelicenseswereflexibleenoughtoacceptcontributionsfromthecommunity.Then,inFebruary,IwasintroducedtoStephenWalliwhowasalsoworkingtoimproveMicrosoft’srelationshipwiththeOpenSourcecommunity.Fortunately,StephenwasmuchfartheralongthanIandhadthestep-by-stepplanhowtoreleaseanOpenSourceprojectfromMicrosoftusinganapprovedOSSlicense.
![Page 585: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/585.jpg)
Today,viaWiXonSourceForge,yougettoseetheresultsofmanypeople’seffortstoimproveMicrosoftfromtheinsideout.I’mnotexactlysurewhatisgoingtohappennextbutI’msuretherearequiteafewpeoplewhoareinterestedtoseewherethisleads.Personally,allIhopeisthatifyoufindtheWiXtoolsetusefulthenyou’lljointhecommunityandhelpusimprovethetoolset.
Copyright©RobMensching
![Page 586: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/586.jpg)
SoyouwanttobeaWindowsInstallerXMLdeveloper?PeoplehavestartedexpressinginterestinjoiningtheWindowsInstallerXMLtoolsetdevelopmentcommunitysoIfiguredIshouldgetsomeadministrativedetailsoutoftheway.IfyouareinterestedincontributingcodetotheWindowsInstallerXMLtoolset,itisveryimportanttoreadthroughallfourofthesetopics.
1)TheWindowsInstallerXMLtoolsetcopyrightisheldbyMicrosoft.
IwanttobeveryupfrontaboutthecopyrightoftheWindowsInstallerXMLtoolsetandhowitaffectsusasdevelopers.MicrosoftisthesponsoroftheWindowsInstallerXMLproject.BeforeacontributioncanbeacceptedintotheWiXproject,thelawyershaveaskedthatweassignourrightstothosecontributionstoMicrosoft.Byhavingdeveloperssignacopyrightassignmentagreement,Microsoftcanmaintainsinglelegalcontroloftheproject.ThatsinglelegalcontrolenablesMicrosofttobestdefendtheprojectinthefutureiftherewaseveranysortoflegalchallenge.
Beforejumpingtoanyconspiracytheories,pleasenotethatthiscopyrightassignmentisexactlythesameprocesstheFreeSoftwareFoundationhasyougothroughifyouworkonaprojecttheysponsor.Also,inClause5oftheWindowsInstallerXMLassignmentagreementyourrightstoyourcontributionareexplicitlygrantedbacktoyou.Ifyouwouldlikeacopyoftheassignmentagreement,[email protected].
2)TheWindowsInstallerXMLprojectisabenevolentdictatorship.
Inordertoensureconsistencyintheschemaandmaintainthequalityofthetools,theWindowsInstallerXMLproject’sCVStreeislockeddown.Inotherwords,commitstothecode-basebythegeneralpopulaceareprevented.Ifyouattemptcommitchanges,CVSwillinformyouthatyouhave"InsufficientKarmatocompletethetask."
Tohaveyourcontributionsubmittedtotheproject,pleasesubmitanassignmentagreementasdescribedabove(youonlyneedtodoso
![Page 587: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/587.jpg)
once)thensendyourcodedifftoWiX-devs@lists.sourceforge.net.ThedeveloperstherewillreviewthechangesandsomeonewillapplythemtoCVSasquicklyaspossible.
3)TheWindowsInstallerXMLcommunityisameritocracy.
ThoseindividualsinthecommunitywhodemonstrateanunderstandingofthecodebasebyactivelyparticipatingontheWindowsInstallerXMLmailinglistsandconsistentlysubmittinghighqualitydiffswillbegivena“Karmaboost”.WithenoughKarmayouwillearntheabilitytocommitchangesdirectlytotheWindowsInstallerXMLproject’sCVStree.
Commitprivilegesshouldnotbetakenlightly.ItisveryimportantthattheWiXtoolsetmaintainahighqualitybarbecausemanypeopledependonthetoolsworkingproperly.Veryfewdevelopersearntheseprivileges.Infact,inoverfouryearsofdevelopment,onlyfivedevelopershaveearnedcommitprivilegestotheinternalWindowsInstallerXMLproject.
4)TheWindowsInstallerXMLdevelopersareallvolunteers.
Everyone(tothebestofmyknowledge)thatworksontheWindowsInstallerXMLtoolsetdoessoinhisorherfreetime.Pleasekeepthatfactinmindwhenaskingforhelp,submittingcodediffs,orinteractingwithanymembersoftheproject.WeallwanttohelptomaketheWindowsInstallerXMLtoolsetassolidatoolaspossible,butsometimes“realjobs”and“significantothers”havetotakeahigherprecedence.
Ifworsecomestoworse,youhaveaccesstothesourcecode.Tryreadingforawhile.:)
Copyright©RobMensching
![Page 588: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/588.jpg)
Sections,SymbolsandReferencesintheWindowsInstallerXML(WiX)toolset.Thusfar,itseemseveryonehasbeencreatingonesingle.wxssourcefilefortheirentireMSIorMSMfile.Thisisunderstandable,sincethe"GettingStarted"topicintheWiX.chmonlyshowsone.wxsfileperMSIandMSM.AndifyoustartedlearningWiXbytryingtodecompileanexistingMSIorMSM,darkwillonlygenerateasingle.wxssourcefileforyourMSIorMSMfile.ButtherealpoweroftheWiXtoolsetonlybecomesapparentwhenyoubreakupyoursetupintodifferentsectionsthenletthesymbolsandreferencestieyoursourcefilesbackintoacohesivepackage.
I'llstartbyshowingyoutheWiXsourcecodethenI'lltrytoexplainwhatitdoes.Let'sassumewehaveafilecalled"product.wxs"thatlookslikethis:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='00000000-0000-0000-0000-000000000000'Name='MyProduct'Language='1033'
Version='0.0.0.0'Manufacturer='MyCorporation'>
<PackageDescription='MyProduct'Comments='MyProductThatIsJustAnExample'
InstallerVersion='200'Compressed='yes'/>
<MediaId='1'Cabinet='product.cab'EmbedCab='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='ProgramFilesFolder'Name='PFiles'>
<DirectoryId='MyDirectory'Name='MyDir'LongName='MyDirectory'/>
</Directory>
</Directory>
<FeatureId='MyFeature'Title='MyProductFeature'Level='1'>
<ComponentRefId='MyComponent'/>
</Feature>
</Product>
</Wix>
WhatI'vedefinedaboveistheskeletonofaMSIproduct.Atthetopistherequired<Product/>and<Package/>elementsthatprovidetheidentificationinformationforthispackagetotheWindowsInstaller.ThenIprovidethe<Media/>elementthatdefineshowanyfileResourcesthat
![Page 589: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/589.jpg)
areapartofthispackageshouldbelaidout.Inthiscase,IwantallthefilescompressedintoasinglecabinetandthatcabinetstoredasastreaminsidetheMSIfile.Next,IprovidemybarebonesDirectorytree.Finally,thispackageisfinishedoffwithaverysimpleFeaturetreewithoneFeaturecontainingoneComponent.
"Hey,wait!Where'stheComponentdefinitionfor'MyComponent'?"youmightask.BeforeIcananswerthatveryimportantquestionIneedtoaddacouplemoreexamplesfiles.First,let'saddanotherWiXsourcefilecalled"fragment.wxs"thatlookslikethis:
<?xmlversion="1.0"?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<FragmentId='MyFragment'>
<DirectoryRefId='MyDirectory'>
<ComponentId='MyComponent'Guid='00000000-0000-0000-0000-00000000000'DiskId='1'>
<FileId='MyFile'Name='myfile.txt'LongName='MyFile.txt'src='present.txt'/>
</Component>
</DirectoryRef>
</Fragment>
</Wix>
Ifweskipthe<Fragment/>elementtherestoftheWiXcodeshouldlookprettyfamiliar.I'vedefinedaComponentnamed"MyComponent"(withabogusGUID)inthe"MyDirectory"DirectoryandnotedthatanyfilescontainedbythisComponentwillbeapartoftheMediawithDiskIdlabeled1.ThenIdeclarethattheComponentcontainsasingletextfile.Forgoodmeasure,let'ssaythatthereisafilecalled"present.txt"thatlooksalotlikethis:
Eachdayisagift.That'swhywecallitthepresent.
Before(finally)explainingindetailhowthisallworks,let'sfirstprovethatitworks.Hereistheoutputfrommycompilationandlinking.
C:\example>candle.exeproduct.wxsfragment.wxs
Microsoft(R)WindowsInstallerXmlCompilerversion2.0.1621.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
product.wxs
fragment.wxs
C:\example>light.exeproduct.wixobjfragment.wixobj-oproduct.msi
Microsoft(R)WindowsInstallerXmlLinkerversion2.0.1621.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
![Page 590: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/590.jpg)
C:\example>
Nooutputfromthelightmeanstherewerenoerrorssoyoushouldnowhavea"product.msi"filesittinginthesamedirectorywithallyourotherfiles.YoucaninstallthatMSIandseeitshowupinyourAdd/RemoveProgramsifyoulike,buttrustmethisallworks.
"Buthowdiditwork?"
Well,whencandlecompilesyoursourcecodeitcreatesanobjectfile(.wixobj)thathaszeroormoresectionsinit.Theelementsthatarechildrenofthe<Wix/>element(namely:<Product/>,<Module/>,and<Fragment/>)defineanewsection.Sointheexampleabove,product.wxsdefinesonesectionandfragment.wxsdefinesanother.
Sectionscontaindataandreferences.Mostofthedatainthesectionisinformationthatwillendupinthefinalpackage(MSIfile).Someofthedataisjustinformationneededbythelinkerorbindertobuildthepackage.Forexample,the<File/>elementshownabovecontainsthenecessaryinformationtodefineafileResourceinthepackageaswellasthe"src"attributethattellsthebinderwheretofindthephysicalfileondisksothatthefilecanbeputintoacabinetandinsertedintothepackage.Finally,thedatainthesectionisusedtodefineallofthesymbolsforthesection.
AsymbolistheuniqueidentifierforaWiXelementinyour.wxssourcefile.Ingeneral,thesymbolforanelementmapstotheprimarykeycolumnsoftheMSItabletheWiXelementrepresents.Forexample,the<File/>element's"Id"attributeinWiXmapstotheMSIFiletable'sFilecolumnwhichistheprimarykeycolumn.Itisprettysafetoassumethatall"Id"attributesintheWiXschemarepresentsymbols.IfIwastotakeastabatthesymbolsdefinedintheexamplesourcefilesabove,Ithinkthiswouldbethelist:
product.wxs
Product:00000000-0000-0000-0000-000000000000
Media:1
Directory:TARGETDIR
Directory:ProgramFilesFolder
Directory:MyDirectory
Feature:MyFeature
![Page 591: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/591.jpg)
fragment.wxs
Fragment:MyFragment
Componet:MyComponent
File:MyFile
Ofcourse,Imightbemissingoneortwo,buthopefullyyougettheideaofwhatthecompilerthinksisasymbol.Ifyoureallywanttoknowforsure,takealookatthetables.xmlfileforthecolumnsmarked"symbol='yes'".
Symbolsexisttobereferenced.References,theonlythingotherthandatainasection,pointatsymbolsinthecurrentsectionorothersections.Thecompilercreatesreferencestosymbolswhennecessaryandstoresthereferencesatthetopofthesectionintheobjectfile.Obviouslyelementslike<ComponentRef/>or<DirectoryRef/>createreferencestoComponentsandDirectoriesrespectively,butthecompilerwillcreatereferencesinothercasesaswell.Forexample,the<Component/>element's"DiskId"attributecreatesreferencetoa<Media/>element's"Id"attribute.Since,the.wixobjfilecontainsthereferencesIcaneasilylistthemhereforyou:
product.wixobj
<referencetable="Component"symbol="MyComponent"/>
fragment.wixobj
<referencetable="Directory"symbol="MyDirectory"/>
<referencetable="Media"symbol="1"/>
Note:Ihavepurposelyskippedoverthecomplexreferencediscussionhere,butI'llcomebacktothatinsomefutureblogentry.
Thusfar,I'veonlytalkedaboutthecompiler.Nowthatweknowthebasicsbehindsections,symbolsandreferenceswecantalkaboutthedetailsofthelinker.ThisiswheretherealpoweroftheWiXtoolsetkicksin.IalsobelievethelinkerdifferentiatestheWiXtoolsetfromtheothertoolsIhaveseenand/orheardofthatcanbuildMSIfilestoday.
Thelinkerstartsbyprocessingallofthesectionsintheprovidedobjectfileslookingforanentrysection.Todaytherearetwotypesofentrysections:productsandmodules.Asyouwouldexpect,whenthelinkerencountersaproductentrysectionitknowsitisgeneratingaMSI.Ifthelinkerencountersamoduleentrysectionthelinkerknowsitiscreatinga
![Page 592: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/592.jpg)
MSMfile.Ifthelinkercomesacrosstwoentrysectionsintheobjectfiles,itgivesupwithanerrorsincethelinkercannotgeneratetwooutputsatthesametime.Considertheentrysectiontobelikethe"main()"functioninaCorC++program.That'swherethelinkerstartstheprogramsexecution.
Whiletheentrysectionisbeinglocated,thelinkerisalsobuildingupthetableofsymbolsfromeverysectionfromtheprovidedobjectfiles.Ifanysymbolsarefoundtobeduplicated,thelinkerwillgiveupwithanerror.IntheC/C++linker,thiserrorconditionisverysimilartothecasewhereyoudefinethesamevariableinthesamescope.Onceallofthesectionshavebeenprocessedandasingleentrysectionisfound,thelinkerstartsresolvingreferencesstartingattheentrysection.
Whenthecurrentsectionhasareferencethatresolvestoasymbolinanothersectiontheothernewsection'sreferencesareaddedtothelisttoberesolved.Theprocesscontinuesuntilallreferencesareresolved.Ifareferencecannotberesolveditcaussthelinkertobailwithanerror.ThiserrorcaseissimilartotheC/C++linkercannotfindamatchingfunctionimplementationforoneofyourcalls.Also,anysectionsthatarenotreferencedareignored.
Itisimportanttonotethatsectionsaretheatomicunitoflinking.Inotherwords,eitheralloftheinformationinasectionisincludedinyourfinaloutputornoneofitisincluded.ThisfactisimportanttokeepinmindwhensplittingyoursourcecodeintoFragments.YouonlyneedonesymbolinaFragmenttobereferencedandtheentirecontentsoftheFragmentwillbeapartofyourfinaloutput.
Beforewrappingupthisblogentry,let'sstepthroughtheexamplewe'veusedsofar.Remember,upabove,weprovidedlightthefragment.wixobjandtheproduct.wixobjobjectfilestolink.Thelinkerwouldloadallofthesymbolsinthosetwoobjectfiles(gettingalistmuchlikeIdescribedabove)andfigureoutthatthesectioncreatedbythe<Product/>elementisourentrysection.
Thelinkerwouldthentaketheonlyreferenceinthatsection(asshownabove)andstartlookingforthesymbol"MyComponent"intheComponenttable.Ofcourse,thatreferenceresolvesintoourfragment.wixobj.Thenthetworeferencesfromthefragment.wixobjwouldberesolved.Remember,referencesfromeachsectionmustbe
![Page 593: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/593.jpg)
resolved.Inthiscase,the"MyDirectory"intheDirectorytableand"1"intheMediatablereferencesareresolvedbysymbolsfromtheentrysection.ThelinkernowhappilygoesalongitsmerrywayfinishingthelinkingprocessusingthosetwosectionstobuildthefinalMSIfile.
HopefullythisblogentryhelpsexplainsomeoftheinnerworkingsoftheWiXtoolsetsothatyoucantakebetteradvantageofthetools.Thiswriteup(orsomethinglikeit)willbemakingitswayintotheWiXdocumentationsoIwouldappreciateanyfeedbackthatmakessections,symbols,andreferencesintheWindowsInstallerXMLtoolsetmakesense.
Copyright©RobMensching
![Page 594: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/594.jpg)
Myphilsophicalmusingsaboutbuildingsetupforsoftware.MikeGunderloy,whohaswrittenacouplearticlesabouttheWiXtoolset,postedacommentonapreviousblogentry.Inthecomment,hesuggeststhatsplittingasetupprojectintofragmentsonlymovestheproblembutdoesn'tsolveit.Thus,hearguedthataddingatooltogeneratethefragmentshasvalue.Istilldidn'tagree.ThenIrealizedthatIdisagreedbecauseIhavesomephilosophiesabouthowtobuildsoftwareandsetupforsoftwarethatI'veneverpostedhere.So,IthoughtI'dsharethosephilosophiestoday.PleasenotethattheseareguidelinesthatIusewhendiscussingsetupbuildprocesseswithotherpeoplenothardrules.
Thedeveloperthatwrotethefeatureknowsbestwhatneedstobeauthoredintosetup.
Thispartofmyphilosophyisbasedonthefactthatthepersonthatknowsthemostaboutaparticularresourceisthedeveloperthatwrotetheresource.Seriously,ifthedeveloperwhowrotethecodedoesn'tknowwherehisorherfilesneedtobeinstalledordoesn'tknowwhatregistrykeysarenecessarytomakethefeaturework(orwhateverotherresourcesarenecessary)whodoes?
Yes,therehavebeen(toomany)casesinmycareerwherethedeveloperwhowrotethecodesaid,"Uhh,Idon'tknowwhatmycodedependson."However,inthosecasesitwasprettyeasytolookathimorher(orhisorhermanager)andask,"Well,uhh,shouldn'tyou?"Ineverycase,theywentoffandfiguredoutwhatwasnecessarytogettheirsoftware"inthebox".
Fundamentally,ifdevelopersdon'tknowwhattheirdependenciesarethereisverylittlechancetheirprojectwillhaveasolidsecurity,performance,ordeploymentstory.Areaexpertsmaybenecessarytohelpdevelopersworkthroughcomplicatedissuesbut,ingeneral,developersmustbeawareofwhattheirsoftwareisdoing.
Setupauthoringisapartofthedevelopmentprocess.
EveryteamIhaveinteractedwith(thegrandmajorityofMicrosoftand
![Page 595: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/595.jpg)
somesmallercompanies),thedevelopersontheteamareexpectedtoaddtheirsourcefilestothemakefilebeforecheckinginnewfilestotheproject.Yet,manyofthoseteamshavepeoplewhoaresolelyresponsibleforaddingnewfilestothesetupproject.Inmanycases,onesetofdeveloperswriteregistrykeysintothecodeforSelfReg(thisisevil,andI'llexplainwhyoneday)andthesetupdevelopershavetoreverseengineertheregistrykeysoutofthebuiltexecutablestoauthorsetup.Whydidn'ttheoriginaldeveloperjustauthortheregistrykeyintosetupinthefirstplace?
Therewasapointintimewhereitwasarguablydifficulttodistributetheauthoringtoalldeveloperswhenyouhadtobuycustomtoolsthatdidn'tfitwellintothedevelopmentprocess.However,todaythereareafewalternativesoutthere(liketheWiXtoolset)thatallowsetuptobetreatedlikesourcecode.NowtherearenoexcusesI'veheardthatholdwaterwhysetupauthoringforthemajorityoftheresourcesinsetupcannotbedistributedacrossthedevelopersintheorganization.Doingthatdistributionleavesonlythe"lookandfeel"andintegrationbetweentheindividualpiecesofsetuptothecoresetupdevelopers.Allotherexcuseshavealwaysbeenjustwhinging(asPetermightsay).
ThispartofmyphilosophyandtheoneabovearethereasonsIdisagreewhenMikesaysthat"breakingupthepackageintomultiplesourcefragmentspushestheproblembackonelevel,butdoesn'tnecessarilysolveit."Breakingupyoursetupintomultipletextfilesenablesdeveloperstomaintainsetupauthoringthesamewaytheymaintainalltheothercodethatispartofaproject.Andthatbringsmetomyfinalpoint.
Textfilesshouldbetheonlyinputsintothebuildprocess.
Overtheyears,developershavecreatedfairlysignificantprocessesfortracking,merging,andrevertingchangestotextfiles.Forexample,ConcurrentVersionSystem(betterknownasCVS)isusedheavilybySourceForge.netcanshowyoutheindividuallineschangedinatextfileovertime.Forademonstration,takealookatCompiler.csfromv1.6tov1.7inCVSatSourceForge.netforWiX.Itisnotgenerallypossibletovisualizethedifferencesbetweentworevisionsofabinaryfile.
Everyinputintothebuildprocessthatismanipulatedbyahumanwilleventuallyhosetheprocessatleastonce.Beingabletotextsearch
![Page 596: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/596.jpg)
(usingeventhesimplesttoolslikegrep)fortheexactchangethatcausedtheproblemsignificantlyimprovesbuildthroughput.Binaryfilesusuallyhidetheinformationbyrequiringcustomtoolstobeopenedandqueriedtofindthebreak.
Ofcourse,onceyoufindthebreakitisreallynicetobeabletofixtheproblembylaunchingyourfavoritetexteditorandtweakingtheline(s)ofcodewiththefault.Requiringatooltobeinstalledonthebuildmachinesincreasesyourimpedancetofixingtheissue.
Ultimately,keepingbinaryfilesoutofyourbuildprocesssimplifiesyourlife.ThatfactiswhyIdisagreewithMikewhenhesuggestsitmakessenseto"putonemoretoolintothechain,somethingwithafriendlyinterfacethatcouldspitoutthesourcefragmentsasneeded?IcouldseedoingthatwithAccess/Excel,amongotherthings."
NoteIdothinkitisreasonablefordeveloperstousetoolsthathelpgeneratetextfiles.Thosetextfilesthencangetcheckedintosourcecontrolandbuiltaspartofthestandardprocess.However,thetoolsneedtogeneratehumanfriendlytextfiles.Textfilesthatcanonlybemodifiedwithacustomtoolareonlyhalfastepbetterthanrawbinaryfiles.
ThisisthephilosophythatIdevelopedduringmytenureinOfficeandhavepromotedacrossthecompanyforacoupleyearsnow.Manyteamshavehadanincredibleamountofsuccesswiththeirsetupprocesseswhenfollowingtheseguidelines.TherehavebeenmanycaseswhereIwasaskedbyotherteamstotalkaboutthephilosophy.AttheendofmytalkIalwaysleftthemwith,"Ifyouhavesomeoneresistingchange,havethemcontactme.I'llbehappytotalktohimorhertodiscusshowsuccessfulotherteamshavebeenwiththisprocessandseeifthereisn'tsomewaytoaddresstheirconcerns."I'dbehappytodothesameforyou.
PS:Thisphilosophyhasworkedoutextremelywellforme,butifyouhaveauniquesituationthatyouthinkwouldn'tworkusingtheseguidelines,I'dbeveryinterestedtohearaboutthem.I'malwayslookingforalternativeviews(aslongaspeoplearen'tjustwhinging<smile/>).
Copyright©RobMensching
![Page 597: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/597.jpg)
VBScript(andJscript)MSICustomActionssuck.Todaywasoneofthosedayswhereyoufinallygetaroundtolookingatthetimeandwonderwheretheheckthehourswent.Itwasn'tevenlikeIreallygotalotdone.Ithinkmycontextswitchcostshavebeenreallyhighlately.ItfeelsgoodtofinallybehomechillingouttothePerfectoChillsalbums.IthoughtI'drelateashortstorytoyouwhyVBScript(andJscriptforthatmatter)shouldnotbeusedforCustomActionsinanMSI.
Today,Irealizeditwas15:39whenafellowdeveloper,we'llcallhimJoe,calledmeatwork.Myfirstthoughtwas,"Jeez,it'salmost4o'clockandIhaven'tgotanythingdone!"Mysecondthoughtwas,"IbetJoeisscrewed."JoeonlycallsmewhentheWiXtoolsethascompletelyfailedorhehashitthewallwiththeWindowsInstaller.Today,Joehadhitthewall.
"Rob,haveyoubeentrackingtheemailthreadabouttheCustomActionofminethatisfailing?"IhadseenthisthreadearlierinthedayandrememberedJoementioningsomethingaboutaVBScriptCustomAction."Alittlebit,you'renotreallyusingVBScriptforyourCustomAction,areyou?"
Thatwasit.JoewasattemptingtodebugsomerathercomplexissueswithaVBScriptCustomActioninteractingwithsomeCOMcomponentsduringaninstall.EverythingseemedtoworkfineifherantheVBScript(slightlymodified)inthecscript.exeorwscript.exehosts.However,whenthescriptexecutedintheWindowsInstallersActiveScriptengineitfailedinrathermysteriousways.
Interestinglyenough,aWindowsInstallerdeveloperattachedoneofthemanyemailsthatIsendtopeoplewhentheyarehavingproblemsusingVBScriptforCustomActions.Inthoseemails,IalwayssuggestthatscriptneverbeusedforCustomActionsinMSI.So,Joecalledmeandasked,"SowhatcanIdo,Rob?"
Myanswerwassimple,"Joe,thereisareasonIrecommendneverusingVBScriptforCustomActions.It'sbecausethereisn'treallyawholelotyoucandowhenyougetintothiskindofsituation."ThenIprovidedhim
![Page 598: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/598.jpg)
afewideasthatstartedwithattemptingtogetthescriptdebuggertosomehowattachandtrytothendebugovertotheCOMcomponentandendedupsuggestinggettingthecommand-linedebuggerattachedtotheCOMcomponentonload.Noneofwhichistrivial.
WhatIdon'tunderstandiswhypeoplecompletelydisregarddirewarningsthatcertaintechnologiesshouldnotbeusedincertaincircumstances.Yes,IunderstanditisextremelyeasytowriteCustomActionsinVBScript.No,thatdoesn'tmakeitagoodthingtouseinyourinstall.
So,I'mbloggingheretonightattheendofaverylongdaytosharewithyouthreereasons,IrecommendyounotuseVBScriptorJscriptforCustomActions:
1.Robustcodeisdifficultwriteinscript.Setupcodemustoperateonmachinesthatareinanunknownstate.Insuchhostileenvironments,therearemanydifferentwaysthatcodecanfail.Properlyrecoveringfromerrorconditionsisveryimportant(evenifitjustresultsinrollback)."OnErrorResumeNext"isnotconducivetopropererrorhandlingincode.Forthisreasonalone,MicrosoftOfficebannedallscriptCustomActionsfromtheirMSIfiles.IamadmittedlybiasedbutIbelieveOfficehasoneofthemostimpressive,smooth,andstablesetupprogramsfortheWindowsplatform,especiallyconsideringitscomplexity.
2.DebuggingscriptintheWindowsInstallerisdifficult.SomemightevenargueitisimpossibletodebugscriptCustomActions.AsJoeisgoingtofindoutforthenextfewdays,debuggingtheinteractionsbetweentheWindowsInstaller,thescriptingengine,andanyotherobjectsisanon-trivialtaskbecausethetoolsaresoprimitive.TherearemanytoolsforC/C++codethatcanhaveverylowimpactonthemachineifyouaretrackingaparticularlyskittishbug.MaybeI'monlycalledinwhenbugsarereallyhard,buttherehavebeenmanytimesIwasthankfulforntsdandpageheap.exe.
3.Anti-virusproductskillthem.Thisonejustkilledme.AcoupleyearsafterOfficebannedtheuseofscriptingforCustomActions,VisualStudioshippedtheirfirstMSIsetup.TheydecideditwouldbeokayiftherewereafewscriptCustomActions.Whencustomersgottheproduct,PSSstartedgettingreportsoftheVisualStudiosetupmysteriouslyfailingandrollingback.Aftersomeverylongcalls,PSS
![Page 599: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/599.jpg)
discoveredthatiftheusers'anti-virusprogramsweredisabledtheinstallationswouldsucceed.Turnsoutmanyofthetopnameanti-virusprogramsconsideredthescriptshostedbytheWindowsInstallertobevirusandwouldkillthescriptsofffailingtheVisualStudioinstall.
Anyway,hopeyouenjoyedthestoriesandremember,"VBScriptandJscriptsuckforCustomActions."
Copyright©RobMensching
![Page 600: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/600.jpg)
LocalizationandyourMSIfile.JennysignedoffonmyMondaynightbloghourssoI'mcurledupinmybigcomfychairwithmylaptopreadytodiscusssomedetailsoftheWindowsInstaller.Honestly,everytimeIsitinthisbigchairIconsiderwritingthatbookagain.Butnottonight.FortonightwetalkaboutlocalizationandtheWindowsInstaller.
BeforeIgetstarted,Iwanttothrowoutaveryimportantdisclaimerupfront.IamnotalocalizationexpertandIpersonallyhaveneverfully-localizedaproduct.MostofwhatI'mpresentinghereisinformationthatI'vegleanedfromtalkingtoorjustwatchinglocalizers.TherestofitIstolefromtheWindowsInstallerSDK.
Forthoseofyouwhohavenotbeenindoctrinatedinbuildingglobalsoftware,knowthat"localization"istheprocessofmakingyoursoftwareavailableforother"locations"(orlocales)."Localizers"aretheindividualsresponsibleforlocalizingyoursoftware.Obviouslymost"localizers"speakorreadorcomprehendmorethanoneculture.ThisparticulartalentisoneofthemajorreasonsImakeareallylousylocalizer.IonlyreallyunderstandAmericanEnglish,C/C++,C#,VBScriptandabitofAustralianEnglish(fromlivingwithPeterforafewyears).ButIdigress.
Mostpeoplethinklocalizationisallabouttranslatingthetextintheirprogramfromonelanguagetoanother.Whilethisisanimportantpartoftheprocess,therearemanyotherfacetsoflocalization.Forexample,directlyrelatedtothetexttranslationprocessbutoftenneglectedistheplanningfortranslatedtexttotakemore(orless)spaceindialogboxesthanthefirstlanguagedid.Irememberalocalizermentioningtomeoncethat--ingeneral--adialogboxforGermantextneedstobesomewherearound1.5timeslargerthanadialogboxwiththesametextinEnglish.Anotherimportantfacetoflocalizationisadjustingtextandimagestobegeopoliticallyappropriate.Wordsandimagesacceptedinonepartoftheworldarenotalwaysappropriateforotherpartsoftheworld.Thusitisimportanttounderstandtheculturesnotjustthelanguageswhenlocalizingsoftware.
Okay,sothatisprobablyenoughtocoverthe"Localization"partofthisblogentry'stitle,nowlet'smoveon"yourMSIfile".Fortheremainderofthisblogentry,unlessIspecificallymentionit,theterm"MSIfile"willbe
![Page 601: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/601.jpg)
synonymouswith"WindowsInstallerdatabase"(whichincludesnotonlyMSIfilesbutMergeModules[.msmfiles]aswell).Sowhatwe'rereallytalkingabouthereislocalizingyour<Products/>and<Modules/>ifyouusetheWiXtoolset.
Aspromisedinthebeginning,muchofwhatI'mcoveringhereiscoveredinwhatIconsiderthe"WindowsInstallerBible",theWindowsInstallerSDK.WhenIhavequestionsaboutthewaytheWindowInstallerworks,Igobackandrefertothatdocumentation.Fortunately,formeandthisblog,theWindowsInstallerSDKcangetkinda'crypticattimes.SoI'mheretoaddmorewordstowhatalreadyexists.
Inparticular,theLocalizationOverviewintheWindowsInstallerSDKisagreatplacetostart(andIexpectIwillrefertoitseveraltimesinthisblogentry).Thathelptopicdoesaprettygoodjobprovidingacheck-listofthingstodowhenlocalizingyourMSIfile.Iparticularlylikethefirststep,planforlocalization.
Iamfullyawarethatmanypeoplesavesetupfortheendoftheproductcycle.Ipersonallybelievethispracticeisveryrecklessandill-advised(especiallyconsidertherearenowtoolsliketheWiXtoolsetthatcanintegratedirectlyintoyourbuildprocess).However,I'vealsonoticedthatlocalizationisoftenconsideredaftersetup!Thatdoublesdownthetroublebecauserightwhenyouneedtolock-intheComponentizationyourproductyou'regoingtobeaddingmorefiles.Badplanningcanmakethisahorriblechore.
So,here'smystandardtemplateforsuccesswithlocalization.First,breakoutallofthelocalizabletextinyourproductintoaseparateresource-onlyDLL.Second,putthatresource-onlyDLLinasub-directorynamedforthelanguageoftheresource-onlyDLL.Keepthenameoftheresource-onlyDLLthesamethough.SinceI'manoldOfficeguy,IusuallyusetheLCID(1033isAmericanEnglish)forthedirectorynamebutI'veseenthetrendtowardsusingtheISOlocalenames(en-usisAmericanEnglish)sincetheCommonLanguageRuntimegoesthatway.Third,storethedefaultinstallation'slanguageinyourper-applicationdatastore.Forexample,anHKLMregistrykeyisanokaystoreifyourproductwasinstalledper-machineandanHKUregistrykeywouldbeokayifyourproductwasinstalledper-user.TheRegistry/@Root="HKMU"valueinWindowsInstallerXMLsyntaxwasdesignedforthistypeofscenario.Fourth,storetheuser'scurrent
![Page 602: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/602.jpg)
languagepreferenceinaper-userdatastore(aper-userregistrykeyworksokay)whenitdiffersfromtheinstalledvalue.Finally,whenyoubootyourapplicationloadtheresource-onlyDLLfromtheappropriatesub-directorybasedontheper-userkeyifitexistsandtheper-applicationkeyifitdoesnotexist.
Youcanalsodomoreinterestingscenariosifyouwanttotakethesystem'scurrentlanguageintoaccount,butthat'sforpeoplethatknowmoreaboutlocalizationthatIdo.Ofcourse,youshouldalsohavesomefallbackplanifyourregistrykeysareallbusted.Forexample,iftheper-applicationregistrykeywasdeletedyoucouldrepairaportionofyourproduct.I'lltrytossingmoreadvancedscenariosinalaterblogentry.
Nowthatyouhaveaplanforyourproduct'sorganization,youcangobacktothinkingaboutyourMSIfile.Firstofall,you'llwanttothinkaboutthecodepageforyourMSIfile.RememberMSIfilesarenotUnicode.ThatmeansifyoupickthewrongcodepageforyourMSIfilethatyou'llgetsquareboxesorquestionmarksshowingupinyourdatabase.TheWindowsInstallerSDKtalksaboutsettingthecodepagebutifyouusetheWiXtoolsetyouonlyneedtospecifyyourcodepageLCIDintheProduct/@CodepageorModule/@CodepageattributeforyourMSIorMSMfilerespectively.Ifyou'recurious,youcanseethattheWiXtoolsetdoesexactlywhattheWindowsinstallerSDKsaysinBinder.csintheBinder'sSetDatabaseCodepage()method.
AlsonotethatbecausetheMSIfilesarenotUnicodefilestheycannotbetrulymulti-lingual.ThisisokaybecauseifweskipovertheOverview'ssteps3and4(I'lldiscussthosemorelater),weseeinstep5thattheMSIfilehasaProductLanguagePropertythatmustbesettotheLCIDoftheproduct.ThatProductLanguagePropertymapstotheProduct/@LanguageorModule/@Languageattributes.OneofthebugsIdiscussedinmypreviousblogentryisenablingthelocalizationofthoseattributes.
I'mgoingtolumpintheOverview'ssteps5,6,7,and8undertheheading"ThingsThatIdentifyYourProductasaUniqueIdentityintheWorld."Theworldisascaryplaceouttherewithlotsofotherproductstocollideandotherwisegetlostin.Makesureyoufollowallofthesestepstoensurethatyoucanfindyourproductwhenitcomestimetopatchorupgrade.I'veseenafewcaseswheresetupdeveloperswerebeingparticularlylazyandthoughttheycouldskipoversomeofthesesteps.
![Page 603: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/603.jpg)
TheyshowedupafewmonthsaftertheirproductsshippedaskinghowtheycantargettheappropriatelocalizedversionoftheirMSIfile.
Inoneparticularcase,aproducthadsomegeo-politicalissuepreventingtheproductfrombeingallowedacrosstheborderofsomecountry.Idon'trememberallofthefinerdetailsbutIbelievethefinalrecommendationwastobuildanew"politicallycorrect"MSIpackage,sendthatoffformanufacturingandeatthecostofthethousandsofCDsthathadalreadybeenstamped.Icanonlyimaginehowmuchfuntheyhadcreatingcoastersintheirmicrowave(orhowmuchexplainingtheyhadtodowiththeir"higher-ups").
IwasoriginallygoingtotosstheOverview'sstep9inwiththeabove,but(asmanyofyouknow)theComponentRulesareverynearanddeartomyheart.Followmystandardtemplatefororganizingyourproductandyou'llnaturallyhavetoputeachresource-onlyDLLinitsownComponent.Moreimportantlyyouwillonlyneedtoputthenon-localizedexecutablesintheirownComponents.Ifyouhadlocalizedtextintheexecutables,you'dbeintheunfortunatepositionofneedingtocreatedifferentComponentstoinstallthedifferentlanguageversionsofthefileeventhoughtheywouldallgetinstalledtothesamelocation(aComponentRuleviolation).Also,asmentionedabove,withthisproductlayoutI'llbeabletodemonstratesomeinterestingadvancedinstalltricks.
Finally,allthatisleftnowisthereallocalizationwork(steps3and4fromtheOverview).Iknowthisissomethingofaletdownaftersuchalongblogentry,butI'mgoingtosavethedetailsofhowtheWiXtoolsetcanhelpwiththelocalizationprocessforlater.Myhopeistore-finish(er,"un-break")thelocalizationfeaturesintheWiXtoolsettomorrownight.ThenIwilltrytowritethestep-by-stepprocessusingtheWiXtoolsetusingareallysimpleexample.Sometimeafterthat,I'llcreateamorecomplicatedexamplethattakesadvantageofsomeofthoseadvancedtricksIwastalkingabout.
Untilnexttime,takealookatthislocalizationexamplefromtheWindowsInstallerSDK,andkeepcoding.YouknowIam.
Copyright©RobMensching
![Page 604: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/604.jpg)
CreatinglocalizedMSIfilesusingWiXtoolsetand.wxlfiles.TonightwepickupwhereIleftofflastweekandcontinuewiththetopicoflocalizingyourMSIfile.Ifyouhaven'treadlastweek'sblogentry,youshoulddothatnow.Yes,it'sprettylong.Don'tworryI'llwait.There'slotsofgoodbackgroundinformationinthere.
Great,Iwanttocoveracouplemorethingsbeforewereallygetstarted.First,justlikeinmypreviousblogentryalloftheinformationpresentedhereworksequallywellforMergeModules(MSMfiles)asitdoesforMSIfiles.I'llbeusinganMSIfileinmyexampleandI'llusethewords"MSIfile"alot(that'showIgetsuchahighpagerankforWindowsInstallerstuff...justkidding)becauseI'mlazyandgettiredofwritingMSI/MSMfile.Second,IamusingthelatestbuildoftheWiXtoolsetv2.0.2328.0inmyexamples.Thisisimportantbecause,asyou'llnoteinthereleasenotes,Ifixedmanylocalizationissueswiththisreleaseofthetoolset.Ifyouwanttofollowalong,besureyouhavearecentversionoftheWiXtoolset.
TodaytherearereallytwowaystolocalizeyourMSIfile.Step3andstep4oftheLocalizationExampleintheWindowsInstallerSDKthatIpointedatlastweekdemonstratethosetwomethods.First,youcanexportyourMSIfile'stablestoIDTfileformat,localizethattextfilethenimporttheIDTfilebackintoyourMSI.ThismethodisthefastestwaytoupdateinformationinyourMSIfile.However,italsorequiresthemostcarebecauseyoumustensurethecodepageoftheIDTfilematchesthecodepageoftheMSIfileortheimportwillfailwithterriblyhelpfulerrormessageslike,"FailedtoimportyourIDTfileforsomereason.Haveaniceday"(note:::MsiGetLastErrorRecord()willgiveyoumoreinformationabouttheerrorbutitrarelygivesyoutheexactanswertotheissue).Itisinterestingtonotethattheremarksin::MsiDatabaseImport()functiondiscourageusingthismethodforupdatingyourMSIfilebecauseofthecodepageandotherIDTencodingissues(liketabsandcarriagereturns).
ThesecondwaytolocalizedatainyourMSIfileistousetheWindowsInstallerSQLSyntaxtoupdatetheappropriatecolumns.Thismethodisarguablyeasierthanthepreviousmethodbecauseyoudon'thaveto
![Page 605: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/605.jpg)
worryaboutencodingtabsorcarriagereturnsandtheAPIswillattempttoencodeyourtextthebestitcantomatchtheMSIfile'scurrentcodepage.Unfortunately,thismethodisalsoslowerthanthepreviousmethodbecausetheWindowsInstallerSQLprocessorisnotparticularlyspeedy.
Sohowaboutasolutionthatprovidesyou,thesetupdeveloper,withthefastestmethodtocreatelocalizedMSIfileswithoutneedingtoworrytoomuchaboutencodingallofyourdatainIDTfilescorrectly?Whatifallyouneededtodowastoprovidethelocalizeddataandthecodepageforthatdata(codepageisstillnecessarybecauseIdon'tknowhowtolookatseveralrandomstringsoftextandaccuratelyreverseengineerthecodepagefromthem)?Whatifyoucouldactuallycompileallofyoursourcecodefilesoncethenonlylinktheobjectfilestogetheronceforeachlanguage?How?WellwiththeWiXtoolset,ofcourse.
Admittedly,theWiXtoolset'slocalizationfeaturesaresomeoftheleastdocumentedfeaturesintheWiXtoolset.Infact,theonlydocumentationisWiXLocalizationfile,.wxlfiles,schema(wixloc.xsd)andthecodeinlight.csthatprocessesthe.wxlfiles.SoI'mherenowtoturnthatallaroundwithastep-by-stepexample.
Let'slookatasmallexamplesourcefilethatinstallsasimplefilewithashortcut.Let'scallthissourcefile"example.wxs":
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='????????-????-????-????-????????????'Name='ExampleProduct'
Language='1033'Version='1.0.0.0'Manufacturer='MicrosoftCorporation'>
<PackageId='????????-????-????-????-????????????'
Description='ExampleDescriptionforProduct'
Comments='ExampleProducttodemonstratelocalizedData'
InstallerVersion='200'Compressed='yes'/>
<MediaId='1'Cabinet='product.cab'EmbedCab='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='ProgramFilesFolder'Name='PFiles'>
<DirectoryId='EXAMPLEDIR'Name='example'LongName='ExampleDirectory'>
<DirectoryId='LangDir'Name='1033'>
<ComponentId='ExampleComponent'Guid='PUT-GUID-HERE'DiskId='1'>
<FileId='ExampleFile'Name='example.txt'src='example.txt'>
<ShortcutId='ExampleShortcut'
Directory='ProgramMenuFolder'
Name='Example'LongName='ExampleShortcut'
Description='Shortcuttoexample.txt'/>
![Page 606: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/606.jpg)
</File>
</Component>
</Directory>
</Directory>
</Directory>
<DirectoryId='ProgramMenuFolder'Name='ProgMenu'/>
</Directory>
<FeatureId='ExampleFeature'Title='ExampleFeatureforProduct'Level='1'>
<ComponentRefId='ExampleComponent'/>
</Feature>
</Product>
</Wix>
Note,tocompilethecodeabovewithcandle.exe,you'llneedtoreplace"PUT-GUID-HERE"withyourownGUID.Idon'tprovideGUIDsinmyexamplesbecausepeopleliketocopytheexamplesthenforgettochangetheGUIDbeforeshipping.Ofcourse,thatwouldbeanimmediateComponentRuleviolationandIdon'twanttoberesponsibleforthat.Also,beforewecanlinkthatcodewithlight.exe,we'llneedtocreateatextfilecalled,"example.txt".Here'swhatmyexample.txtfilelookslike:
Eachdayisagift,that'swhywecallitthepresent.
Okay,aftercreatingexample.wxs(andaddingyourownGUID)andcreatingexample.txt,youshouldbeabletocreatean"example.msi"filebycompilingandlinkingthefileslikeso:
C:\wix>candleexample.wxs
Microsoft(R)WindowsInstallerXmlCompilerversion2.0.2328.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
example.wxs
C:\wix>lightexample.wixobj
Microsoft(R)WindowsInstallerXmlLinkerversion2.0.2328.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
C:\wix>
Asalways,nonewsfromlight.exeisgoodnews.YoucaninstallthenewlycreatedMSIfileusing"msiexec/iexample.msi"andshouldnotice
![Page 607: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/607.jpg)
anewshortcutinyourProgramMenuFolder("Start"->"AllPrograms"onWindowsXP).ButI'msureforyouoldWiXtoolsethacksouttherethisexampleisboring.So,let'sgettolocalizing.
Ifyouusedthepreprocessor,youarealreadyfamiliarwith$(var.VAR)fordefinedvariablesand$(env.VAR)forenvironmentvariables.LocalizationintheWiXtoolsetisdonebyinserting"localizationvariables".Localizationvariableslooklike$(loc.VAR).Let'slookatourmodifiedsourcefile:
<?xmlversion='1.0'?>
<Wixxmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
<ProductId='????????-????-????-????-????????????'Name='ExampleProduct'
Language='$(loc.LANG)'Version='1.0.0.0'Manufacturer='MicrosoftCorporation'>
<PackageId='????????-????-????-????-????????????'
Description='$(loc.Description)'
Comments='$(loc.Comments)'
InstallerVersion='200'Compressed='yes'/>
<MediaId='1'Cabinet='product.cab'EmbedCab='yes'/>
<DirectoryId='TARGETDIR'Name='SourceDir'>
<DirectoryId='ProgramFilesFolder'Name='PFiles'>
<DirectoryId='EXAMPLEDIR'Name='$(loc.ShortDirName)'LongName='$(loc.LongDirName)'>
<DirectoryId='LangDir'Name='$(loc.LANG)'>
<ComponentId='ExampleComponent'Guid='PUT-GUID-HERE'DiskId='1'>
<FileId='ExampleFile'Name='$(loc.FileName)'src='example.txt'>
<ShortcutId='ExampleShortcut'
Directory='ProgramMenuFolder'
Name='Example'LongName='$(loc.ShortShortcutName)'
Description='$(loc.LongShortcutName)'/>
</File>
</Component>
</Directory>
</Directory>
</Directory>
<DirectoryId='ProgramMenuFolder'Name='ProgMenu'/>
</Directory>
<FeatureId='ExampleFeature'Title='$(loc.FeatureTitle)'Level='1'>
<ComponentRefId='ExampleComponent'/>
</Feature>
</Product>
</Wix>
Youshouldagainbeabletocompilethatfilebutifyoutrytolinkyoushouldseeerrormessagessuchas,"light.exe:fatalerrorLGHT0023:Localizationstring'FeatureTitle'unknown.Ensurethatthe
![Page 608: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/608.jpg)
$(loc.FeatureTitle)isdefined."ThaterrormessagebasicallymeanswedidnotprovideaLocalizationfilewithallofthelocalizableidentifiersandtext.So,nowweneedtocreateourfirst.wxlfile.I'vecalledmineexample1033.wxlanditgoesalittlelikethis:
<?xmlversion='1.0'?>
<WixLocalizationxmlns='http://schemas.microsoft.com/wix/2003/01/localization'Codepage='1252'>
<StringId='LANG'>1033</String>
<StringId='Description'>ExampleDescriptionforProduct</String>
<StringId='Comments'>ExampleProducttodemonstratelocalizedData</String>
<StringId='ShortDirName'>example</String>
<StringId='LongDirName'>ExampleDirectory</String>
<StringId='Filename'>example.txt</String>
<StringId='ShortShortcutName'>Example</String>
<StringId='LongShortcutName'>Shortcuttoexample.txt</String>
<StringId='FeatureTitle'>ExampleFeatureforProduct</String>
</WixLocalization>
Now,togetourMSIfileback.
C:\wix>candleexample.wxs
Microsoft(R)WindowsInstallerXmlCompilerversion2.0.2328.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
example.wxs
C:\wix>lightexample.wixobj-locexample1033.wxl
Microsoft(R)WindowsInstallerXmlLinkerversion2.0.2328.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
C:\wix>
Iwanttonotethat(barringanytypos)thisMSIfileshouldbeidenticaltothefirstMSIfilewecreated.Ialsowanttonotethatthiswillbethelasttimewecompiletheexample.wxs.SincewehavespecifiedallofourlocalizationvariableswenolongerneedtocompiletogetchangesinourMSIfile.Allweneedtodolocalizeourexample1033.wxlfileintootherlanguages.Since,Idon'tknowanyotherlanguages,I'mgoingtolocalizeourexample1033.wxlfileintothe"Foolanguage"andusetheJapaneseLCID,1041,sinceIhappentorememberthatone.Here'stheexample1041.wxlfilelocalizedintothe"Foolanguage":
![Page 609: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/609.jpg)
<?xmlversion='1.0'?>
<WixLocalizationxmlns='http://schemas.microsoft.com/wix/2003/01/localization'Codepage='932'>
<StringId='LANGID'>1041</String>
<StringId='Description'>FooFoofooFoo</String>
<StringId='Comments'>FooFoofoofoofooFoo</String>
<StringId='ShortDirName'>Foo</String>
<StringId='LongDirName'>FooFoo</String>
<StringId='Filename'>foo.txt</String>
<StringId='ShortShortcutName'>Foo</String>
<StringId='LongShortcutName'>Foofoofoo.txt</String>
<StringId='FeatureTitle'>FooFoofooFoo</String>
</WixLocalization>
Noticehowelegantthe"Foolanguage"is.Theelegancereallyislostintextformat.Somuchofthe"Foolanguage"istransmittedviathepitchanddurationofeachword.ButIdigress.Let'sbuildour"Foolanguage"example.msifile.Thiswilljuststompoverourpreviousexample.msisomakesureyouuninstallthepreviousexample.msifileusing"msiexec/xexample.msi"(oryou'llhavetogotoControlPanel->Add/RemovePrograms).Let'slink(andonlylink)ourMSIfile:
C:\wix>lightexample.wixobj-locexample1041.wxl
Microsoft(R)WindowsInstallerXmlLinkerversion2.0.2328.0
Copyright(C)MicrosoftCorporation2003.Allrightsreserved.
C:\wix>
NowifyouinstalltheMSIfileyouarelikelytoseesquareboxesfortheActionTextduringtheprogressdialogbox.Ibelievethisoccurswhenyoudon'thavetheJapanesefontsnecessarytodisplaytheWindowsInstaller'sdefaulttextmessages.Inanycase,Idon'thaveJapanesefontsinstalledonmymachinesoIseesquareboxes.However,squareboxesornosquareboxeseverythingshouldinstalljustfine.Afterinstalling,youtooshouldseea"Foo"shortcutinyourProgramMenuFolder.
That'sallthereisto.wxlfiles.Hopefully,youcanseehowtheLocalizationfilescangreatlysimplifytherelationshipbetweenyou,yourlocalizers,andyoursetup.Iwouldalsoliketonotethat.wxlfilesarerelativelynewconstructsintheWiXtoolsetsoifyouhavesuggestionshowtoimprovethempleasefeelfreetosendyourfeedbacktothe"wix-
![Page 610: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/610.jpg)
devsatsourceforge.net"mailinglist.
Andthatbringsmetomyfinalpoint.Thereisoneveryfatalflawinthecodeabove.Idebateddelayingthisblogentrytofixtheissuebutdecidedthecontentherewasvaluableevenwiththemistake.Haveyoufoundityet?LookcloselyattheComponent/@Guidattribute.DidthatvaluechangeeachtimeyoucreatedacompletelydifferentComponentlikethestep9intheLocalizationOverviewsuggests?Probablynotbecauseyoucan'tcurrentlylocalizeGUIDvaluesasdescribedbythisbugonSourceForge.However,thevalueshouldchangebecauseyouhaveverydifferentShortcutsinthetwoComponents(andtheexample.txtfileisinstalledtodifferentlocationssothereisnooverlap).So,IapologizeprofuselyforcreatinganexamplethatviolatestheComponentRulesandIwillfixthebugASAP.
Inthemeantime,havefunplayingwithyour.wxlfilesandkeepcoding.
Copyright©RobMensching
![Page 611: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/611.jpg)
GettingHelpPleaseseesourceforge.net/projects/wixformoreinformation.
![Page 612: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/612.jpg)
YesNoType(SimpleType)
Description
Valuesofthistypewilleitherbe"yes"or"no".
EnumerationTypePossiblevalues:{no,yes}
SeeAlsoWixSchema
![Page 613: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/613.jpg)
uuid(SimpleType)
Description
Valuesofthistypewilllooklike:"01234567-89AB-CDEF-0123-456789ABCDEF"or"{01234567-89AB-CDEF-0123-456789ABCDEF}".
PatternTypeMustmatchtheregularexpression:'[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?'.
SeeAlsoWixSchema
![Page 614: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/614.jpg)
ModularizeType(SimpleType)
Description
None
EnumerationTypePossiblevalues:{None,Column,Property,Condition,CompanionFile,SemicolonDelimited}
SeeAlsoWixSchema
![Page 615: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/615.jpg)
ComponentGuid(SimpleType)
Description
Valuesofthistypewilllooklike:"01234567-89AB-CDEF-0123-456789ABCDEF"or"{01234567-89AB-CDEF-0123-456789ABCDEF}",butalsoallows"PUT-GUID-HERE"foruseinexamples.It'salsopossibletohaveanemptyvalue"".
PatternTypeMustmatchtheregularexpression:'[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-HERE|'.
SeeAlsoWixSchema
![Page 616: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/616.jpg)
LocalizableInteger(SimpleType)
Description
Valuesofthistypemustbeanintegerorthevaluecanbealocalizationvariablewiththeformat$(loc.VARIABLE).
PatternTypeMustmatchtheregularexpression:'[0-9][0-9]*|\$\(loc\.[_A-Za-z][0-9A-Za-z_]*\)'.
SeeAlsoWixSchema
![Page 617: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/617.jpg)
LongFileNameType(SimpleType)
Description
Valuesofthistypewilllooklike:"LongFileName.extension".Thefollowingcharactersarenotallowed:\?|>:/*"orless-than.Thenamemustbeshorterthan260characters.Thevaluecouldalsobealocalizationvariablewiththeformat$(loc.VARIABLE).
PatternTypeMustmatchtheregularexpression:'[^\\\?|><:/\*"]{1,259}|\$\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)'.
SeeAlsoWixSchema
![Page 618: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/618.jpg)
ShortFileNameType(SimpleType)
Description
Valuesofthistypewilllooklike:"FileName.ext".Thefollowingcharactersarenotallowed:\?|>:/*"+,;=[]less-than,orwhitespace.Thenamecannotbelongerthan8charactersandtheextensioncannotexceed3characters.Thevaluecouldalsobealocalizationvariablewiththeformat$(loc.VARIABLE).
PatternTypeMustmatchtheregularexpression:'[^\\\?|><:/\*"\+,;=\[\]]{1,8}(\.[^\\\?|><:/\*"\+,;=\[\]]{0,3})?|\$\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)'.
SeeAlsoWixSchema
![Page 619: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/619.jpg)
WildCardLongFileNameType(SimpleType)
Description
Valuesofthistypewilllooklike:"LongFileN?me.extension*".Thefollowingcharactersarenotallowed:\|>:/"orless-than.Thenamemustbeshorterthan260characters.Thevaluecouldalsobealocalizationvariablewiththeformat$(loc.VARIABLE).
PatternTypeMustmatchtheregularexpression:'[^\\\|><:/"]{1,259}|\$\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)'.
SeeAlsoWixSchema
![Page 620: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/620.jpg)
YesNoDefaultType(SimpleType)
Description
Valuesofthistypewilleitherbe"default","yes",or"no".
EnumerationTypePossiblevalues:{default,no,yes}
SeeAlsoWixSchema
![Page 621: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/621.jpg)
HexType(SimpleType)
Description
Thistypesupportsanyhexadecimalnumber.Bothupperandlowercaseisacceptableforlettersappearinginthenumber.Thistypealsoincludestheemptystring:"".
PatternTypeMustmatchtheregularexpression:'[0-9A-Fa-f]*'.
SeeAlsoWixSchema
![Page 622: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/622.jpg)
autogenuuid(SimpleType)
Description
Valuesofthistypewilllooklike:"01234567-89AB-CDEF-0123-456789ABCDEF"or"{01234567-89AB-CDEF-0123-456789ABCDEF}".AGUIDcanbeauto-generatedbywritingallquestionmarkslikethis:"????????-????-????-????-????????????".Alsoallows"PUT-GUID-HERE"foruseinexamples.
PatternTypeMustmatchtheregularexpression:'[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|[{(]?\?{8}\-\?{4}\-\?{4}\-\?{4}\-\?{12}[})]?|PUT\-GUID\-HERE'.
SeeAlsoWixSchema
![Page 623: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/623.jpg)
WildCardShortFileNameType(SimpleType)
Description
Valuesofthistypewilllooklike:"File?.*".Thefollowingcharactersarenotallowed:\|>:/"+,;=[]less-than,orwhitespace.Thenamecannotbelongerthan8charactersandtheextensioncannotexceed3characters.Thevaluecouldalsobealocalizationvariablewiththeformat$(loc.VARIABLE).
PatternTypeMustmatchtheregularexpression:'[^\\\|><:/"\+,;=\[\]]{1,8}(\.[^\\\|><:/"\+,;=\[\]]{0,3})?|\$\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)'.
SeeAlsoWixSchema
![Page 624: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/624.jpg)
PercentType(SimpleType)
Description
Valuesofthistypeareanyintegersbetween0and100,inclusive.
xs:nonNegativeIntegerTypexs:maxInclusivevalue='100'
SeeAlsoWixSchema
![Page 625: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/625.jpg)
VersionType(SimpleType)
Description
Valuesofthistypewilllooklike:"x.x.x.x"wherexisanintegerfrom0to65534.
PatternTypeMustmatchtheregularexpression:'(\d{1,5}\.){3}\d{1,5}'.
SeeAlsoWixSchema
![Page 626: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/626.jpg)
uuid(SimpleType)
Description
Valuesofthistypewilllooklike:"01234567-89AB-CDEF-0123-456789ABCDEF"or"{01234567-89AB-CDEF-0123-456789ABCDEF}".
PatternTypeMustmatchtheregularexpression:'[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?'.
SeeAlsoMmcSchema
![Page 627: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/627.jpg)
YesNoType(SimpleType)
Description
Valuesofthistypewilleitherbe"yes"or"no".
EnumerationTypePossiblevalues:{no,yes}
SeeAlsoNetfxSchema
![Page 628: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/628.jpg)
YesNoType(SimpleType)
Description
Valuesofthistypewilleitherbe"yes"or"no".
EnumerationTypePossiblevalues:{no,yes}
SeeAlsoPubcaSchema
![Page 629: Introduction to WiX · The Windows Installer XML (WiX) platform is a set of tools and specifications that allow you to easily create Windows Installer database ... symbol/reference](https://reader035.vdocuments.site/reader035/viewer/2022070901/5f4857c674b4143c7e575930/html5/thumbnails/629.jpg)
uuid(SimpleType)
Description
Valuesofthistypewilllooklike:"01234567-89AB-CDEF-0123-456789ABCDEF".
PatternTypeMustmatchtheregularexpression:'[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}'.
SeeAlsoPubcaSchema