<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Joy of Setup</title>
	<atom:link href="http://www.joyofsetup.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joyofsetup.com</link>
	<description>Bob Arnson's blog about setup and servicing</description>
	<pubDate>Wed, 03 Sep 2008 04:49:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Google Chrome setup</title>
		<link>http://www.joyofsetup.com/2008/09/02/google-chrome-setup/</link>
		<comments>http://www.joyofsetup.com/2008/09/02/google-chrome-setup/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 04:48:35 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[Windows Installer]]></category>

		<category><![CDATA[best practices]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/09/02/google-chrome-setup/</guid>
		<description><![CDATA[Google today released (after a bit of a comic-book&#160;pre-release, presumably due to the Labor Day holiday in the US) Google Chrome, its long-rumored open-source browser. Plenty of people will talk (endlessly) about the implications of another browser and how well Google Chrome and Chromium (the open source project) do the job. Blah, blah. Whatever. What&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Google today released (after a bit of a <a href="http://www.google.com/googlebooks/chrome/">comic-book</a>&#160;<a href="http://blogoscoped.com/google-blog.html">pre-release</a>, presumably due to the Labor Day holiday in the US) <a href="http://www.google.com/chrome/">Google Chrome</a>, its long-rumored open-source browser. Plenty of people will talk (endlessly) about the implications of another browser and how well Google Chrome and <a href="http://code.google.com/chromium/">Chromium</a> (the open source project) do the job. Blah, blah. Whatever. What&#8217;s <em>really </em>interesting is a couple of choices Google made about deployment:</p>
<ol>
<li>The Google Chrome <a href="http://www.google.com/chrome/eula.html">download</a> is a svelte 474K bootstrapper that downloads the setup bits. No offline installer is available (unless it&#8217;s well-hidden). </li>
<li>Google Chrome is a &quot;composite&quot; setup: The guts of the application are installed by a non-MSI self-extractor. However, Google Chrome <a href="http://blogoscoped.com/google-chrome/34">includes Google Gears</a>, the browser add-in/library that adds a <a href="http://code.google.com/apis/gears/gears_faq.html">bunch of functionality for making apps-in-the-browser more powerful</a>. The Gears in Google Chrome is installed by an MSI package. And yes, it&#8217;s built with WiX. </li>
<li>The Google Updater is no longer a LocalSystem service; instead, it starts at logon from the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run registry key. </li>
<li>Last and absolutely not least: Google Chrome is a per-user application. It even installs in the per-user LocalAppDataFolder. (The included Google Gears is marked as &quot;<a href="http://msdn.microsoft.com/en-us/library/aa372870(VS.85).aspx">UAC compliant</a>.&quot;) </li>
</ol>
<p>That Google Chrome is a per-user app is amazing. Even with UAC on Windows Vista and Windows Server 2008, it&#8217;s <em>so</em> easy to say that &quot;everyone&#8217;s used to needing admin privileges to install.&quot; That Google took the extra effort to limit themselves to the capabilities of a per-user app says a lot about their desire to have:</p>
<ul>
<li>a low-impact setup </li>
<li>and absolutely no barriers to entry. </li>
</ul>
<p>I wonder if it&#8217;s the start of a trend&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/09/02/google-chrome-setup/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Highlights of WiX v3.0.4429.0</title>
		<link>http://www.joyofsetup.com/2008/08/30/highlights-of-wix-v3044290/</link>
		<comments>http://www.joyofsetup.com/2008/08/30/highlights-of-wix-v3044290/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 01:26:24 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<category><![CDATA[WiX highlights]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/08/30/highlights-of-wix-v3044290/</guid>
		<description><![CDATA[
WiX v3.0.4429.0 was released on Friday, 29-August-08. You can download it from http://wix.sourceforge.net/releases/3.0.4429.0/.
New features

Aaron added properties to WixVSExtension to detect Visual Studio 2008 Service Pack 1. 
Aaron also added a new custom action, WixExitEarlyWithSuccess, which makes it easy to exit without error in a major upgrade when a later version is already installed. 
I updated [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>WiX v3.0.4429.0 was released on Friday, 29-August-08. You can download it from <a href="http://wix.sourceforge.net/releases/3.0.4429.0/">http://wix.sourceforge.net/releases/3.0.4429.0/</a>.</p>
<h6>New features</h6>
<ul>
<li><a href="http://blogs.msdn.com/astebner/default.aspx">Aaron</a> added properties to WixVSExtension to detect Visual Studio 2008 Service Pack 1. </li>
<li>Aaron also added a new custom action, WixExitEarlyWithSuccess, which makes it easy to exit without error in a major upgrade when a later version is already installed. </li>
<li>I updated make.bat and wix.build to pass desired verbosity from the NAnt side of the build to the MSBuild side. </li>
<li>Candy Chiang, of the team integrating WiX into Visual Studio, contributed many updates to the WiX.chm documentation. </li>
</ul>
<h6>Bug fixes</h6>
<ul>
<li>1591591: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1591591&amp;group_id=105970&amp;atid=642714">scawebsvcext.cpp does not work in IIS 5 </a></li>
<li>1741663: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1741663&amp;group_id=105970&amp;atid=642714">WebAppPool Fails on IIS &lt; 6.0 </a></li>
<li>1848752: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1848752&amp;group_id=105970&amp;atid=642714">NativeImage CA never runs</a> </li>
<li>2010047: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2010047&amp;group_id=105970&amp;atid=642714">Cannot add wixlib to project </a></li>
<li>2041989: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2041989&amp;group_id=105970&amp;atid=642714">Candle exception when inculding an invalid wxi file </a></li>
<li>2077095: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2077095&amp;group_id=105970&amp;atid=642714">Firewall Extension fails </a></li>
<li>Eric St. John fixed a bug in the CloseApplication custom action to correctly send close messages to all the top-level windows of the specified process, which should fix the problem noted on <em><a href="http://wix.sourceforge.net/mailinglists.html#wix-users">wix-users</a></em> where CloseApplication didn&#8217;t work with VB6 apps. </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/08/30/highlights-of-wix-v3044290/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Everybody could use a good Burn</title>
		<link>http://www.joyofsetup.com/2008/08/25/everybody-could-use-a-good-burn/</link>
		<comments>http://www.joyofsetup.com/2008/08/25/everybody-could-use-a-good-burn/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 05:11:57 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[Burn]]></category>

		<category><![CDATA[WiX]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/08/25/everybody-could-use-a-good-burn/</guid>
		<description><![CDATA[Rick Brewster of the Paint.NET team blogged about the pain of getting Paint.NET installed on a system without the .NET Framework. It&#8217;s fair to say that for a system running Windows XP without optional updates, installing the latest and greatest Framework is an annoying exercise. Part of the problem (blame) falls on the shoulders of [...]]]></description>
			<content:encoded><![CDATA[<p>Rick Brewster of the Paint.NET team blogged about the pain of <a href="http://blog.getpaint.net/2008/08/24/the-paintnet-install-experience-part-1-version-3xx/">getting Paint.NET installed on a system without the .NET Framework</a>. It&#8217;s fair to say that for a system running Windows XP without optional updates, installing the latest and greatest Framework is an annoying exercise. Part of the problem (blame) falls on the shoulders of the Framework folks: The Framework installer should install MSI 3.1 for users; asking them to go spelunking on the <a href="http://www.microsoft.com/downloads/search.aspx">Microsoft Download Center</a> for the MSI 3.1 redistributable, then run it and reboot, is rude at best.</p>
<p>Rick&#8217;s <a href="http://blog.getpaint.net/2008/08/25/the-paintnet-install-experience-part-2-version-40/">proposed solution for the next release of Paint.NET</a> is OK, though it has the downside of showing several very different UI experiences:</p>
<ul>
<li>A &quot;confirmation&quot; dialog that tells users that prerequisites will be installed.</li>
<li>The OS-component update dialog (for MSI 3.1) that most users no longer see, because it&#8217;s hidden behind Windows Update.</li>
<li>The .NET Framework Client Profile bootstrapper UI, which is slightly different than the OS-component update dialog.</li>
<li>The Paint.NET installer configuration UI, which is slightly different than the others.</li>
<li>The Paint.NET installer UI itself, which uses MSI basic UI.</li>
<li>If needed, a &quot;reboot needed&quot; dialog, which uses slightly different UI.</li>
</ul>
<p>A key scenario for Burn is to enable this scenario (with the Client Profile or &quot;normal&quot; .NET Framework installation). Part of being successful with that scenario is to have an integrated experience, which means having a <strong>consistent user interface</strong> and <strong>one progress bar</strong>.</p>
<p>We&#8217;re not there yet, but know that we&#8217;re working hard to solve this problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/08/25/everybody-could-use-a-good-burn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Highlights of WiX v3.0.4422.0</title>
		<link>http://www.joyofsetup.com/2008/08/23/highlights-of-wix-v3044220/</link>
		<comments>http://www.joyofsetup.com/2008/08/23/highlights-of-wix-v3044220/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 00:52:08 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<category><![CDATA[WiX highlights]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/08/23/highlights-of-wix-v3044220/</guid>
		<description><![CDATA[
WiX v3.0.4422.0 was released on Friday, 22-August-08. You can download it from http://wix.sourceforge.net/releases/3.0.4422.0/.

New features


Aaron added documentation on properties used in the MSBuild tasks and targets. 
Dan Manson added a strong-name skip-verification entry so builds on x64 OSes work without registry hacks. 
Eric St. John added the ElevatedCloseMessage attribute to the WixUtilExtension CloseApplication element (and corresponding [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>WiX v3.0.4422.0 was released on Friday, 22-August-08. You can download it from <a href="http://wix.sourceforge.net/releases/3.0.4422.0/">http://wix.sourceforge.net/releases/3.0.4422.0/</a>.</p>
</p>
<h6>New features</h6>
</p>
<ul>
<li><a href="http://blogs.msdn.com/astebner/default.aspx">Aaron</a> added documentation on properties used in the MSBuild tasks and targets. </li>
<li>Dan Manson added a strong-name skip-verification entry so builds on x64 OSes work without registry hacks. </li>
<li>Eric St. John added the ElevatedCloseMessage attribute to the WixUtilExtension CloseApplication element (and corresponding custom action implementation), to send a close message to the target process&#8217;s windows while running deferred. </li>
</ul>
<h6>Bug fixes</h6>
<ul>
<li>1708072: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1708072&amp;group_id=105970&amp;atid=642714">Access Violation with Large Cabinets </a></li>
<li>1827123: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1827123&amp;group_id=105970&amp;atid=642714">Can&#8217;t create sql database with name contains &#8216;-&#8217; </a></li>
<li>1881660: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1881660&amp;group_id=105970&amp;atid=642714">IIS Extension: Unable to install Certificate from MSM </a></li>
<li>1881856: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1881856&amp;group_id=105970&amp;atid=642714">IIS Extension: Unable uninstalling certificate under VISTA </a></li>
<li>1930640: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1930640&amp;group_id=105970&amp;atid=642714">PFXImportCertStore() fails to delete private key containers. </a></li>
<li>1984738: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1984738&amp;group_id=105970&amp;atid=642714">SchedXmlFile does not return ERROR_INSTALL_USEREXIT </a></li>
<li>2013549: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2013549&amp;group_id=105970&amp;atid=642714">Pyro is unnecessary slow </a></li>
<li>2023959: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2023959&amp;group_id=105970&amp;atid=642714">ConfigureEventManfiest returns ERROR_INSTALL_FAIL on cancel </a></li>
<li>2034934: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2034934&amp;group_id=105970&amp;atid=642714">Binder variable File IDs are not modularized </a></li>
<li>2041989: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2041989&amp;group_id=105970&amp;atid=642714">Candle exception when inculding an invalid wxi file </a></li>
<li>Chris Araman cleaned up some warnings in native code. </li>
<li>Mike Carlson fixed the preprocessor to handle variable names containing a dot in ifdef/ifndef checks. </li>
<li>Mike also fixed the WixUtilExtension User custom action so that on uninstall, it removes the user from groups it was added to if the user isn&#8217;t deleted on uninstall. </li>
</ul>
<p>[Updated with actual features -v- bug fixes.]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/08/23/highlights-of-wix-v3044220/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Highlights of WiX v3.0.4415.0</title>
		<link>http://www.joyofsetup.com/2008/08/16/highlights-of-wix-v3044150/</link>
		<comments>http://www.joyofsetup.com/2008/08/16/highlights-of-wix-v3044150/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 19:33:57 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<category><![CDATA[WiX highlights]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/08/16/highlights-of-wix-v3044150/</guid>
		<description><![CDATA[
WiX v3.0.4415.0&#8211;code-named Heat-Wave-in-Seattle?!&#8211;was released on Friday, 15-August-08. You can download it from http://wix.sourceforge.net/releases/3.0.4415.0/.
New features 

Jason added to DTF support for MSI 4.5&#8217;s embedded UI, along with a sample that uses WPF for the UI. 
Eric St. John added support for standard command-line switches to the WiX v3 bootstrapper. 

Bug fixes

1273447: Can&#8217;t put RegLocator inside DrLocator [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>WiX v3.0.4415.0&#8211;code-named Heat-Wave-in-Seattle?!&#8211;was released on Friday, 15-August-08. You can download it from <a href="http://wix.sourceforge.net/releases/3.0.4415.0/">http://wix.sourceforge.net/releases/3.0.4415.0/</a>.</p>
<h4>New features </h4>
<ul>
<li><a href="http://blogs.msdn.com/jasongin/">Jason</a> added to DTF support for MSI 4.5&#8217;s embedded UI, along with a sample that uses <a href="http://windowsclient.net/">WPF</a> for the UI. </li>
<li>Eric St. John added support for <a href="http://msdn.microsoft.com/en-us/library/aa372024(VS.85).aspx">standard command-line switches</a> to the WiX v3 bootstrapper. </li>
</ul>
<h4>Bug fixes</h4>
<ul>
<li>1273447: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1273447&amp;group_id=105970&amp;atid=642714">Can&#8217;t put RegLocator inside DrLocator </a></li>
<li>1613071: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1613071&amp;group_id=105970&amp;atid=642714">Unable to save VS project </a></li>
<li>1832500: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1832500&amp;group_id=105970&amp;atid=642714">Preprocessor: nested include uses wrong directory </a></li>
<li>2051748: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2051748&amp;group_id=105970&amp;atid=642714">SqlDatabase table definition error </a></li>
<li>I worked around a bug in MSI 4.5&#8217;s support for embedded UI. The FileName column purports to be of the Filename type, which requires both short (8.3) and long file names. It turns out only one file name, long or short, is supported. </li>
<li><a href="http://blogs.msdn.com/astebner/default.aspx">Aaron</a> fixed bugs in the ShellExec custom action topic and the how-tos that referred to it. </li>
<li>Jungwook Bae, of the Visual Studio team integrating WiX, fixed some bugs in Votive to make it behave more like C# projects. </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/08/16/highlights-of-wix-v3044150/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Highlights of WiX v3.0.4401.0</title>
		<link>http://www.joyofsetup.com/2008/08/03/highlights-of-wix-v3044010/</link>
		<comments>http://www.joyofsetup.com/2008/08/03/highlights-of-wix-v3044010/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 16:07:17 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<category><![CDATA[WiX highlights]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/08/03/highlights-of-wix-v3044010/</guid>
		<description><![CDATA[
WiX v3.0.4401.0 was released on Friday, 01-August-08. You can download it from http://wix.sourceforge.net/releases/3.0.4401.0/.
New features 

Neil Enns continues to add topics and fix bugs in the documentation. 
Mike Carlson made the Id/Name attribute default values (in the File element, from the @Source attribute) when used from a fragment. 

Bug fixes

2011737: Deleting an Element with XmlConfig always [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>WiX v3.0.4401.0 was released on Friday, 01-August-08. You can download it from <a href="http://wix.sourceforge.net/releases/3.0.4401.0/">http://wix.sourceforge.net/releases/3.0.4401.0/</a>.</p>
<h4>New features </h4>
<ul>
<li>Neil Enns continues to add topics and fix bugs in the documentation. </li>
<li>Mike Carlson made the Id/Name attribute default values (in the File element, from the @Source attribute) when used from a fragment. </li>
</ul>
<h4>Bug fixes</h4>
<ul>
<li>2011737: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2011737&amp;group_id=105970&amp;atid=642714">Deleting an Element with XmlConfig always results in Failure</a> </li>
<li>2027482: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2027482&amp;group_id=105970&amp;atid=642714">Exception when AssemblyManifest does not exist </a></li>
<li>2031498: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2031498&amp;group_id=105970&amp;atid=642714">EmbeddedUIResource </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/08/03/highlights-of-wix-v3044010/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Highlights of WiX v3.0.4325.0</title>
		<link>http://www.joyofsetup.com/2008/07/26/highlights-of-wix-v3043250/</link>
		<comments>http://www.joyofsetup.com/2008/07/26/highlights-of-wix-v3043250/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 21:49:44 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<category><![CDATA[WiX highlights]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/07/26/highlights-of-wix-v3043250/</guid>
		<description><![CDATA[WiX v3.0.4325.0 was released on Friday, 25-July-08. You can download it from http://wix.sourceforge.net/releases/3.0.4325.0/.
New features 

Mike Carlson changed the preprocessor to stop evaluating expressions in a false &#60;?if?&#62; block. That lets you check for the presence of a preprocessor variable, for example, and use it in the block &#34;knowing&#34; that it&#8217;s defined. 

Bug fixes

Jason and Mike [...]]]></description>
			<content:encoded><![CDATA[<p>WiX v3.0.4325.0 was released on Friday, 25-July-08. You can download it from <a href="http://wix.sourceforge.net/releases/3.0.4325.0/">http://wix.sourceforge.net/releases/3.0.4325.0/</a>.</p>
<h2>New features </h2>
<ul>
<li>Mike Carlson changed the preprocessor to stop evaluating expressions in a false &lt;?if?&gt; block. That lets you check for the presence of a preprocessor variable, for example, and use it in the block &quot;knowing&quot; that it&#8217;s defined. </li>
</ul>
<h2>Bug fixes</h2>
<ul>
<li><a href="http://blogs.msdn.com/jasongin/">Jason</a> and Mike cleaned up FxCop warnings. </li>
<li>Mike also added an error message when the cab-handling code couldn&#8217;t create temporary files. </li>
<li><a href="http://blogs.msdn.com/astebner/default.aspx">Aaron</a> cleaned up some command-line handling code. </li>
<li>2010040: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2010040&amp;group_id=105970&amp;atid=642714">Bind files into the library file not working.</a> </li>
<li>2013944: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2013944&amp;group_id=105970&amp;atid=642714">CAs always fail on Windows 2000 (or lower).</a></li>
<li>2016490: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2016490&amp;group_id=105970&amp;atid=642714">Votive doesn&#8217;t honour Visible item metadata </a></li>
<li>2020595: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2020595&amp;group_id=105970&amp;atid=642714">3.0.4309.0 breaks msi filename compatibility</a>&#160; <br /><em>Note that this change places localized output into subdirectories named after the culture (e.g., en-us).</em> The previous change embedded the culture id in the output name (e.g., foo.en-us.msi) which might have caused problems because MSI package names can&#8217;t change except by major upgrade. Thanks to blogless Neil for the MSBuild mojo. </li>
<li>2025134: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2025134&amp;group_id=105970&amp;atid=642714">Using ExtractFiles Method </a></li>
<li>2025411: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2025411&amp;group_id=105970&amp;atid=642714">Localized incremental builds are somewhat broken</a>
</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/07/26/highlights-of-wix-v3043250/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Highlights of WiX v3.0.4318.0</title>
		<link>http://www.joyofsetup.com/2008/07/21/highlights-of-wix-v3043180/</link>
		<comments>http://www.joyofsetup.com/2008/07/21/highlights-of-wix-v3043180/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 07:07:41 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<category><![CDATA[WiX highlights]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/07/21/highlights-of-wix-v3043180/</guid>
		<description><![CDATA[
WiX v3.0.4318.0 was released on Friday, 18-July-08. You can download it from http://wix.sourceforge.net/releases/3.0.4318.0/.
New features 

Neil Enns, still late of the MSBuild team and still working on secret stuff, added two new properties to the OsInfo custom actions that detect the presence of a WDDM driver and whether Desktop Window Manager (DWM) composition is enabled. See [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>WiX v3.0.4318.0 was released on Friday, 18-July-08. You can download it from <a href="http://wix.sourceforge.net/releases/3.0.4318.0/">http://wix.sourceforge.net/releases/3.0.4318.0/</a>.</p>
<h4>New features </h4>
<ul>
<li>Neil Enns, still late of the <a href="http://blogs.msdn.com/msbuild/">MSBuild team</a> and still working on <a href="http://labs.live.com/">secret stuff</a>, added two new properties to the OsInfo custom actions that detect the presence of a WDDM driver and whether Desktop Window Manager (DWM) composition is enabled. See &quot;OSInfo custom actions&quot; in WiX.chm for details.</li>
<li><a href="http://blogs.msdn.com/astebner/default.aspx">Aaron</a> added directory properties for .NET Framework root directories. See the &quot;WixNetfxExtension&quot; topic in WiX.chm for details.</li>
<li>Mike Holcomb added better error messages in the setupexe &quot;mini-chainer&quot; when installation errors occur.</li>
<li>I added support for Unicode filenames used as source files in cabinets.</li>
<li>I added PathGetKnownFolder, PathIsAbsolute, and PathConcat to the DUtil library.</li>
</ul>
<h4>Bug fixes</h4>
<ul>
<li>Neil fixed a bug in wix.targets that wasn&#8217;t passing culture information to Light when the project itself wasn&#8217;t localized.</li>
<li>Mike Carlson from the Visual Studio team cleaned up warnings reported by PREfast.</li>
<li>1881462: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1881462&amp;group_id=105970&amp;atid=642714">Add support for &quot;Trusted People&quot; certificate store.</a></li>
<li>1942826: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1942826&amp;group_id=105970&amp;atid=642714">Build fails if Wixlib reference is an UNC path</a> (take two)</li>
<li>1979210: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1979210&amp;group_id=105970&amp;atid=642714">Dark 3.0.4123.0 InvalidCastException on Windbg 6.9.3.113 MSI</a></li>
<li>2009171: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2009171&amp;group_id=105970&amp;atid=642714">Dark: Error on RadioButton table processing</a></li>
<li>2011818: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2011818&amp;group_id=105970&amp;atid=642714">Build output path is not saved </a></li>
<li>2016489: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2016489&amp;group_id=105970&amp;atid=642714">Votive adds empty Link metadata to renamed items </a></li>
<li>2017732: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2017732&amp;group_id=105970&amp;atid=642714">Dark 3.0.4227.0 InvalidCastException</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/07/21/highlights-of-wix-v3043180/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Beware localization variables</title>
		<link>http://www.joyofsetup.com/2008/07/17/beware-localization-variables/</link>
		<comments>http://www.joyofsetup.com/2008/07/17/beware-localization-variables/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 19:35:01 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/07/17/beware-localization-variables/</guid>
		<description><![CDATA[Loc variables &#8212; using !(loc.id) syntax to refer to strings defined in a .wxl file &#8212; let you use a single set of source files to build multiple localized installers. Common uses include obvious localizable strings like the product name and error messages. Slightly less common, but just as important to the localization process, are [...]]]></description>
			<content:encoded><![CDATA[<p>Loc variables &#8212; using !(loc.id) syntax to refer to strings defined in a .wxl file &#8212; let you use a single set of source files to build multiple localized installers. Common uses include obvious localizable strings like the product name and error messages. Slightly less common, but just as important to the localization process, are strings that aren&#8217;t visible to the user, like product-code GUIDs. They work great but there&#8217;s a risk: Loc strings aren&#8217;t subject to the same validation and correction code that &#8220;normal&#8221; strings go through. GUIDs are a perfect example. Normal strings in a .wxs source file are validated and normalized by the compiler, adding {braces} and uppercasing them as necessary to fit the <a href="http://msdn.microsoft.com/en-us/library/aa368767.aspx">Windows Installer rules for GUIDs</a>.</p>
<p>There&#8217;s an <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1874434&amp;group_id=105970&amp;atid=642717">open feature request</a> to get some of the same validation done for loc strings. Maybe some weekend&#8230;</p>
<h2>Executive summary</h2>
<p>When you use GUIDs in loc strings, make sure they&#8217;re uppercase and in braces.</p>
<h2>Why</h2>
<p>Loc variables are one type of bind-time variable. Bind-time variables are resolved at, well, bind time, which is part of the linking/binding job that Light.exe does. Preprocessor variables, using $(var.id) syntax, are resolved by Candle.exe. (Technically, preprocessing, as the pre- prefix implies, happens even before compilation.) Since it&#8217;s the compiler in Candle.exe that does the deepest validation, bind-time variables miss out on it. For now, anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/07/17/beware-localization-variables/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Verbose logging from WcaUtil</title>
		<link>http://www.joyofsetup.com/2008/07/15/verbose-logging-from-wcautil/</link>
		<comments>http://www.joyofsetup.com/2008/07/15/verbose-logging-from-wcautil/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 16:02:31 +0000</pubDate>
		<dc:creator>Bob Arnson</dc:creator>
		
		<category><![CDATA[WiX]]></category>

		<category><![CDATA[custom actions]]></category>

		<guid isPermaLink="false">http://www.joyofsetup.com/2008/07/15/verbose-logging-from-wcautil/</guid>
		<description><![CDATA[WcaUtil is a static library of convenience functions for writing custom actions in native C++. One of the more useful functions is WcaLog, which writes messages into the Windows Installer log. The first argument to WcaLog is the level of the message:

LOGMSG_TRACEONLY: Written to the log only in debug builds for debugging custom actions.
LOGMSG_VERBOSE: Written [...]]]></description>
			<content:encoded><![CDATA[<p>WcaUtil is a static library of convenience functions for writing custom actions in native C++. One of the more useful functions is WcaLog, which writes messages into the Windows Installer log. The first argument to WcaLog is the level of the message:</p>
<ul>
<li>LOGMSG_TRACEONLY: Written to the log only in debug builds for debugging custom actions.</li>
<li>LOGMSG_VERBOSE: Written to the log only when verbose logging is enabled.</li>
<li>LOGMSG_STANDARD: Always written to the log.</li>
</ul>
<p>WcaLog considers verbose logging enabled whenever any of the following is true:</p>
<ul>
<li>LOGVERBOSE property: There&#8217;s a property in your package named LOGVERBOSE, regardless of its value.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/aa370322(VS.85).aspx">MsiLogging property</a>: There&#8217;s a property in your package named MsiLogging that contains a <strong>V</strong> character.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/aa369776.aspx">Logging policy</a>: The logging policy is set and contains a <strong>V</strong> character.</li>
</ul>
</p>
</p>
<p>Otherwise, messages tagged with LOGMSG_VERBOSE will be ignored.</p>
<p>The second argument is a <a href="http://msdn.microsoft.com/en-us/library/56e442dc.aspx">printf-style format string</a> so there are a variable number of arguments (zero or more) after it which specify the values referred to in the format string. For example:</p>
<blockquote><p>WcaLog(LOGMSG_VERBOSE, &quot;App: %S found running, %d processes, setting &#8216;%S&#8217; property.&quot;, wzApplication, cProcessIds, wzProperty);</p>
</blockquote>
<p>Note that WcaLog uses ANSI strings for the format string and its arguments, so if you want to log a Unicode string, you need to use the <strong>%ls</strong> or <strong>%S</strong> <a href="http://msdn.microsoft.com/en-us/library/hf4y5e3w.aspx">field characters</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joyofsetup.com/2008/07/15/verbose-logging-from-wcautil/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.116 seconds -->
<!-- Cached page served by WP-Cache -->
