<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CE4NRXo6cSp7ImA9WxNVF08.&quot;"><id>tag:blogger.com,1999:blog-9537945</id><updated>2009-10-28T04:43:14.419-05:00</updated><title>DeploymentEngineering.com - The Blog</title><subtitle type="html">A panel of experts discuss cutting edge ideas related to the Source Control, Build Automation, Setup Authoring and Automated Application Deployment.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.deploymentengineering.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>278</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/DeploymentEngineering" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;CEEMQnY9eSp7ImA9WxNVFU8.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-8447302469890175808</id><published>2009-10-25T20:49:00.002-05:00</published><updated>2009-10-25T21:04:43.861-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-25T21:04:43.861-05:00</app:edited><title>InstallAware Give Away Results</title><content type="html">I'd like to thank Sinan at InstallAware for his generous offer of a InstallAware Developer license to readers of this blog. The offer started on Tuesday and went until Friday. During that period this blog had 1379 page loads from 859 unique visitors. Sinan Karaca reports to me that they gave away 56 free licenses worth $83,944.00.&lt;br /&gt;&lt;br /&gt;In other news, the Federal Trace Commission has adopted new guidelines that requires blogs to disclose endorsement compensation. As such I've posted an official disclosure stating the position of this blog. In summary, this blog has never and will never accept any form of compensation. We will however pass on swag opportunities to our readers when given the chance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-8447302469890175808?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/IvG1HBuNlUM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/8447302469890175808/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=8447302469890175808" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8447302469890175808?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8447302469890175808?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/IvG1HBuNlUM/installaware-give-away-results.html" title="InstallAware Give Away Results" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/10/installaware-give-away-results.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8CQ3k-cCp7ImA9WxNVEkQ.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-3626301518983393786</id><published>2009-10-20T17:22:00.009-05:00</published><updated>2009-10-23T06:37:42.758-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-23T06:37:42.758-05:00</app:edited><title>InstallAware Complimentary License Announcement</title><content type="html">Update: Per Sinan, this offer has expired.&lt;br /&gt;&lt;br /&gt;In a recent &lt;a href="http://blog.deploymentengineering.com/2009/10/installaware-uninstall-problem.html"&gt;blog comment&lt;/a&gt;,  Sinan Karaca posted:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;In fact, anybody reading this blog and wanting to check out just how revolutionary InstallAware is, send sales at installaware.com an email with the subject "Painter License" and we'll send out a complimentary Developer license your way. Till this Friday only :)&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Sinan&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Well, who am I to pass up an opportunity for my readers to get a free copy of InstallAware?  So if you feel like trying something new  to fire off your email request.&lt;br /&gt;&lt;br /&gt;Note:  InstallAware requires a non-anonymous email address ( no gmail, yahoo, msn ) and DeploymentEngineering.com is not affialated with InstallAware and has no role or responsibility in this give away promotion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-3626301518983393786?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/A3DM9A1A-EI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/3626301518983393786/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=3626301518983393786" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3626301518983393786?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3626301518983393786?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/A3DM9A1A-EI/installaware-complimentary-license.html" title="InstallAware Complimentary License Announcement" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/10/installaware-complimentary-license.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHQ3w6eyp7ImA9WxNVEE0.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-3272262068329024427</id><published>2009-10-19T21:07:00.005-05:00</published><updated>2009-10-19T21:40:32.213-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T21:40:32.213-05:00</app:edited><title>InstallAware Uninstall Problem</title><content type="html">I was reading a news release where InstallAware boasted:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"InstallAware setups power the installation of the Activation Assistant for Microsoft Office 2007, pre-installed by OEMs on millions of laptops around the world," says Sinan Karaca, founder of InstallAware Software Corporation.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I decided to &lt;a href="http://www.google.com/search?q=activation+Assistant+for+Microsoft+Office+2007&amp;rls=com.microsoft:en-us&amp;ie=UTF-8&amp;oe=UTF-8&amp;startIndex=&amp;startPage=1"&gt;google&lt;/a&gt; "Activation Assistant for Microsoft Office 2007" and the results indicate that millions of people around the world can't get this software removed from their box. Way to go Microsoft and InstallAware! I don't have access to the installer, but from the symptoms I'm reading, it sounds like somebody forgot to listen to sage advice of always including "or Installed" in their LaunchConditions.&lt;br /&gt;&lt;br /&gt;Anyways, the install issue caught the attention of &lt;a href="http://blogs.pcworld.com/tipsandtweaks/archives/006874.html"&gt;PCWorld&lt;/a&gt;. Here's a snippet of the write up that is really worth reading.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Activation Assistant's Dirty Little Secret&lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;It turns out that the Activation Assistant for Office 2007 has been a serious hassle for Microsoft. According to Joe, the Activation Assistant accounts for the great majority of tech-support calls. He wasn't specific, but said that the program is basically flawed. Apparently there's a fix coming in Office 14. &lt;br /&gt;&lt;br /&gt;In fact, the Activation Assistant is so troublesome that when I suggested that we just reinstall the dang thing, he flat-out refused. He said that would likely cause more problems--and I don't argue with escalation managers...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;So maybe InstallAware should dig a little deeper when trying to reference "successful" projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-3272262068329024427?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/m5k2KTY2FWo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/3272262068329024427/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=3272262068329024427" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3272262068329024427?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3272262068329024427?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/m5k2KTY2FWo/installaware-uninstall-problem.html" title="InstallAware Uninstall Problem" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/10/installaware-uninstall-problem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMGQ3s8fCp7ImA9WxNWGUQ.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-3811109720857160595</id><published>2009-10-19T19:17:00.003-05:00</published><updated>2009-10-19T19:27:02.574-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T19:27:02.574-05:00</app:edited><title>InstallAware resorts to Sex Appeal</title><content type="html">&lt;a href="http://1.bp.blogspot.com/_28H3HFywulA/St0CpM8hLVI/AAAAAAAAAOc/vP0TspZZm-g/s1600-h/installaware.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 369px;" src="http://1.bp.blogspot.com/_28H3HFywulA/St0CpM8hLVI/AAAAAAAAAOc/vP0TspZZm-g/s400/installaware.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5394470835532672338" /&gt;&lt;/a&gt;&lt;br /&gt;It's an old adage that "sex sells" in marketing.  But surely there is no space less sexy then setup development tools, right?&lt;br /&gt;&lt;br /&gt;Well, it seems InstallAware has sunken to new lows by engaging with marketing partners to spam the twittersphere using what I can only assume are astroturfing fake profiles.   Their PR angle is that they a shining example of stability in light of InstallShields multiple name changes.&lt;br /&gt;&lt;br /&gt;Hmmm.  Based on the comments, emails and threads that I've been shown InstallAware could actually use a good corporate identity change right now.  The level of customer disservice (including rude attacks against customers ) that I've witnessed has been horrific.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-3811109720857160595?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/4sc2LlT38J0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/3811109720857160595/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=3811109720857160595" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3811109720857160595?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3811109720857160595?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/4sc2LlT38J0/installaware-resorts-to-sex-appeal.html" title="InstallAware resorts to Sex Appeal" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_28H3HFywulA/St0CpM8hLVI/AAAAAAAAAOc/vP0TspZZm-g/s72-c/installaware.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/10/installaware-resorts-to-sex-appeal.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYFQ3k-cSp7ImA9WxNWGUQ.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-9051185417528262962</id><published>2009-10-19T18:13:00.003-05:00</published><updated>2009-10-19T18:15:12.759-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T18:15:12.759-05:00</app:edited><title>MSDN Goes Blue</title><content type="html">&lt;a href="http://2.bp.blogspot.com/_28H3HFywulA/Stzy5qZRXnI/AAAAAAAAAOU/VrNJPbhA0HY/s1600-h/msdn_blue.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 59px;" src="http://2.bp.blogspot.com/_28H3HFywulA/Stzy5qZRXnI/AAAAAAAAAOU/VrNJPbhA0HY/s400/msdn_blue.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5394453526129761906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enough said?  &lt;grin/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-9051185417528262962?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/Xgx8lcVPvQA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/9051185417528262962/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=9051185417528262962" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/9051185417528262962?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/9051185417528262962?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/Xgx8lcVPvQA/msdn-goes-blue.html" title="MSDN Goes Blue" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_28H3HFywulA/Stzy5qZRXnI/AAAAAAAAAOU/VrNJPbhA0HY/s72-c/msdn_blue.PNG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/10/msdn-goes-blue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFSX4zfCp7ImA9WxNWEE8.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-7336921254859311926</id><published>2009-10-08T12:35:00.002-05:00</published><updated>2009-10-08T12:40:18.084-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-08T12:40:18.084-05:00</app:edited><title>Goodbye  Acresso, We Hardly Knew Ye</title><content type="html">I read the news today that Acresso is changing it's name to Flexera.&lt;br /&gt;&lt;br /&gt;Huh?  Why?&lt;br /&gt;&lt;br /&gt;As if the makers of InstallShield hadn't already done enough damage to their brand, let's just go change names yet again!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BTW, &lt;a href="http://flexera.net/"&gt;Flexera&lt;/a&gt; is already taken by a company in the alternative energy market. Anyone want to take a guess which one of these companies actually stands a chance of being in a high growth market for the next ten years?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-7336921254859311926?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/QhD8RumoEIg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/7336921254859311926/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=7336921254859311926" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7336921254859311926?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7336921254859311926?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/QhD8RumoEIg/goodbye-acresso-we-hardly-knew-ye.html" title="Goodbye  Acresso, We Hardly Knew Ye" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/10/goodbye-acresso-we-hardly-knew-ye.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUFQXg4fyp7ImA9WxNXE0s.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-6728453676183906861</id><published>2009-09-30T20:46:00.003-05:00</published><updated>2009-09-30T20:56:50.637-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-30T20:56:50.637-05:00</app:edited><title>MSSE Validation Errors</title><content type="html">I recently downloaded Microsoft's new Security Essentials Suite and I decided to take a look at how it's installer is constructed.&lt;br /&gt;&lt;br /&gt;My first observation is how they once again use an external UI to get around the fact that Windows Installer does such a poor job at localization. &lt;br /&gt;&lt;br /&gt;Then I ran MSI validation and discovered the following gem.&lt;br /&gt;&lt;br /&gt;ICE08 ERROR Component: SetupResMui_NLNL has a duplicate GUID: {1230940F-EB02-47B7-ACFF-D0E76871D928}&lt;br /&gt;ICE08 ERROR Component: MsMpResDll has a duplicate GUID: {8FEE8260-3507-417A-AF09-1C24F341FA14}&lt;br /&gt;ICE08 ERROR Component: shellextDllMui_ZHCN has a duplicate GUID: {A5F76683-9CAE-4F3F-B4FD-1668EB2C3FAD}&lt;br /&gt;ICE08 ERROR Component: SetupResMui_PTBR has a duplicate GUID: {D0D868D8-EC9D-423F-AF62-345A4EEFE3C3}&lt;br /&gt;&lt;br /&gt;I'm afraid to even ask. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-6728453676183906861?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/uFWGu6qkZtc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/6728453676183906861/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=6728453676183906861" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/6728453676183906861?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/6728453676183906861?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/uFWGu6qkZtc/wsse-validation-errors.html" title="MSSE Validation Errors" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/09/wsse-validation-errors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08AQnw5cCp7ImA9WxNXE0w.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-611812606673393898</id><published>2009-09-29T21:08:00.006-05:00</published><updated>2009-09-30T08:04:03.228-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-30T08:04:03.228-05:00</app:edited><title>Configuration Manager In Training</title><content type="html">&lt;a href="http://2.bp.blogspot.com/_28H3HFywulA/SsK90g37q0I/AAAAAAAAAOE/WeM5pUW8GXY/s1600-h/photo.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_28H3HFywulA/SsK90g37q0I/AAAAAAAAAOE/WeM5pUW8GXY/s400/photo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5387076814163913538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I don't talk about my family life much but today my daughter Ashley ( Age 6 in 1st grade ) wrote the cutest thing: A french toast recipe!&lt;br /&gt;&lt;br /&gt;See, I work a lot during the week ( probably too more then I should ) and on weekends I typically do the cooking. Very often I'll make french toast since they are always asking for it. It's a real big hit. &lt;br /&gt;&lt;br /&gt;I was sitting at work today when I received this picture and it just warmed my heart. Milk, Eggs, Sugar, Nutmeg, Cinnamon, Mix it up and grill it with love followed by happy!&lt;br /&gt;&lt;br /&gt;Awww, too cute.&lt;br /&gt;&lt;br /&gt;Anyways, I can tell this kid is going to love Build/CM. :-)&lt;br /&gt;&lt;br /&gt;Finally, here's the real recipe&lt;br /&gt;&lt;br /&gt;16 slices thin white bread slightly stale( none of that wheat stuff mommy likes )&lt;br /&gt;1 cup of egg beaters&lt;br /&gt;1 cup of milk&lt;br /&gt;1/2 cup of sugar&lt;br /&gt;1 tsp vanilla ( life is too short for artificial )&lt;br /&gt;1/2 tsp cinnamon&lt;br /&gt;1/4 tsp nutmeg&lt;br /&gt;&lt;br /&gt;Stir briskly with a whisk, drip bread and cook on a griddle coated with PAM heated to 325f.  Serve with "daddy eggs" ( eggs over easy @ 375f with REAL butter ) and bacon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-611812606673393898?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/xbN5hi6kNAI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/611812606673393898/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=611812606673393898" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/611812606673393898?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/611812606673393898?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/xbN5hi6kNAI/configuration-manager-in-training.html" title="Configuration Manager In Training" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_28H3HFywulA/SsK90g37q0I/AAAAAAAAAOE/WeM5pUW8GXY/s72-c/photo.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/09/configuration-manager-in-training.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8MRHo9cSp7ImA9WxNQF0w.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-6590058037629822644</id><published>2009-09-23T10:09:00.003-05:00</published><updated>2009-09-23T10:14:45.469-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-23T10:14:45.469-05:00</app:edited><title>Favorite InstallShield Automation Interface (Feature)Bug</title><content type="html">Does anyone actually use the InstallShield automation interface? I'm guessing not due to huge number of bugs, bad behaviors, poor documentation and missing functionality that I routinely step into every time I try.&lt;br /&gt;&lt;br /&gt;I'm too tired to recap every bug I've ever found, so here's my new favorite.&lt;br /&gt;&lt;br /&gt;Let's say you are calling the ISWiProject.AddFeature( string ) method and you pass it a feature that already exists. What would you expect the proper behavior to be?&lt;br /&gt;&lt;br /&gt;a) throw an exception that tells you that you violated a primary key constraint&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;b) throw a modal dialog telling you that you violated a primary key constrant and then swallow the exception.&lt;br /&gt;&lt;br /&gt;Argh!!!! Enough said?    I guess that's why we pay tens of thousands of dollars for maintenance and then never get our bugs fixed.  Just shoved along to new releases with more bugs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-6590058037629822644?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/JTQKHELLBjw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/6590058037629822644/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=6590058037629822644" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/6590058037629822644?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/6590058037629822644?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/JTQKHELLBjw/favorite-installshield-automation.html" title="Favorite InstallShield Automation Interface (Feature)Bug" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/09/favorite-installshield-automation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4NSXw7eCp7ImA9WxNQFU4.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-1323476987652112074</id><published>2009-09-21T06:38:00.003-05:00</published><updated>2009-09-21T06:53:18.200-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-21T06:53:18.200-05:00</app:edited><title>Interesting Posting on Monster</title><content type="html">I came across this post on Monster the other day:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;If you are a WINDOWS INSTALLATION ENGINEER that has experience installing windows pre-Installshield (i.e. the old fashioned way!) - think API's, DLL's, and registry setting - this is a great opportunity for you!!&lt;br /&gt;&lt;br /&gt;Our client is seeking　a smart, experienced Windows Engineer　with an ability to work in the dynamic environment of an emerging growth company.　You will be tasked with attacking new problems and be presented daily with development challenges that will　require a high degree of versatility, mental flexibility, and innovation to solve.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This would make sense if the position if for a setup tools developer rather then setup developer, but the posting seems to clearly indicate that it's the former rather then the later.&lt;br /&gt;&lt;br /&gt;How retro?  For the love of... why??&lt;br /&gt;&lt;br /&gt;Sure, from my script days of the 90's I probably remember how to do all of this stuff but what is the value in loosing every foundation class library available?  What is the value for shunning the declarative approach of Windows Installer and doing a roll your own EVERYTHING imperative approach?&lt;br /&gt;&lt;br /&gt;I'm lost on this one.&lt;br /&gt;&lt;br /&gt;But maybe it really is for a tools position in the open source space and that something new and different will emerge.&lt;br /&gt;&lt;br /&gt;BTW, I'm reminded of an embarrasing moment.  About 6.5 years ago I was busy doing a build when the phone rang.  It was a Senior Director of Technology for Continental Airlines calling me for a phone interview.   We chatted for a minute and then he asked me how to replace a locked file on Windows.&lt;br /&gt;&lt;br /&gt;My mind drew a blank.  Sure, I knew MoveFileEx and PendingFileRename operations but I just couldn't think it at that moment.  So instead I gave some lame explanation of InstallShield having a setting for locked files and that it was a black box / white box kind of thing and that if it was to fail I'd spend time profiling it to identify the cause.&lt;br /&gt;&lt;br /&gt;The moment I hung up I thought, damn it, why didn't you talk about the Win32 APIs behind the scene?  Ughh!&lt;br /&gt;&lt;br /&gt;I ended up getting the job. &lt;br /&gt;&lt;br /&gt;A couple years later I asked him why he hired me when I couldn't answer such a simple question and he said:&lt;br /&gt;&lt;br /&gt;"Because you actually WANTED to do installs."&lt;br /&gt;&lt;br /&gt;I think that says enough about our space.  It was true then and it's true now, IMO.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_28H3HFywulA/SrdmBE6o-yI/AAAAAAAAAN8/7Rxrei9-rsw/s1600-h/jobpost.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 265px;" src="http://2.bp.blogspot.com/_28H3HFywulA/SrdmBE6o-yI/AAAAAAAAAN8/7Rxrei9-rsw/s400/jobpost.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5383884048230316834" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-1323476987652112074?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/R7OpdlfYWg8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/1323476987652112074/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=1323476987652112074" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/1323476987652112074?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/1323476987652112074?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/R7OpdlfYWg8/interesting-posting-on-monster.html" title="Interesting Posting on Monster" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_28H3HFywulA/SrdmBE6o-yI/AAAAAAAAAN8/7Rxrei9-rsw/s72-c/jobpost.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/09/interesting-posting-on-monster.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMESH44cSp7ImA9WxNQEUg.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-8919096301235632563</id><published>2009-09-16T20:06:00.004-05:00</published><updated>2009-09-16T20:20:09.039-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-16T20:20:09.039-05:00</app:edited><title>Name This Tool</title><content type="html">I've been working on a WiX GUI editing tool lately that I'm hoping to release as open source soon.  I can't go into many details at this point because many things aren't decided yet.&lt;br /&gt;&lt;br /&gt;One thing that I need to get settled is what to name it.  Here's where I'm hoping you can help.  If you have a suggestion for a name, please leave a comment below.&lt;br /&gt;&lt;br /&gt;Rules:&lt;br /&gt;&lt;br /&gt;After a suitable list is generated, a poll will be created where my readers will rank their priority.&lt;br /&gt;&lt;br /&gt;The final ranked list will be vetted for trademark issues and a final name will be choosen.&lt;br /&gt;&lt;br /&gt;If you'd like the glory of claiming you named the new tool, please leave your real name when posting.&lt;br /&gt;&lt;br /&gt;The final name selected becomes the property of DeploymentEngineering.com and who ever I may assign it to.&lt;br /&gt;&lt;br /&gt;For a quick tease of the new tool, click the link below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_28H3HFywulA/SrGNX_zFiyI/AAAAAAAAAN0/9gHesoSuDoU/s1600-h/nameme.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 163px;" src="http://4.bp.blogspot.com/_28H3HFywulA/SrGNX_zFiyI/AAAAAAAAAN0/9gHesoSuDoU/s400/nameme.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5382238473086667554" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-8919096301235632563?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/42MmKRTRq3c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/8919096301235632563/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=8919096301235632563" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8919096301235632563?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8919096301235632563?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/42MmKRTRq3c/name-this-tool.html" title="Name This Tool" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_28H3HFywulA/SrGNX_zFiyI/AAAAAAAAAN0/9gHesoSuDoU/s72-c/nameme.PNG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">14</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/09/name-this-tool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUENQHczeSp7ImA9WxNSEUs.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-3119493809275161347</id><published>2009-08-24T21:24:00.002-05:00</published><updated>2009-08-24T21:34:51.981-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-24T21:34:51.981-05:00</app:edited><title>Specifying Source Files</title><content type="html">I've been spending a lot of time lately thinking about use cases for source file location abstractions.  Some tools like Visual Studio Deployment Projects provide no abstraction and other tools such as InstallShield provide abstractions (Path Variables) based on environment variables, registry values and/or command line arguments.&lt;br /&gt;&lt;br /&gt;Then there is Wix can use different types of compiler inferences and preprocessor variables and/or extensions.&lt;br /&gt;&lt;br /&gt;Obviously this can get very complicated so I'm curious, what is your favorite way to roll and why?   What do you need and what could you live without?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-3119493809275161347?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/GHqXhl1KGbo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/3119493809275161347/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=3119493809275161347" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3119493809275161347?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3119493809275161347?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/GHqXhl1KGbo/specifying-source-files.html" title="Specifying Source Files" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/08/specifying-source-files.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEEQ3c_eip7ImA9WxJbFks.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-6805533008093972040</id><published>2009-07-26T22:54:00.006-05:00</published><updated>2009-07-26T23:23:22.942-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-26T23:23:22.942-05:00</app:edited><title>Maybe I Should Roll My Own Part II</title><content type="html">Just over a year ago I played around with .NET object serialization for a day and came up with a simple little program that could build a WiX element tree, set the attributes and write the XML out.  I blogged about it &lt;a href="http://blog.deploymentengineering.com/2008/06/maybe-i-should-roll-my-own.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since then I've taken a .NET 3.5 / WCF / WPF / LINQ class and I now realize that LINQ to XML is perfect for this task.  For example, consider the simple example of a tool that can switch between designer view and xml view.   It can all be done in 10 simple steps:&lt;br /&gt;&lt;br /&gt;1) Create a couple of tab pages.  Put your designers on one and a richtext box on another.&lt;br /&gt;2) Use XElement.Load() to load the WiX document into an in memory object model.&lt;br /&gt;3) Use XElement.ToString() and pass it off to the RichTextBox.  &lt;br /&gt;4) Create an event handler and wire it up to the XElement changd event so that any time something changes in the object model you can refresh the XML view.&lt;br /&gt;5) Use LINQ to query the object model and feed the data into your UI components.&lt;br /&gt;6) Use your UI components to manipulate the objects using LINQ.&lt;br /&gt;7) Wire up the RichTextBox TextChanged event to refresh your UI if the XML changes.&lt;br /&gt;8) Use XElement.Save() to save your changes.&lt;br /&gt;9) Use visual studio integration to wire the tool up to Votive.  The concept is to not reinvent the wheel.  Just edit the WXS/WXI files out of process and let votive reload the documents after you save your changes.&lt;br /&gt;10) Profit! ( Sorry, Slashdot joke )&lt;br /&gt;&lt;br /&gt;Sure, there's a lot of work to do it all correctly but the basic pattern is actually quite simple.  So here's a couple screenshots of a (mostly working) program I was able to write in one day.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_28H3HFywulA/Sm0qBsCMbgI/AAAAAAAAANc/HNvP5Mj9S8E/s1600-h/desgin_view.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 253px;" src="http://2.bp.blogspot.com/_28H3HFywulA/Sm0qBsCMbgI/AAAAAAAAANc/HNvP5Mj9S8E/s400/desgin_view.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5362988939756727810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_28H3HFywulA/Sm0qEotB7FI/AAAAAAAAANk/3mNa5CXnSpo/s1600-h/xml_view.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 172px;" src="http://3.bp.blogspot.com/_28H3HFywulA/Sm0qEotB7FI/AAAAAAAAANk/3mNa5CXnSpo/s400/xml_view.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5362988990402260050" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-6805533008093972040?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/WaazXPsco_A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/6805533008093972040/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=6805533008093972040" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/6805533008093972040?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/6805533008093972040?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/WaazXPsco_A/maybe-i-should-roll-my-own-part-ii.html" title="Maybe I Should Roll My Own Part II" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_28H3HFywulA/Sm0qBsCMbgI/AAAAAAAAANc/HNvP5Mj9S8E/s72-c/desgin_view.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/07/maybe-i-should-roll-my-own-part-ii.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHRnk_cCp7ImA9WxJUEko.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-3696013152252810775</id><published>2009-07-10T18:55:00.003-05:00</published><updated>2009-07-10T19:18:57.748-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-10T19:18:57.748-05:00</app:edited><title>Austin meets Heat</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_28H3HFywulA/SlfaCYtl-hI/AAAAAAAAANU/bJPnI4IU3v0/s1600-h/Austin.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 117px;" src="http://4.bp.blogspot.com/_28H3HFywulA/SlfaCYtl-hI/AAAAAAAAANU/bJPnI4IU3v0/s400/Austin.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5356990016308771346" /&gt;&lt;/a&gt;&lt;br /&gt;Whew it's been hot in Texas lately.  AFAIK it's been 100f+ for the last several weeks with no end in sight.  Accordign to weather data, the max temp for last month was 106f with an average of 99f and a min of 90f.   This month we are tracking for 106f, 102f and 93f.    Whew.&lt;br /&gt;&lt;br /&gt;So what does this have to do with setup?  Well, I've been playing with WiX's Heat a lot lately.  I got tired of running heat from a command prompt and then repeating my same cleanup tasks over and over so I decided to automate it a little with a C# winforms application.  While I was at it, I added an interesting feature that I thought was a bit gimmicky at first until I started getting feedback on how cool it was.&lt;br /&gt;&lt;br /&gt;What did I add?  Simple: a FileSystemWatcher that monitors a directory for updates and then dynamically regenerates the wix document, cleans it up and then refreshes the display to show the new WiX code.  With multiple monitors you just stage the dirctory on one screen while watching the program write the code for you on the other screen.&lt;br /&gt;&lt;br /&gt;It's really a simple concept but everyone finds it quite informative. Once you have what you want you just cut and paste it into your Votive project.&lt;br /&gt;&lt;br /&gt;So I was going to call this new tool "Blow Torch" but when I asked a coworker who is also named Chris how he liked the name he just said that he'd call it Austin.&lt;br /&gt;&lt;br /&gt;Austin? Hmmm....  Sure, Why not?  I like the sound of it.&lt;br /&gt;&lt;br /&gt;So the hear finally destroyed our HVAC plant at work and everyone was sent home for the weekend early.  This gave me a few hours to work and now I have Austin built and packaged.   For now I'm just going to tease everyone with a screenshot but hopefully in a week or so I'll pass all of quality checks and release this tool for others to play with.   That process might go faster if people actually bug me for a copy. ( Hint Hint! )&lt;br /&gt;&lt;br /&gt;BTW, in case your wondering why the screenshot has a refresh button, I'm working on making it a feature to scan automatically or manually.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-3696013152252810775?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/LSoppA5bl50" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/3696013152252810775/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=3696013152252810775" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3696013152252810775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3696013152252810775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/LSoppA5bl50/austin-meets-heat.html" title="Austin meets Heat" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_28H3HFywulA/SlfaCYtl-hI/AAAAAAAAANU/bJPnI4IU3v0/s72-c/Austin.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/07/austin-meets-heat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08FRnw5eip7ImA9WxJVGE0.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-5952153036221200650</id><published>2009-07-04T14:41:00.004-05:00</published><updated>2009-07-05T08:50:17.222-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-05T08:50:17.222-05:00</app:edited><title>WiX 3.0 Ships</title><content type="html">Wix 3.0.5419 has been promoted to Production Stable quality on SourceForge.net and can be downloaded &lt;a href="http://sourceforge.net/projects/wix/files/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've been fairly critical of WiX over the years but today marks a turning point in that believe. With the release of 3.0, many features are now in place that begin to make a really strong case for seriously considering the use of WiX over legacy tools. While WiX still lacks a 1st class bootstrapper/chainer and proper IDE GUI design tools that other tools have, I believe that the core foundation of WiX is much better positioned for the future. &lt;br /&gt;&lt;br /&gt;Hopefully we'll see WiX 3.5 ( featuring Burn )in 6-12 months to address these concerns. I also hope to see Votive explode into a fully featured visual studio add-in.  Finally, I expect a market of WiX based designer tools to appear.  Hopefully WiXAware 3.0 will be released ( and even more hopefully that it actually work! ) and I also anticipate InstallShield will eventually bring tools to market based on WiX.  IMO it is inevitable and the InstallShield brand as a packaging tool will not survive if they do not.&lt;br /&gt;&lt;br /&gt;So there it is: WiX 3.0 is shipped and I now see the road that I will travel towards over the coming months.  With dozens of installers composed from hundreds of merge modules and tens of thousands of files, it'll take us awhile to get there from sure.  But I am no convinced that the effort will be worthwhile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-5952153036221200650?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/6Ca2X0jZDII" height="1" width="1"/&gt;</content><link rel="related" href="http://robmensching.com/blog/posts/2009/7/4/WiX-v3.0-released" title="WiX 3.0 Ships" /><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/5952153036221200650/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=5952153036221200650" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/5952153036221200650?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/5952153036221200650?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/6Ca2X0jZDII/wix-30-ships.html" title="WiX 3.0 Ships" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/07/wix-30-ships.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0INR3o8eip7ImA9WxJWGUk.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-7044849351018497430</id><published>2009-06-25T09:45:00.002-05:00</published><updated>2009-06-25T09:53:16.472-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-25T09:53:16.472-05:00</app:edited><title>Two Blog Articles on Windows 7 Compatibility Shims Every Install Developer Should Be Aware Of</title><content type="html">Both of these were referenced on Stefan's InstallSite blog but I thought I'd reference them too.  Both blog articles are on &lt;a href="http://blogs.msdn.com/cjacks/default.aspx"&gt;Chris Jackson's Semantic Consonance blog&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/cjacks/archive/2009/05/06/why-custom-actions-get-a-windows-vista-version-lie-on-windows-7.aspx"&gt;Why Custom Actions get a Windows Vista Version Lie on Windows 7&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/cjacks/archive/2009/06/18/pca-changes-for-windows-7-how-to-tell-us-you-are-not-an-installer-take-2-because-we-changed-the-rules-on-you.aspx"&gt;PCA Changes for Windows 7: How To Tell Us You are Not an Installer, Take 2 (because we changed the rules on you)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-7044849351018497430?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/coc94WB-bb0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/7044849351018497430/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=7044849351018497430" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7044849351018497430?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7044849351018497430?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/coc94WB-bb0/two-blog-articles-on-windows-7.html" title="Two Blog Articles on Windows 7 Compatibility Shims Every Install Developer Should Be Aware Of" /><author><name>Colby</name><uri>http://www.blogger.com/profile/08696301684260588101</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09104302108733971174" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/06/two-blog-articles-on-windows-7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMASXs9fyp7ImA9WxJWGEo.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-8729874996162293731</id><published>2009-06-24T15:07:00.002-05:00</published><updated>2009-06-24T15:14:08.567-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-24T15:14:08.567-05:00</app:edited><title>DRM Activation Question</title><content type="html">ShadowWolf recently commented:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;Activation ( and reactivation ) are pretty par for the course in the business tool world from what I've seen. I don't know that anyone really "likes" it, but it definitely serves a legitimate purpose.&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;This comment made me wonder, is this true? I work in an environment with airgaps around our network connections for security purposes and I can't think of a single tool that we use besides InstallShield that requires activation and/or reactivation.&lt;br /&gt;&lt;br /&gt;Sure, Windows does (once) but they also offer a volume license key that doesn't require activation. Microsoft Office works the same way. Visual Studio, TFS and so on. Even our IBM/Rational products don't give us this problem and trust me, those are some pretty darn expensive tools. The only product that we use that I can think of is Robohelp.&lt;br /&gt;&lt;br /&gt;So I'm curious, what are some of the products my readers use that require activation?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-8729874996162293731?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/Fk-d18jti1Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/8729874996162293731/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=8729874996162293731" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8729874996162293731?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8729874996162293731?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/Fk-d18jti1Y/drm-activation-question.html" title="DRM Activation Question" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/06/drm-activation-question.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YNQHw6eyp7ImA9WxJWFEs.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-7995412096058399317</id><published>2009-06-18T22:56:00.002-05:00</published><updated>2009-06-19T21:33:11.213-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-19T21:33:11.213-05:00</app:edited><title>InstallShield 2010 vs WiX 3.0</title><content type="html">It's been no secret that I've favored InstallShield over WiX for many years.  I've used InstallShield products since 1997 and I've shipped hundreds of installers using this versatile tool.   InstallScript, XML Locator, Setup Prerequisites, Multiple Instance Support, COM Extraction, MySQL, Dialog/Control editors, Product/Release configurations and Component authoring wizards/views have made me a very productive and profitable person over the years.&lt;br /&gt;&lt;br /&gt;Unfortunatly, there are also things I dislike about InstallShield.  The DRM activation ( and now reactivation with IS2010 ) is horrible, difficulty in trying to get updates in an offline scenario (which we always are for security purposes), the random crashes, the horrible DTD/XML transformation, sequenced primary keys and of course, the removal of the stand alone build from Professional and totally useless collaboration tool combined with the really high price of the product.&lt;br /&gt;&lt;br /&gt;If I'm hurting anyones feelings, I'm sorry.  It's hard for me too since I've used this tool for so long and I do believe it's still a very good tool for many development shops.  Just not for mine.&lt;br /&gt;&lt;br /&gt;At my day job, I lead a team of 4 ( going on 6! ) setup developers.  We collectively maintain dozens of installs that generate and consume hundreds of merge modules from a software product line.  Our typical installer ships 10,000 - 15,000 files and includes countless databases, services, webservices and many chained packages of programs that we integrate with.   All of this occurs on many active branches.&lt;br /&gt;&lt;br /&gt;Unfortunatly InstallShield with it's DTD XML and incremented primary keys just doesn't work well in this environment.   Merging branches back together in clearcase is a nightmare since you always end up with unresolved conflicts.  Enter WiX.   The XSD XML is 95% smaller then DTD XML and is way more expressive.   Also thanks to deterministically unique primary keys and guids,  changes done on multiple branches can actually merge back together easily.&lt;br /&gt;&lt;br /&gt;The problem with WiX of course is the lack of gui designer abstractions and visualizations.  Fortunatly I finally have a solution for that.  I've recently had an internal tools developer assigned to me to come up with our own collaboration tools to sit on top of votive.   Once complete we are hoping to once again try decentralized setup development.   I'm not sure it'll work ( it didn't last time ) but we are going to give it a try again.    The reality is our environment is growing so fast that we need to retool and try new strategies to keep up.  Hiring more and more people just doesn't seem to work anymore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-7995412096058399317?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/kYBFqGC866s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/7995412096058399317/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=7995412096058399317" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7995412096058399317?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7995412096058399317?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/kYBFqGC866s/installshield-2010-vs-wix-30.html" title="InstallShield 2010 vs WiX 3.0" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">14</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/06/installshield-2010-vs-wix-30.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UDQHc4fip7ImA9WxJQFUs.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-8486935352674431407</id><published>2009-05-28T21:39:00.003-05:00</published><updated>2009-05-28T21:47:51.936-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-28T21:47:51.936-05:00</app:edited><title>Now Hiring - Austin, TX</title><content type="html">I'm looking for an experienced InstallShield / MSI / WiX / BuildForge / TFS / C# software engineer to join my team in Southwest Austin, TX.   The engineer will be part of a Build and Install team that currently consists of 8 members with 3 more on the way to meet our ever growing needs.&lt;br /&gt;&lt;br /&gt;Please contact me at chrpai@deploymentengineering.com if you are interested.  &lt;br /&gt;&lt;br /&gt;Please note, due to customer requirements, all applicants must be a US citizen. Ability to obtain and maintain a US Security Clearance is required; an active clearance is highly desirable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-8486935352674431407?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/nG3gldFNzyo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/8486935352674431407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=8486935352674431407" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8486935352674431407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8486935352674431407?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/nG3gldFNzyo/now-hiring-austin-tx.html" title="Now Hiring - Austin, TX" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/05/now-hiring-austin-tx.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUNQ384cCp7ImA9WxJSEEs.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-4431663172950411831</id><published>2009-04-27T22:23:00.005-05:00</published><updated>2009-04-29T21:58:12.138-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-29T21:58:12.138-05:00</app:edited><title>Trip Down Memory Lane</title><content type="html">&lt;a href="http://1.bp.blogspot.com/_28H3HFywulA/SfZ5HQefXaI/AAAAAAAAANM/PfAwSNBjtMQ/s1600-h/chrismarine.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 135px; height: 220px;" src="http://1.bp.blogspot.com/_28H3HFywulA/SfZ5HQefXaI/AAAAAAAAANM/PfAwSNBjtMQ/s400/chrismarine.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329580374628457890" /&gt;&lt;/a&gt;&lt;br /&gt;I don't talk about this much these days, but before my career in computers I was once a musician. From 1993 to 1996, I was assigned for duty with "&lt;a href="http://drumcorps.mbw.usmc.mil/"&gt;The Commandant's Own&lt;/a&gt;" United States Marine Drum and Bugle Corps. It was quite an honor to have earned the privilege to tour with such an outstanding group. &lt;br /&gt;&lt;br /&gt;Those were some really great years of my life. Thanks to Facebook, I'm able to keep in touch with my &lt;a href="http://drumcorps.mbw.usmc.mil/former.htm"&gt;former fellow Marines&lt;/a&gt; and in June we'll be having a 75th anniversary reunion in Washington, DC.&lt;br /&gt;&lt;br /&gt;So turn up your speakers and press play for a trip down memory lane.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MuRm81XPig0&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/MuRm81XPig0&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-4431663172950411831?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/CXSk8AHI21Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/4431663172950411831/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=4431663172950411831" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/4431663172950411831?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/4431663172950411831?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/CXSk8AHI21Y/trip-down-memory-lane.html" title="Trip Down Memory Lane" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_28H3HFywulA/SfZ5HQefXaI/AAAAAAAAANM/PfAwSNBjtMQ/s72-c/chrismarine.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/04/trip-down-memory-lane.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEDSXg4cSp7ImA9WxJTEEw.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-7565699039927204609</id><published>2009-04-17T20:04:00.002-05:00</published><updated>2009-04-17T20:37:58.639-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-17T20:37:58.639-05:00</app:edited><title>WiX DTF Mystery Solved</title><content type="html">Last October a (then) former ( and now current ) coworker also named Chris asked me the following in an email:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;I am running into a problem with a DTF custom action.  When the action tries to run I get:&lt;br /&gt; &lt;br /&gt;"SFXCA: Failed to create new CA process via RUNDLL32."  &lt;br /&gt;&lt;br /&gt;This on is weird because I am using the exact same module in another product on the same machine and it works like a champ. Bizarre.&lt;br /&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;My initial reply was:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;Are any CA's running before it?&lt;/blockquote&gt;&lt;/em&gt;&lt;br /&gt;I hadn't seen this error before and I was a little concerned because I was such a proponent of DTF and managed custom actions I was afraid that perhaps DTF had an Achilles' heel.   I also knew that where my friend worked was the home of a very restrictive environment so if anyone would find a problem with DTF, it would be him!  &lt;br /&gt;&lt;br /&gt;I introduced Chris to the creator of DTF, Jason Ginchereau, and the two attempted to troubleshoot the problem with little progress.  I didn't really follow up on it because at the time I was busy cranking through sprints for a new product at Multimedia Games.&lt;br /&gt;&lt;br /&gt;Fast forward five months and I'm working with Chris again refactoring build automation, creating installation tools and writing custom actions for installs.  Suddenly the ugly RUNDLL problem rears it's head again only this time it's MY problem because I'm now the install team lead and I'm always saying how good DTF is.&lt;br /&gt;&lt;br /&gt;Rats.&lt;br /&gt;&lt;br /&gt;So I email Jason again and log a bug (&lt;a href="http://sourceforge.net/tracker/?func=detail&amp;atid=642714&amp;aid=2710297&amp;group_id=105970"&gt;SF210297&lt;/a&gt;) at SourceForge to make sure it gets proper attention this time.    This time Jason sees some problems on the unmanaged side of DTF.   He was assuming that the current working directory of the recycled process hadn't been mucked with ( remember my comment about other CA's scheduled prior? ) when he made his call to RUNDLL32.&lt;br /&gt;&lt;br /&gt;So to make a long story short, I just completed an effort with the build team today to update 30 some virtual machines to have WiX 3.0.5210.0.  Between this bug fix and many others related to DTF,  I really suggest that anyone using DTF custom actions in builds prior to 5210 upgrade ASAP and don't ship your product until you do.   You might never come across this problem but I know I sleep better knowing I won't either now also.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-7565699039927204609?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/d7xJT2rrSqM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/7565699039927204609/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=7565699039927204609" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7565699039927204609?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/7565699039927204609?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/d7xJT2rrSqM/wix-dtf-mystery-solved.html" title="WiX DTF Mystery Solved" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/04/wix-dtf-mystery-solved.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMBSX84fCp7ImA9WxVaGEg.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-8660321505543469389</id><published>2009-04-15T22:14:00.003-05:00</published><updated>2009-04-15T22:27:38.134-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-15T22:27:38.134-05:00</app:edited><title>InstallAware Email Thread ... Is this for real?</title><content type="html">I came across a very interesting email thread that is really far out there.  I almost want to believe it's a fake but having dealt with InstallAware and Michael Nesmith in the past, I can only conclude that it's legit.&lt;br /&gt;&lt;br /&gt;You can read the exchange &lt;a href="http://www.codeproject.com/Lounge.aspx?msg=2994975#xx2994975xx"&gt;here&lt;/a&gt; at CodeProject.com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-8660321505543469389?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/GWDgNqjP76I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/8660321505543469389/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=8660321505543469389" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8660321505543469389?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/8660321505543469389?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/GWDgNqjP76I/installaware-email-thread-is-this-for.html" title="InstallAware Email Thread ... Is this for real?" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/04/installaware-email-thread-is-this-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ABSHc_eSp7ImA9WxVbFUU.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-4769167162666877254</id><published>2009-04-01T07:10:00.008-05:00</published><updated>2009-04-01T07:42:39.941-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-01T07:42:39.941-05:00</app:edited><title>When You Wish Upon A Star</title><content type="html">&lt;a href="http://1.bp.blogspot.com/_28H3HFywulA/SdNgZAtL35I/AAAAAAAAAMg/SXyuJ4CRFPc/s1600-h/girlsgrowingup.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_28H3HFywulA/SdNgZAtL35I/AAAAAAAAAMg/SXyuJ4CRFPc/s400/girlsgrowingup.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5319701567657205650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;When you wish upon a star&lt;br /&gt;Makes no difference who you are&lt;br /&gt;Anything your heart desires&lt;br /&gt;Will come to you&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Wow, have they grown fast! It seems like just yesterday that Ashley and Emma was born.&lt;br /&gt;&lt;br /&gt;When you have a 4 year old and a 6 year old who both are princesses, there's only place you can go for vacation... it's simply time to visit the mouse.&lt;br /&gt;&lt;br /&gt;Anyone have tips for a first-timer? We'll be going in May before Memorial day.&lt;br /&gt;&lt;br /&gt;Wish me luck! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-4769167162666877254?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/r5GhUb-KH5k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/4769167162666877254/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=4769167162666877254" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/4769167162666877254?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/4769167162666877254?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/r5GhUb-KH5k/when-you-wish-upon-star.html" title="When You Wish Upon A Star" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_28H3HFywulA/SdNgZAtL35I/AAAAAAAAAMg/SXyuJ4CRFPc/s72-c/girlsgrowingup.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/04/when-you-wish-upon-star.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcCQX0-eip7ImA9WxVbEUQ.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-4948884954290408565</id><published>2009-03-27T16:35:00.003-05:00</published><updated>2009-03-27T16:41:00.352-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-27T16:41:00.352-05:00</app:edited><title>Interesting Tweet</title><content type="html">I just saw this &lt;a href="http://twitter.com/jnoellsch/statuses/1388656912"&gt;tweet&lt;/a&gt; on Twitter:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_28H3HFywulA/Sc1HWWoKC9I/AAAAAAAAAMA/74SDgwmqM7Y/s1600-h/tweet.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 273px;" src="http://3.bp.blogspot.com/_28H3HFywulA/Sc1HWWoKC9I/AAAAAAAAAMA/74SDgwmqM7Y/s400/tweet.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317985184351128530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I don't know the whole back story, and I'm sorry Jim feels that his work is going down the drain, but I only have one thing to say to this:&lt;br /&gt;&lt;br /&gt;Hip Hip Hooray!!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-4948884954290408565?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/WKf_JrS1ql4" height="1" width="1"/&gt;</content><link rel="related" href="http://twitter.com/jnoellsch/statuses/1388656912" title="Interesting Tweet" /><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/4948884954290408565/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=4948884954290408565" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/4948884954290408565?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/4948884954290408565?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/WKf_JrS1ql4/interesting-tweet.html" title="Interesting Tweet" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_28H3HFywulA/Sc1HWWoKC9I/AAAAAAAAAMA/74SDgwmqM7Y/s72-c/tweet.PNG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/03/interesting-tweet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQNQng7fip7ImA9WxVUFUs.&quot;"><id>tag:blogger.com,1999:blog-9537945.post-3237486348373722078</id><published>2009-03-20T08:24:00.004-05:00</published><updated>2009-03-20T10:19:53.606-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-20T10:19:53.606-05:00</app:edited><title>SQL Server 2005 SP3 Horrible Setup Experience Results in BSOD</title><content type="html">I maintain a bootstrapper at work and recently we were asked to update SQL Server 2005 SP2 to SQL Server 2005 SP3.&lt;br /&gt;&lt;br /&gt;Not a big deal, right?&lt;br /&gt;&lt;br /&gt;Wrong!&lt;br /&gt;&lt;br /&gt;When installing SQL 2005 SP3 the setup just blows chunks and reboots the computer via blue screen of death!&lt;br /&gt;&lt;br /&gt;Worse, the machine goes into an infinite reboot because the installation is an incomplete state and everytime the SQL services try to start the machine BSODS again.&lt;br /&gt;&lt;br /&gt;You can boot safe mode and disable the services and then reboot again.  But if you attempt to uninstall SQL server you get an error message saying it can't be accomplished.&lt;br /&gt;&lt;br /&gt;Wow, thank you Microsoft, you've outdone yourself yet again.&lt;br /&gt;&lt;br /&gt;So in digging into this problem it seems that the SQL team is &lt;a href="http://blogs.msdn.com/petersad/archive/2009/01/20/sql-server-2005-sp3-sql-server-2005-sp2-cus-or-sql-server-2008-may-cause-xp-sp2-to-restart.aspx"&gt;punting&lt;/a&gt; to the Windows team.   They are saying that they manifested PE files for Vista/2008 in SP3 and that due to a bug in Windows SXS on SP2 ( hotfix available for SP2 or otherwise update to SP3 ) that there is nothing the SQL team can due to solve this.&lt;br /&gt;&lt;br /&gt;Um, they could at least put an AppSearch/LaunchCondition into their install so that my machine doesn't turn into a burning pile of dung!&lt;br /&gt;&lt;br /&gt;Anyways here's my official warning.  Avoid SP3 like the plague and if you must go there, make sure you provide your own prereq check for SP3 or SxS hotfix level in and as always make sure you integration test your installs on the lowest platform configuration possible.    I'd hate for some ISV to test on SP3, never see this problem and then ship a product that embeds SQL to a customer.  I'd hate even more to have to be taking that BSOD support call.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9537945-3237486348373722078?l=blog.deploymentengineering.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeploymentEngineering/~4/YmeaYnqE9SI" height="1" width="1"/&gt;</content><link rel="related" href="http://blogs.msdn.com/petersad/archive/2009/01/20/sql-server-2005-sp3-sql-server-2005-sp2-cus-or-sql-server-2008-may-cause-xp-sp2-to-restart.aspx" title="SQL Server 2005 SP3 Horrible Setup Experience Results in BSOD" /><link rel="replies" type="application/atom+xml" href="http://blog.deploymentengineering.com/feeds/3237486348373722078/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9537945&amp;postID=3237486348373722078" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3237486348373722078?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9537945/posts/default/3237486348373722078?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DeploymentEngineering/~3/YmeaYnqE9SI/sql-server-2005-sp3-horrible-setup.html" title="SQL Server 2005 SP3 Horrible Setup Experience Results in BSOD" /><author><name>Christopher Painter</name><uri>http://www.blogger.com/profile/12167478740431444267</uri><email>chrpai@yahoo.com</email><gd:extendedProperty name="OpenSocialUserId" value="00703071804906658959" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://blog.deploymentengineering.com/2009/03/sql-server-2005-sp3-horrible-setup.html</feedburner:origLink></entry></feed>
