<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.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>Richard's Weblog</title><link>http://blogs.technet.com/richard_macdonald/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Charting with PowerShell</title><link>http://blogs.technet.com/richard_macdonald/archive/2009/04/28/3231887.aspx</link><pubDate>Tue, 28 Apr 2009 16:29:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3231887</guid><dc:creator>richmac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/3231887.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=3231887</wfw:commentRss><description>You may be aware that there are some 3-rd party add-ins for PowerShell that allow you to create charts and graphs from your PowerShell scripts. What you may not be aware of is that there is a free download from Microsoft that will allow you to do the...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2009/04/28/3231887.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3231887" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Do+Try+This+at+Home/default.aspx">Do Try This at Home</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/.NET+Framework/default.aspx">.NET Framework</category></item><item><title>Protecting Removable Drives with Bitlocker</title><link>http://blogs.technet.com/richard_macdonald/archive/2008/10/06/3132805.aspx</link><pubDate>Mon, 06 Oct 2008 12:36:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3132805</guid><dc:creator>richmac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/3132805.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=3132805</wfw:commentRss><description>In a recent post , I explained how easy it was to use Bitlocker to secure your drives in a dual-boot scenario with Windows Vista and Server 2008.&amp;#160; Following this I had some discussions with colleagues about how to securely backup copies of the files...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2008/10/06/3132805.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3132805" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Security/default.aspx">Security</category></item><item><title>Programming Hyper-V with WMI and C# - Getting Started</title><link>http://blogs.technet.com/richard_macdonald/archive/2008/08/11/3103559.aspx</link><pubDate>Mon, 11 Aug 2008 21:25:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3103559</guid><dc:creator>richmac</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/3103559.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=3103559</wfw:commentRss><description>You may have seen from a recent post that I received a new laptop that was capable of running Hyper-V. Well, it's all fully installed and working, so I thought I might blog about it a bit. There are plenty of existing blogs on Hyper-V, so I thought I...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2008/08/11/3103559.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3103559" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Virtualisation/default.aspx">Virtualisation</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Do+Try+This+at+Home/default.aspx">Do Try This at Home</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Server+2008/default.aspx">Server 2008</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/.NET+Framework/default.aspx">.NET Framework</category></item><item><title>(Virtually) Everything You Need to Know About Hyper-V</title><link>http://blogs.technet.com/richard_macdonald/archive/2008/07/21/3091194.aspx</link><pubDate>Mon, 21 Jul 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3091194</guid><dc:creator>richmac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/3091194.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=3091194</wfw:commentRss><description>Following on from my post last year on general virtualisation resources, here is a similar one just for Hyper-V. Enjoy! Note: Thanks to my colleague, Tushar, who sent some of these links around to our team recently. Official Hyper-V Web Sites Hyper-V...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2008/07/21/3091194.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3091194" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Virtualisation/default.aspx">Virtualisation</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Where+Can+I+Find+That_3F00_/default.aspx">Where Can I Find That?</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Server+2008/default.aspx">Server 2008</category></item><item><title>Vista, Server 2008 and the Case of the Bitlocker Dual Boot</title><link>http://blogs.technet.com/richard_macdonald/archive/2008/07/19/3091052.aspx</link><pubDate>Sat, 19 Jul 2008 04:10:29 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3091052</guid><dc:creator>richmac</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/3091052.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=3091052</wfw:commentRss><description>This week, I received my shiny new work laptop, which I'd been anticipating for some time.&amp;#160; Normally, I'm not much of a hardware geek and don't get overly excited with new kit, but I was really looking forward to this as it is 64-bit and finally...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2008/07/19/3091052.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3091052" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Do+Try+This+at+Home/default.aspx">Do Try This at Home</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Server+2008/default.aspx">Server 2008</category></item><item><title>Manipulating Performance Monitor Logs</title><link>http://blogs.technet.com/richard_macdonald/archive/2008/04/08/3032386.aspx</link><pubDate>Tue, 08 Apr 2008 20:50:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3032386</guid><dc:creator>richmac</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/3032386.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=3032386</wfw:commentRss><description>If you need to monitor or troubleshoot performance problems on a Windows system, chances are you'll simply fire up PerfMon, log some data to a file, which you later load in PerfMon for analysis. This is great and is often all that you need, but it's a...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2008/04/08/3032386.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3032386" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Performance/default.aspx">Windows Performance</category></item><item><title>Viewing Your MSDN Product Keys Off-Line</title><link>http://blogs.technet.com/richard_macdonald/archive/2008/03/09/2981304.aspx</link><pubDate>Mon, 10 Mar 2008 00:13:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2981304</guid><dc:creator>richmac</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/2981304.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=2981304</wfw:commentRss><description>If you have an MSDN subscription, then you'll know that the subscription includes a set of product keys for use with the versions of Office, Windows, etc that your subscription gives you access to. The keys can be viewed on-line at the MSDN subscriber...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2008/03/09/2981304.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2981304" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/.NET+Framework/default.aspx">.NET Framework</category></item><item><title>Forcing Theme Settings in Windows Vista</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/08/17/1769692.aspx</link><pubDate>Fri, 17 Aug 2007 13:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1769692</guid><dc:creator>richmac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/1769692.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=1769692</wfw:commentRss><description>Recently I was working with a customer to find a way to automate forcing a specific Aero theme in Windows Vista. The idea was to have the Vista clients "colour-coded" according to their use; so whenever a user logs on the window border colour would indicate...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2007/08/17/1769692.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1769692" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Do+Try+This+at+Home/default.aspx">Do Try This at Home</category></item><item><title>Service Security in Windows Vista</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/06/27/1375523.aspx</link><pubDate>Wed, 27 Jun 2007 13:30:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1375523</guid><dc:creator>richmac</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/1375523.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=1375523</wfw:commentRss><description>After a long break from blogging due to holidays and a heavy workload, I've finally got round to writing something new. To follow on from my last post on File and Registry Virtualisation , I thought I'd take a look at another Vista security-related topic:...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2007/06/27/1375523.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1375523" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Vista/default.aspx">Windows Vista</category></item><item><title>Windows Vista File and Registry Virtualisation</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/05/18/990366.aspx</link><pubDate>Fri, 18 May 2007 15:50:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:990366</guid><dc:creator>richmac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/990366.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=990366</wfw:commentRss><description>Windows Vista is designed to be more secure than previous versions of Windows. Part of the improvements are related to User Account Control (UAC), which encourages the good practice of not logging on with an Administrator account (and even if you do,...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2007/05/18/990366.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=990366" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Vista/default.aspx">Windows Vista</category></item><item><title>Clustering Best Practices: Checking Hotfix Compliance</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/05/03/879029.aspx</link><pubDate>Fri, 04 May 2007 01:30:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:879029</guid><dc:creator>richmac</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/879029.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=879029</wfw:commentRss><description>Do you use Microsoft Clustering? Are your clusters configured according to the current Microsoft recommended practices? How can you be sure of the configuration? Questions, questions. The first is easy, the second you might be unsure of and the third...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2007/05/03/879029.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=879029" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Clustering/default.aspx">Clustering</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category></item><item><title>Professional Microsoft Virtual Server 2005</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/04/17/781419.aspx</link><pubDate>Wed, 18 Apr 2007 00:59:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:781419</guid><dc:creator>richmac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/781419.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=781419</wfw:commentRss><description>The eagle-eyed among you may have noticed a reference to an unpublished Virtual Server book buried in the middle of my recent list of virtualisation resources . At the time I compiled the list, the book wasn't actually available, but it is now, so I thought...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2007/04/17/781419.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=781419" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Virtualisation/default.aspx">Virtualisation</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Books/default.aspx">Books</category></item><item><title>(Re-)Start Me Up ...</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/04/13/756894.aspx</link><pubDate>Fri, 13 Apr 2007 04:30:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:756894</guid><dc:creator>richmac</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/756894.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=756894</wfw:commentRss><description>As I mentioned in a recent post , I'm currently working on a Windows Vista workshop. As part of that, I've created a simple application that demonstrates the basic interaction of the Windows Installer with Vista's new Restart Manager (RM). I thought I'd...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2007/04/13/756894.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=756894" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Installer/default.aspx">Windows Installer</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Do+Try+This+at+Home/default.aspx">Do Try This at Home</category></item><item><title>Windows Vista Resource Kit Released</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/04/05/726949.aspx</link><pubDate>Thu, 05 Apr 2007 02:58:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:726949</guid><dc:creator>richmac</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/726949.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=726949</wfw:commentRss><description>If you're a long-time Windows Admin, then you'll know how invaluable the Windows Resource Kit has been for the various Windows versions over the years. Now the Windows Vista version has been released and with 1,500 pages of in-depth technical information...(&lt;a href="http://blogs.technet.com/richard_macdonald/archive/2007/04/05/726949.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=726949" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Books/default.aspx">Books</category></item><item><title>How to Interpret Windows Installer Logs</title><link>http://blogs.technet.com/richard_macdonald/archive/2007/04/02/How-to-Interpret-Windows-Installer-Logs.aspx</link><pubDate>Mon, 02 Apr 2007 22:43:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:676406</guid><dc:creator>richmac</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.technet.com/richard_macdonald/comments/676406.aspx</comments><wfw:commentRss>http://blogs.technet.com/richard_macdonald/commentrss.aspx?PostID=676406</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="COLOR: gray"&gt;[Updated: 4 April 2007]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;If you have a problem with the Windows Installer or an MSI package you're installing, it's a sure bet that you will be told by some smart person to "enable logging". &lt;BR&gt;&lt;BR&gt;That's great advice, except ... what do you do with the log once you get it? A common technique is to open it in Notepad and scroll up and down aimlessly, hoping to spot the "cause of your problem" section. While this is a very popular approach, it rarely yields good results. In this post, I'll walk you through the contents of a typical log so that next time you have an Installer problem you'll be in a better position to troubleshoot it yourself. &lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 13pt; FONT-FAMILY: Arial"&gt;"Enable Logging"&lt;/SPAN&gt;&lt;BR&gt;First things first. If you are to take your smart friend's advice, you need to know how to generate a log. There are a number of ways to do this: &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;B&gt;Command-Line&lt;/B&gt;&lt;BR&gt;If you can install the MSI package from the command-line, even if only for troubleshooting, then this is a very easy way to generate a log. Simply use the "/l" switch during install:&lt;BR&gt;&lt;BR&gt;&lt;I&gt;msiexec /i SomeApp.msi /l*vx %temp%\SomeApp.log&lt;/I&gt; &lt;BR&gt;&lt;BR&gt;Using the "*vx" modifier gives the most detail possible - you should always use this when troubleshooting. &lt;BR&gt;&lt;BR&gt;&lt;B&gt;Registry or Group Policy&lt;/B&gt;&lt;BR&gt;If you cannot run the package from the command-line, then enable logging directly in the registry or via Group Policy, as described in &lt;A href="http://support.microsoft.com/kb/223300" target=kb mce_href="http://support.microsoft.com/kb/223300"&gt;KB223300: How to enable Windows Installer logging&lt;/A&gt;. &lt;BR&gt;&lt;BR&gt;&lt;B&gt;&lt;I&gt;MsiLogging&lt;/I&gt; and &lt;I&gt;MsiLogFileLocation&lt;/I&gt; properties&lt;/B&gt;&lt;BR&gt;With MSI 4.0 these two properties can be set in the Property table of a package to enable logging and specify the log location. See &lt;A href="http://msdn2.microsoft.com/en-us/library/aa370322.aspx" target=msdn mce_href="http://msdn2.microsoft.com/en-us/library/aa370322.aspx"&gt;MsiLogging Property&lt;/A&gt; for more details. &lt;BR&gt;&lt;BR&gt;&lt;B&gt;Installer API&lt;/B&gt;&lt;BR&gt;If you are developing an Installer-aware application, you can use the &lt;A href="http://msdn2.microsoft.com/en-us/library/aa370091.aspx" target=msdn mce_href="http://msdn2.microsoft.com/en-&amp;#13;&amp;#10;&amp;#13;&amp;#10;us/library/aa370091.aspx"&gt;MsiEnableLog&lt;/A&gt; API to enable logging for the lifetime of the calling process. &lt;/BLOCKQUOTE&gt;With so many ways to do this, it should be obvious that the Installer team take logging very seriously, and as you'll see the Installer logs a &lt;I&gt;lot&lt;/I&gt; of information. Also, with all those methods available to you, you've really got no excuse for not using logging. &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 13pt; FONT-FAMILY: Arial"&gt;Log Contents&lt;/SPAN&gt;&lt;BR&gt;Once you have a log, here's what to expect it to contain:&lt;BR&gt;&lt;BR&gt;&lt;I&gt;&lt;B&gt;General Contents&lt;/B&gt;&lt;/I&gt;&lt;BR&gt;By default logs will contain things such as: 
&lt;UL&gt;
&lt;LI&gt;Most errors that occurred during the install including all Windows Installer errors that generate a user dialog.&lt;/LI&gt;
&lt;LI&gt;Which custom actions were run.&lt;/LI&gt;
&lt;LI&gt;Whether a reboot was requested and completed.&lt;/LI&gt;
&lt;LI&gt;Values of Installer Properties, including details of any changes.&lt;/LI&gt;
&lt;LI&gt;The source location.&lt;/LI&gt;
&lt;LI&gt;Whether the user cancelled the install.&lt;/LI&gt;
&lt;LI&gt;Where an install stopped.&lt;/LI&gt;
&lt;LI&gt;Whether an install rolled back.&lt;/LI&gt;
&lt;LI&gt;Client and Server information&lt;/LI&gt;&lt;/UL&gt;The Windows Installer runs an installation in two distinct processes: &lt;I&gt;Client&lt;/I&gt; and &lt;I&gt;Server&lt;/I&gt;. These terms are intended to be used in the COM sense where the client and server are just different processes and not in the sense of distinct client and server computers on the network. The same log file will show information from both processes. &lt;BR&gt;&lt;BR&gt;An action by the client process is denoted in the log by "(c)": &lt;BR&gt;&lt;BR&gt;
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;MSI (c) (C0:6C) [22:17:24:911]: SHELL32::SHGetFolderPath returned: C:\Users\Admin\AppData\Roaming &lt;/BLOCKQUOTE&gt;An action by the server process is denoted in the log by "(s)": &lt;BR&gt;&lt;BR&gt;
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;MSI (s) (38:90) [22:18:04:544]: Doing action: LaunchConditions &lt;/BLOCKQUOTE&gt;The "(30:90)" notation represent the "(processID:threadID)" that generated the entry. Only the last 2 (hexadecimal) digits of the process and thread IDs are given. For example, (30:90) could be generated by process ID 130 and thread ID 290. The time of the log entry is shown next in square brackets. &lt;BR&gt;&lt;BR&gt;The log file will first show the client process as dialogs collect user information. After the user information is collected, it is time to do the setup work and the installation switches to the&amp;nbsp;server process. For installations run with no visible UI, the client process is skipped: 
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;MSI (c) (E4:F0) [22:52:31:105]: Client-side and UI is none or basic: Running entire install on the server. &lt;/BLOCKQUOTE&gt;The beginning of the server process looks very similar to the beginning of the client process. The service must re-evaluate all of the settings, to prevent a user from performing insecure operations. All of the private properties, policies, and other installation state settings must be re-evaluated. &lt;BR&gt;&lt;BR&gt;&lt;I&gt;&lt;B&gt;Error Codes&lt;/B&gt;&lt;/I&gt;&lt;BR&gt;The Installer logs a lot of useful information in the form of 'error' codes. Sometimes these are genuine errors, but often they are simply for information purposes and do not indicate a real problem. Full details of all codes can be found in the MSDN Library or the Windows Installer SDK. &lt;BR&gt;&lt;BR&gt;As an example, take the following entry from the annotated log below: 
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;MSI (c) (C0:6C) [22:17:24:953]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2 &lt;/BLOCKQUOTE&gt;The SDK defines the code 1402 as: &lt;BR&gt;
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;Could not open key: [2]. System error [3]. &lt;/BLOCKQUOTE&gt;Thus we would read the log entry as: 
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;Could not open key: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info. System error 2. &lt;/BLOCKQUOTE&gt;System error codes can be found in the Platform SDK file &lt;I&gt;Winerror.h&lt;/I&gt; or using the &lt;I&gt;Net HelpMsg&lt;/I&gt; command: &lt;BR&gt;&lt;BR&gt;In this case error code '2' resolves to "The system cannot find the file specified." 
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;C:\&amp;gt;net helpmsg 2 &lt;BR&gt;&lt;BR&gt;The system cannot find the file specified. &lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;I&gt;&lt;B&gt;Return Values&lt;/B&gt;&lt;/I&gt;&lt;BR&gt;After each action the Installer will record the 'return value' in the log. This is an indicator of the success or otherwise of the action. Possible values are: &lt;BR&gt;&lt;BR&gt;
&lt;TABLE class=""&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=""&gt;Value&lt;/TD&gt;
&lt;TD class=""&gt;Meaning&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;0&lt;/TD&gt;
&lt;TD class=""&gt;Action was invoked, but did not run (not&amp;nbsp;n&lt;SPAN style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-fareast-language: EN-US; mso-ansi-language: EN-GB; mso-bidi-language: AR-SA"&gt;ecessarily&lt;/SPAN&gt; a bad thing, maybe there was nothing for it to do)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;1&lt;/TD&gt;
&lt;TD class=""&gt;Action was a success&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;2&lt;/TD&gt;
&lt;TD class=""&gt;Action was cancelled by user&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;3&lt;/TD&gt;
&lt;TD class=""&gt;An unrecoverable error has occurred&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;4&lt;/TD&gt;
&lt;TD class=""&gt;The installation was suspended awaiting a reboot&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;BR&gt;Simply searching for the phrase "Return Value 3" can be a quick way of pinpointing the errors in a log. This isn't guaranteed to lead to the source of a problem as some problems are quite subtle, but it's good first step. It may also break down in localised setup scenarios. &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 13pt; FONT-FAMILY: Arial"&gt;Annotated Verbose Installer Log&lt;/SPAN&gt;&lt;BR&gt;Here is an annotated Installer log to use as a reference during your own troubleshooting: &lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.rmacdonald.members.winisp.net/Blog_Docs/Annotated_Windows_Installer_Log.docx" target=doc&gt;Annotated Windows Installer Log&lt;/A&gt; (.&lt;A href="http://office.microsoft.com/en-us/word/HA100444731033.aspx" target=docx&gt;docx&lt;/A&gt;)&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.rmacdonald.members.winisp.net/Blog_Docs/Annotated_Windows_Installer_Log.pdf" target=pdf&gt;Annotated Windows Installer Log&lt;/A&gt; (.pdf)&lt;BR&gt;&lt;BR&gt;This log was generated by installing the &lt;A href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx" target=windbg mce_href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;Debugging Tools for Windows&lt;/A&gt; on Windows Vista Ultimate (so MSI 4.0). &lt;BR&gt;&lt;BR&gt;Installer logs tend to contain a lot of repeated entries. For example, all file copy operations look alike. So to make understanding the log easier most of the repetition is omitted and only useful examples of each entry type are shown; the original log contained over 5900 entries, but this reduced log contains around 1000. This is a lot less, but is still too much for a simple blog post, hence the downloadable file. &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 13pt; FONT-FAMILY: Arial"&gt;Wilogutl.exe&lt;/SPAN&gt;&lt;BR&gt;If you've used Installer logging before, then you probably read to this point thinking "why not just use Wilogutl?". It's a good question and the reason I think you should work with the logs directly is encapsulated in &lt;A href="http://blogs.msdn.com/windows_installer_team/archive/2006/05/01/587990.aspx" target=wiblog mce_href="http://blogs.msdn.com/windows_installer_team/archive/2006/05/01/587990.aspx"&gt;number 1 rule&lt;/A&gt; of using the Windows Installer: &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: lightgrey"&gt;&lt;B&gt;Rule 1: Learn the Windows Installer Technology&lt;/B&gt; 
&lt;BLOCKQUOTE&gt;The importance of this rule cannot be overstated. If you only follow one rule, this is the one to choose. &lt;BR&gt;&lt;BR&gt;Microsoft Product Support often speak to Installer users who are installing packages which they created with a sophisticated high-level re-packaging tool, without any understanding of how the Installer actually works. While these tools are excellent at what they do and they abstract the user from the details on a day-to-day basis, the lack of Installer knowledge becomes a real problem when the package does not work as expected. Setup authoring is not simply about copying files. The Installer offers extensive functionality and complexity; understand it before you start authoring packages. &lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;Reading through a lot of logs and using them to troubleshoot real problems is a great way to learn about how the Installer works. Obviously, once you're confident with the underlying technology you can return to using helpful tools to do the work for you. &lt;BR&gt;&lt;BR&gt;If you are wondering what on Earth "Wilogutl" is, then have a look here: &lt;BR&gt;&lt;BR&gt;
&lt;BLOCKQUOTE&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/aa372811.aspx" target=wilogutl mce_href="http://msdn2.microsoft.com/en-us/library/aa372811.aspx"&gt;Wilogutl.exe&lt;/A&gt;&lt;BR&gt;Wilogutl.exe assists the analysis of log files from a Windows Installer installation, and it displays suggested solutions to errors that are found in a log file. &lt;/BLOCKQUOTE&gt;
&lt;P&gt;I won't discuss how to use Wilogutl here, but may do so in a future post.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=676406" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Windows+Installer/default.aspx">Windows Installer</category><category domain="http://blogs.technet.com/richard_macdonald/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item></channel></rss>