<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>votive, wix, vsip, and all things microsoft : WiX</title><link>http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx</link><description>Tags: WiX</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Changing the file extension of WiX extensions from .dll to .wixext (Revisited)</title><link>http://blogs.msdn.com/jrock/archive/2008/03/03/changing-the-file-extension-of-wix-extensions-from-dll-to-wixext-revisited.aspx</link><pubDate>Mon, 03 Mar 2008 23:27:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8009129</guid><dc:creator>jrock</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/jrock/comments/8009129.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=8009129</wfw:commentRss><description>&lt;p&gt;In one of my last &lt;a href="http://blogs.msdn.com/jrock/archive/2008/02/13/changing-the-file-extension-of-wix-extensions-from-dll-to-wixext.aspx"&gt;blog posts&lt;/a&gt; I wrote about how we would be changing the file extension of WiX extensions from .dll to .wixext. Well, it turns out that we won't be doing it for technical reasons.&lt;/p&gt;  &lt;p&gt;A WiX extension is really just a .NET assembly with an embedded XSD and wixlib. While it's technically possible to rename a managed assembly from .dll to .wixext, it will add a limitation that we didn't want to enforce. If WixExtensionA.wixext had a runtime reference to WixExtensionB.wixext, then the runtime cannot find the file if it doesn't end in a .dll. I personally think that's a limitation that the .NET Framework did not need to impose, but I also do not know all of the details. I'm sure there was a good reason to impose that limitation. We also had some problems with Visual Studio not letting us add project references to other WixExtensions that didn't end in a .dll.&lt;/p&gt;  &lt;p&gt;As a result, we will not be doing this change and the current behavior will remain.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8009129" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>Changing the file extension of WiX extensions from .dll to .wixext</title><link>http://blogs.msdn.com/jrock/archive/2008/02/13/changing-the-file-extension-of-wix-extensions-from-dll-to-wixext.aspx</link><pubDate>Wed, 13 Feb 2008 23:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7680260</guid><dc:creator>jrock</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/jrock/comments/7680260.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=7680260</wfw:commentRss><description>&lt;P&gt;We will be doing a change that will probably affect most users of WiX v3, so I wanted to get this blog post out in the community to notify people of the upcoming change. Within the next few weeks we will be changing the file extension of WiX extensions from .dll to .wixext. There are several reasons why we think this is an important thing to do:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Wix-specifc file extensions &lt;/LI&gt;
&lt;LI&gt;OS file handlers and icons &lt;/LI&gt;
&lt;LI&gt;Votive UI &lt;/LI&gt;&lt;/UL&gt;
&lt;H2&gt;WiX-specific File Extensions&lt;/H2&gt;
&lt;P&gt;Although a WiX extension is really just a .NET assembly with an embedded XSD and wixlib, it really should be differentiated as a separate file type. This gives us the flexibility to change the format of the file in the future without affecting the semantics of how you work with the file.&lt;/P&gt;
&lt;P&gt;Also, we have WiX-specific file extensions for all of our other types of files. For example, .wxs, .wxi, and .wxl are all XML files, but giving a separate file extension provides ease of use.&lt;/P&gt;
&lt;H2&gt;OS File Handlers and Icons&lt;/H2&gt;
&lt;P&gt;Typically a file extension is handy when viewing and working with files in Windows Explorer. For example, when you double-click a .wxs file (assuming you have installed Votive), then Visual Studio will be opened and will display the contents of that file. Users are also free to associate other tools with a given file extension. The problem with using the .dll extension in our WiX extensions is that it limits our flexibility in regards to open behavior in Windows Explorer. First of all, a DLL is a special type of entity in Windows, so mapping editors/viewers to the .DLL extension is not always possible or advisable. In the future, we may want to open WiX extensions in Votive in a special type of viewer or editor. By having a separate .wixext file extension, it gives us this flexibility.&lt;/P&gt;
&lt;P&gt;One other advantage to using .wixext is that we can associate an icon with the extension. We can't do that if we use the .DLL extension (well we can but not without writing some code to open up the file and detect whether it is truly a WiX extension).&lt;/P&gt;
&lt;H2&gt;Votive UI&lt;/H2&gt;
&lt;P&gt;In Votive, when you want to add a reference to an extension the "Add Reference" dialog will be shown. Currently it filters on WiX Extension Files (*.dll) which shows all of the standard extensions, but it also will show things like wix.dll, which aren't WiX extensions. That's a little confusing to a new user I think. Granted, we do name our extensions things like WixIIsExtension.dll, so it's at least somewhat evident, but still it's confusing. If we can instead filter on *.wixext then only valid WiX extensions are shown in the Add Reference dialog.&lt;/P&gt;
&lt;H2&gt;Backwards Compatibility&lt;/H2&gt;
&lt;P&gt;Although the file extension will change from .dll to .wixext the tools will still support the old .dll extension. In fact, they really won't impose any restriction on the file extension since the contents of the file are what matter.&lt;/P&gt;
&lt;H2&gt;How Does this Affect You?&lt;/H2&gt;
&lt;P&gt;If you use any of the standard WiX custom action extensions, then you'll have to change your build scripts to reference the new names.&lt;/P&gt;
&lt;P&gt;If you use MSBuild or Votive, then you'll have to change any references you have in your .wixproj files (&lt;CODE&gt;&amp;lt;WixExtension&amp;gt;&lt;/CODE&gt; elements). You can do this manually by hand-editing the .wixproj file or you can do this by removing the old references (right mouse click and select "Remove") and then re-adding them.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;ItemGroup&amp;gt;  &lt;BR&gt;&amp;nbsp; &amp;lt;WixExtension Include="$(ProgramFiles)\Windows Installer XML v3\bin\WixIIsExtension.wixext" /&amp;gt;&lt;BR&gt;&amp;lt;/ItemGroup&amp;gt;&lt;/PRE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We will also try to put out a similar reference for NMake and NAnt when the feature gets checked in.&lt;/P&gt;
&lt;P&gt;The bug tracking this feature is at &lt;A title=http://sourceforge.net/tracker/?func=detail&amp;amp;atid=642714&amp;amp;aid=1868802&amp;amp;group_id=105970 href="http://sourceforge.net/tracker/?func=detail&amp;amp;atid=642714&amp;amp;aid=1868802&amp;amp;group_id=105970" mce_href="http://sourceforge.net/tracker/?func=detail&amp;amp;atid=642714&amp;amp;aid=1868802&amp;amp;group_id=105970"&gt;http://sourceforge.net/tracker/?func=detail&amp;amp;atid=642714&amp;amp;aid=1868802&amp;amp;group_id=105970&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;We expect to have the work done and checked in by the end of February. We will send out another notice to the &lt;A href="mailto:wix-users@lists.sourceforge.net" mce_href="mailto:wix-users@lists.sourceforge.net"&gt;wix-users@lists.sourceforge.net&lt;/A&gt; alias and I will also post another blog entry when this happens.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7680260" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>Complete list of Candle preprocessor variables</title><link>http://blogs.msdn.com/jrock/archive/2008/01/29/complete-list-of-candle-preprocessor-variables.aspx</link><pubDate>Wed, 30 Jan 2008 01:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7314280</guid><dc:creator>jrock</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/jrock/comments/7314280.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=7314280</wfw:commentRss><description>&lt;P&gt;Some people have asked about this in the past on the wix-users mailing list, so I thought I'd just put it here so it's on the web searches. (We really need to do an overhaul on our &lt;A href="http://wix.sourceforge.net/" mce_href="http://wix.sourceforge.net/"&gt;WiX home page&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;This is just copied verbatim from the Wix.chm file.&lt;/P&gt;
&lt;P&gt;[Edit]: By the way, this list applies to Votive v3 and not Votive v2. Although similar, complete instructions on how to do this in Votive v2 are given in &lt;A class="" href="http://www.robmensching.com/blog/Default.aspx" mce_href="http://www.robmensching.com/blog/Default.aspx"&gt;Rob's&lt;/A&gt; MSDN article here (&lt;A href="http://msdn2.microsoft.com/en-us/aa302186.aspx#wixsetup_topic9"&gt;http://msdn2.microsoft.com/en-us/aa302186.aspx#wixsetup_topic9&lt;/A&gt;).&lt;/P&gt;
&lt;H1&gt;Project References&lt;/H1&gt;
&lt;H2&gt;Introduction&lt;/H2&gt;
&lt;P&gt;The WiX Visual Studio package supports adding project references to a WiX project. This ensures that build order dependencies are defined correctly within the solution. In addition, it generates a set of WiX preprocessor definitions which are set on the Candle command line and can be referenced in source files. &lt;/P&gt;
&lt;H2&gt;Adding Project References&lt;/H2&gt;
&lt;P&gt;To add a project reference to a WiX project: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Right-click on the References node of the project in the Solution Explorer and choose Add Reference... &lt;/LI&gt;
&lt;LI&gt;In the Add WiX Library Reference dialog, click on the Projects tab. &lt;/LI&gt;
&lt;LI&gt;Select the desired project(s) and click the Add button, then click OK to dismiss the dialog. &lt;/LI&gt;&lt;/OL&gt;
&lt;H2&gt;List of Supported Project References&lt;/H2&gt;
&lt;P&gt;The WiX Visual Studio package supports the following project reference variables: &lt;/P&gt;
&lt;TABLE class=style1 cellSpacing=0 cellPadding=2 border=1 class="style1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;&lt;B&gt;Variable name&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;&lt;B&gt;Example usage&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;&lt;B&gt;Example value&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.Configuration&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.Configuration)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;Debug or Release&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.FullConfiguration&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.FullConfiguration)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;Debug | AnyCPU&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.Platform&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.Platform)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;AnyCPU, Win32, x64 or ia64&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.ProjectDir&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.ProjectDir)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;C:\users\myusername\Documents\Visual Studio 2005\Projects\MyProject\&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.ProjectExt&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.ProjectExt)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;.csproj&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.ProjectFileName&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.ProjectFileName)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;MyProject.csproj&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.ProjectName&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.ProjectName)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;MyProject&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.ProjectPath&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.ProjectPath)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;C:\users\myusername\Documents\Visual Studio 2005\Projects\MyProject\MyApp.csproj&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.TargetDir&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.TargetDir)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;C:\users\myusername\Documents\Visual Studio 2005\Projects\MyProject\obj\Debug\&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.TargetExt&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.TargetExt)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;.exe&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.TargetFileName&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.TargetFileName)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;MyProject.exe&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.TargetName&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.TargetName)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;MyProject&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.&amp;lt;ProjectName&amp;gt;.TargetPath&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.MyProject.TargetPath)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;C:\users\myusername\Documents\Visual Studio 2005\Projects\MyProject\obj\Debug\MyProject.exe&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.SolutionDir&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.SolutionDir)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;C:\users\myusername\Documents\Visual Studio 2005\Projects\MySolution\&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.SolutionExt&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.SolutionExt)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;.sln&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.SolutionFileName&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.SolutionFileName)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;MySolution.sln&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.SolutionName&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.SolutionName)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;MySolution&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;var.SolutionPath&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;$(var.SolutionPath)&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;C:\users\myusername\Documents\Visual Studio 2005\Projects\MySolution\MySolution.sln&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H2&gt;Example&lt;/H2&gt;
&lt;P&gt;The following File element demonstrates how to use project references in WiX authoring: &lt;/P&gt;&lt;PRE&gt;&amp;lt;File Id="MyExecutable" Name="$(var.MyProject.TargetFileName)" Source="$(var.MyProject.TargetPath)" DiskId="1" /&amp;gt;&lt;/PRE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7314280" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/Votive/default.aspx">Votive</category><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>How to use Extensions in Votive (IIS or UI extensions, for example)</title><link>http://blogs.msdn.com/jrock/archive/2007/10/19/how-to-use-extensions-in-votive-iis-or-ui-extensions-for-example.aspx</link><pubDate>Fri, 19 Oct 2007 21:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5527185</guid><dc:creator>jrock</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jrock/comments/5527185.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=5527185</wfw:commentRss><description>&lt;P&gt;It seems we have this question pop up a few times a week on the wix-users mailing list, so I thought I'd add something here as another reference when people are searching the web. Thanks to &lt;A class="" href="http://blogs.msdn.com/astebner/" mce_href="http://blogs.msdn.com/astebner/"&gt;Aaron Stebner&lt;/A&gt; for writing this entry in our WiX.chm file, available as part of the &lt;A class="" href="http://wix.sourceforge.net/releases/" mce_href="http://wix.sourceforge.net/releases/"&gt;WiX&amp;nbsp;releases&lt;/A&gt; (&amp;gt;= 3.0.3419).&lt;/P&gt;
&lt;H3&gt;How to use WiX 3.0 extensions when building MSIs&lt;/H3&gt;
&lt;P&gt;To use a WiX 3.0 extension when calling the WiX tools directly, you need to use the &lt;SPAN class=code&gt;-ext&lt;/SPAN&gt; command line parameter available in the Candle, Light and Lit tools and pass in the extension DLL(s) needed for your project. Each extension DLL must be passed in via separate -ext parameters. For example: &lt;PRE&gt;light.exe MySetup.wixobj
-ext "C:\Program Files\Windows Installer XML v3\bin\WixUIExtension.dll"
-ext "C:\Program Files\Windows Installer XML v3\bin\WixUtilExtension.dll"
-out MySetup.msi
&lt;/PRE&gt;
&lt;P&gt;To use a WiX 3.0 extension when building in Visual Studio with the Votive add-in, you can use the following steps: 
&lt;OL&gt;
&lt;LI&gt;Right-click on the WiX project in the Visual Studio solution explorer and select Add Reference... 
&lt;LI&gt;In the Add WiX Library Reference dialog, click on the Browse tab and browse to the WiX extension DLL that you want to include. 
&lt;LI&gt;Click the Add button to add a reference to the chosen extension DLL. 
&lt;LI&gt;Browse and add other extension DLLs as needed. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;After you have added a reference to an extension DLL, Votive will automatically add the appropriate &lt;SPAN class=code&gt;-ext&lt;/SPAN&gt; command line switches when it calls Candle, Light or Lit when performing a build. 
&lt;H3&gt;How to enable IntelliSense for WiX 3.0 extensions&lt;/H3&gt;
&lt;P&gt;To enable IntelliSense for a WiX extension in the Visual Studio IDE, you must also add an XMLNS declaration to the &lt;SPAN class=code&gt;&amp;lt;WIX&amp;gt;&lt;/SPAN&gt; element in your WXS file. For example, if you want to use the NativeImage functionality in the WixNetFxExtension, the &lt;WIX&gt;element would look like the following: &lt;PRE&gt;&amp;lt;Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"&amp;gt; 
&lt;/PRE&gt;
&lt;P&gt;After adding this, you can add an element named &lt;SPAN class=code&gt;&amp;lt;netfx:NativeImage/&amp;gt;&lt;/SPAN&gt; and view IntelliSense for the attributes supported by the NativeImage element. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5527185" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/Votive/default.aspx">Votive</category><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>Handy little Visual Studio shortcut key for Wix/Votive developement</title><link>http://blogs.msdn.com/jrock/archive/2006/11/16/handy-little-visual-studio-shortcut-key-for-wix-votive-developement.aspx</link><pubDate>Fri, 17 Nov 2006 00:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1089022</guid><dc:creator>jrock</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jrock/comments/1089022.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=1089022</wfw:commentRss><description>&lt;P&gt;If you use Visual Studio to edit your Wix projects (either using Votive or just the plain XML editor), you may be interested in this handy little shortcut key. If you turn on pedantic checking for your WiX files, one of the warnings will be about having mixed-case GUIDs. The easy fix is to select the GUID and then go to Edit / Advanced / Make Uppercase (Ctrl+Shift+U). Voila, your GUID is now all uppercase.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1089022" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/Votive/default.aspx">Votive</category><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>Updated the Votive page on wix.sourceforge.net</title><link>http://blogs.msdn.com/jrock/archive/2006/10/02/Updated-the-Votive-page-on-wix.sourceforge.net.aspx</link><pubDate>Mon, 02 Oct 2006 23:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:781722</guid><dc:creator>jrock</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/jrock/comments/781722.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=781722</wfw:commentRss><description>&lt;P&gt;We've been missing information about Votive on our official &lt;A class="" href="http://wix.sourceforge.net/" mce_href="http://wix.sourceforge.net"&gt;WiX&lt;/A&gt; web page, so I updated the web site. You can check it out at &lt;A href="http://wix.sourceforge.net/votive.html"&gt;http://wix.sourceforge.net/votive.html&lt;/A&gt;. It also has some screen shots.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=781722" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/Votive/default.aspx">Votive</category><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>Robert Scoble visits our Wix night</title><link>http://blogs.msdn.com/jrock/archive/2006/03/08/546322.aspx</link><pubDate>Wed, 08 Mar 2006 20:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:546322</guid><dc:creator>jrock</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jrock/comments/546322.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=546322</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The Scobleizer visited our weekly Wix night &lt;A href="http://scobleizer.wordpress.com/2006/03/07/nighttime-at-microsoft/"&gt;last night&lt;/A&gt;. He took a &lt;A href="http://www.flickr.com/photos/35034363287@N01/109504144/"&gt;picture&lt;/A&gt; but both K and I got robbed. K's laptop is on the left side of the picture and I'm behind Robert taking the picture. :) Oh well, maybe we'll be in the video when it appears on &lt;A href="http://channel9.msdn.com/"&gt;Channel 9&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=546322" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>How to get IntelliSense for WiX in Visual Studio 2003 and 2005</title><link>http://blogs.msdn.com/jrock/archive/2005/12/23/507021.aspx</link><pubDate>Fri, 23 Dec 2005 12:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:507021</guid><dc:creator>jrock</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/jrock/comments/507021.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=507021</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;There have been a couple people to blog about this already (one is &lt;A href="http://weblogs.asp.net/sweinstein/archive/2004/08/31/223461.aspx"&gt;here&lt;/A&gt;), but I wanted to point out that Visual Studio 2003 and Visual Studio 2005 are different in how you get IntelliSense working for WiX files. For both you have to copy the wix.xsd file to a specified directory.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;Visual Studio 2003&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Copy the wix.xsd and wixloc.xsd files to the following directory: C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\schemas\xml&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;Visual Studio 2005&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Copy the wix.xsd and wixloc.xsd files to the following directory: C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Now when you add &amp;lt;Wix xmlns="&lt;FONT face="Times New Roman" size=3&gt;&lt;FONT face=Verdana size=2&gt;http://schemas.microsoft.com/wix/2003/01/wi"&amp;gt;&amp;lt;/Wix&amp;gt;, you should have IntelliSense. I don't recommend manually changing the registry key, as is mentioned in the other blogs, because the GUID is different for the XML editor between Visual Studio 2003 and 2005. You can achieve the same effect by opening a wxs, wxi, wxl, wixlib, or wixobj from within Visual Studio. Then on the Open dialog, click the drop down arrow on the Open button and select "Open With". It will then pop up a dialog with all of the various editors registered with Visual Studio. Select the XML Editor (HTML/XML Editor in Visual Studio 2003) and then click the&amp;nbsp;"Set as Default" button. Now whenever you open a file with that extension Visual Studio will use the XML editor for it.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;FONT face=Verdana size=2&gt;I'd also like to give a shameless plug for Votive, which is even easier. The votive.msi file available &lt;A href="http://wix.sourceforge.net/latestrelease.html"&gt;here&lt;/A&gt;&amp;nbsp;will automatically copy the xsd files to the right places for you and will also give you WiX project support within Visual Studio: build support, editing, and many of the other nice Visual Studio stuff. It will also register all WiX file types under the XML editor, using the correct GUIDs. Note that Votive is still fairly young, so it does not have all of the features you'd expect. I'm always willing to have help, though, if you're interested in tackling some more features. [;)]&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=507021" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>Moving the WiX toolset to NAnt builds</title><link>http://blogs.msdn.com/jrock/archive/2005/09/08/462827.aspx</link><pubDate>Fri, 09 Sep 2005 09:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:462827</guid><dc:creator>jrock</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jrock/comments/462827.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=462827</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;As many of you may know, we've had two different builds for the &lt;A href="http://wix.sourceforge.net/"&gt;WiX toolset&lt;/A&gt;: one for the external world (i.e. SourceForge), and the other for the developers working on WiX inside of Microsoft. These two builds were different enough to mess things up from time to time, and at the very least was annoying trying to port from one to the other. Therefore, we've decided to start using a new build system. At first we thought we'd use the new and improved &lt;A href="http://msdn2.microsoft.com/en-us/library/0k6kkbsd.aspx"&gt;MSBuild&lt;/A&gt; system that comes with Whidbey. However, we found that it doesn't support VC++ builds out of the box. Strike 1. We also found that it wasn't overly intuitive on how to get started with it and maintain it. Strike 2. And to top it off, it doesn't support building to the 1.1 .NET Framework. Strike 3.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I must say that I think the Visual Studio team has made some great improvements by introducing MSBuild in Whidbey and it's great in a lot of circumstances, just not ours. I honestly can't believe that it doesn't support .NET 1.1 or build VC++ projects. Maybe next version.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Since &lt;A href="http://bobs.org/"&gt;Bob&lt;/A&gt;, John, and I all had previous experience with &lt;A href="http://nant.sourceforge.net/"&gt;NAnt&lt;/A&gt;, we thought we'd try it out on WiX. So far so good. I only have a couple of the projects converted over, but the build times have greatly decreased (almost by a factor of 10), the build files are much, much more readable than our NMAKE sources/makefile.inc, and it's just a lot more fun to use NAnt. For one thing, you have the nice IntelliSense when editing .build files in Visual Studio. Also, it should be much easier for people to build the WiX toolset from the SourceForge drop. I'm hoping that we can roll out the NAnt version within a week or two.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=462827" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/MSBuild/default.aspx">MSBuild</category><category domain="http://blogs.msdn.com/jrock/archive/tags/NAnt/default.aspx">NAnt</category><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item><item><title>Announcing a new WiX project: Sconce</title><link>http://blogs.msdn.com/jrock/archive/2005/08/31/458353.aspx</link><pubDate>Wed, 31 Aug 2005 11:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458353</guid><dc:creator>jrock</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jrock/comments/458353.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jrock/commentrss.aspx?PostID=458353</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Although I'm still planning at this point to use the new &lt;A href="http://www.vsipdev.com/downloads/vssdk2005beta2.aspx"&gt;VS SDK 2005 MPF classes&lt;/A&gt;, I want to continue to support the current Votive VS 2003 version for a little while. I at least want to clean up some bugs and make it a little more robust before moving on.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;To help me in this endeavor, I've created a new project called "Sconce". What is it? Well, it's basically all of the Visual Studio infrastructure code that took up 90% of the Votive project. Why did I move it to another project? For a couple of reasons. The main reason is because I always wanted to have this isolation, which up&amp;nbsp;until now I accomplished via namespace separation (Microsoft.Tools.WindowsInstallerXml.VisualStudio.Infrastructure). However, I needed to have the infrastructure code be able to support IDispatch COM marshaling. This is a long story in and of itself, which I may write another blog entry on, but suffice it to say that I needed everything to be public instead of internal. This prompted me to finally make the move to a separate DLL. Additionally, this isolation makes it very easy for us (or anybody else for that matter) to create more Visual Studio project types. I can't think of any that we'd want to make other than WiX at this point, but it does provide this infrastructure if we need it in the future.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Why the name "Sconce"? Of course I had to choose another candle-related term to fit in the WiX style. I thought Sconce sounded cool and the definitions loosely fit in with the Votive theme as well. Sconce is &lt;A href="http://dictionary.reference.com/search?q=sconce"&gt;defined by dictionary.com&lt;/A&gt; as:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;sconce&lt;/STRONG&gt;&lt;SUP&gt;&lt;FONT size=-1&gt;2&lt;/FONT&gt;&lt;/SUP&gt; &amp;nbsp;&amp;nbsp;&lt;A href="https://secure.reference.com/premium/login.html?rd=2&amp;amp;u=http%3A%2F%2Fdictionary.reference.com%2Fsearch%3Fq%3Dsconce"&gt;&lt;IMG alt='Audio pronunciation of "sconce"' src="http://cache.lexico.com/dictionary/graphics/AHD4/JPG/pron.jpg" border=0&gt;&lt;/A&gt; &lt;SPAN style="DISPLAY: none"&gt;(&lt;/SPAN&gt;&lt;SPAN style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-SIZE: 7pt; BORDER-LEFT: 1px solid; COLOR: red; BORDER-BOTTOM: 1px solid; FONT-FAMILY: verdana, sans-serif; BACKGROUND-COLOR: #ffffcc"&gt;&amp;nbsp;P&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none"&gt;)&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=linksrc title="Click for guide to symbols." onclick="ahdpop();return false;" href="http://dictionary.reference.com/help/ahd4/pronkey.html"&gt;&lt;B&gt;&lt;FONT color=#0033ff&gt;Pronunciation Key&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&amp;nbsp;&amp;nbsp;(sk&lt;IMG height=15 alt="" src="http://cache.lexico.com/dictionary/graphics/AHD4/GIF/obreve.gif" width=7 align=bottom&gt;ns)&lt;BR&gt;&lt;I&gt;n.&lt;/I&gt; &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;A decorative wall bracket for holding candles or lights. 
&lt;LI&gt;A flattened candlestick that has a handle. 
&lt;LI&gt;&lt;U&gt;&lt;I&gt;Slang.&lt;/I&gt;&lt;/U&gt; The human head or skull.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;So, Sconce could be a holder for votive candles (although you usually don't hang votive candles on the wall, but I did say "loosely" fits). [:)]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;When will Sconce be available? It's part of the WiX 3.0 toolset, which isn't available yet. &lt;A href="https://sourceforge.net/users/derekc/"&gt;Derek&lt;/A&gt; and &lt;A href="https://blogs.msdn.com:443/robmen/"&gt;Rob&lt;/A&gt; are getting ready to release it soon.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=458353" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jrock/archive/tags/Votive/default.aspx">Votive</category><category domain="http://blogs.msdn.com/jrock/archive/tags/WiX/default.aspx">WiX</category></item></channel></rss>