<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.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>COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx</link><description>Yesterday I mentioned some discussion on the WiX Toolkit mailing list about the use of COM Advertising support and the challenges that go along with it. Rob Mensching argued that the tables which enable this functionality should be avoided due to some</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>My 2 cents</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#64701</link><pubDate>Wed, 31 Aug 2005 02:40:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:64701</guid><dc:creator>TrackBack</dc:creator><description>If people were following the the WIX-Users Mailing list, they would find that it has been a little hot recently. The first instance (as far as my knowledge goes) was with Michael creating a validation tool for the WIX Toolset called 'smoke'. I personally &lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=64701" width="1" height="1"&gt;</description></item><item><title>re:COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#61084</link><pubDate>Wed, 03 Aug 2005 01:03:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:61084</guid><dc:creator>TrackBack</dc:creator><description>COM Advertising Support in Windows Installerooeess&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=61084" width="1" height="1"&gt;</description></item><item><title>re:COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#58712</link><pubDate>Fri, 22 Jul 2005 06:49:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:58712</guid><dc:creator>TrackBack</dc:creator><description>COM Advertising Support in Windows Installerooeess&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=58712" width="1" height="1"&gt;</description></item><item><title>re:COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#47835</link><pubDate>Thu, 19 May 2005 03:37:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:47835</guid><dc:creator>TrackBack</dc:creator><description>^_~,pretty good!csharpsseeoo&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=47835" width="1" height="1"&gt;</description></item><item><title>re:COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#42713</link><pubDate>Fri, 15 Apr 2005 22:27:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:42713</guid><dc:creator>TrackBack</dc:creator><description>^_^,Pretty Good!&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=42713" width="1" height="1"&gt;</description></item><item><title>Washing my hands...</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#31360</link><pubDate>Mon, 10 Jan 2005 23:19:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:31360</guid><dc:creator>TrackBack</dc:creator><description>&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=31360" width="1" height="1"&gt;</description></item><item><title>Tallow, where art thou</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#27845</link><pubDate>Tue, 28 Dec 2004 07:41:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:27845</guid><dc:creator>TrackBack</dc:creator><description>&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=27845" width="1" height="1"&gt;</description></item><item><title>My 2 cents</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#27124</link><pubDate>Thu, 23 Dec 2004 08:52:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:27124</guid><dc:creator>TrackBack</dc:creator><description>&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=27124" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26827</link><pubDate>Thu, 23 Dec 2004 01:21:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26827</guid><dc:creator>Michael</dc:creator><description>Thanks for the thoughtful and complete explanation!  I cetainly have a better understanding of the thought process that went into this now.  For what it's worth, most of the &lt;a title="WiX Toolkit" href="http://sourceforge.net/projects/wix/" target="_blank"&gt;WiX Toolkit&lt;/a&gt; schema elements follow suit with the Windows Installer table names.  Given that a firm grasp of Windows Installer is a prereq. for WiX, I still think the default behavior is not what one would intuitively expect.  Perhaps if the &amp;quot;Advertise&amp;quot; attribute required an explicit yes or no, and had no default, that would have prompted me to read the docs and realize what was going on.  In any case, I accept your explanation and thank you again, for spelling it out so clearly!&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26827" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26824</link><pubDate>Thu, 23 Dec 2004 00:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26824</guid><dc:creator>Michael</dc:creator><description>Michael,&lt;br&gt;&lt;br&gt;Think about the &lt;a title="WiX Toolkit" href="http://sourceforge.net/projects/wix/" target="_blank"&gt;WiX Toolkit&lt;/a&gt; schema as a language instead of a direct mapping to the Windows Installer tables.  Then, try working with the Class, ProgId and AppId elements for a while.  You'll find that they are far less complex to manage the 20 or so Registry elements you'd need to accomplish the same thing.  It also alows you to specify the registry keys that always have to go into the Registry table (like ThreadModel) in the same place as the rest of the definitions.  That's definitely a win (it is at least less typing and you don't need to duplicate a GUID in multiple Registry elements).&lt;br&gt;&lt;br&gt;Now the Windows Installer has the ability to &amp;quot;advertise&amp;quot; COM registration.  Do you call the attribute &amp;quot;ConvertToRegistry&amp;quot; because the implementation in the Windows Installer uses tables called Class/ProgId/AppId for advertised stuff and the Registry for non-advertised stuff, or do you call it &amp;quot;Advertise&amp;quot; because the COM registration is supposed to be advertised.  I obviously agree with Orion's thinking that &amp;quot;Advertise&amp;quot; is a better name for the attribute.&lt;br&gt;&lt;br&gt;Now, the question turns to what should the default for &amp;quot;Advertise&amp;quot; be?  At a certain level, you just flip a coin.  Some people will like it one way, others will like it the other.  Fortunately, the toolset is able to do both (one just requires more typing).  Note, that adding Advertise='yes' also adds the complication that you must pick your &amp;quot;primary Feature&amp;quot; for advertisement.  In the end, flipping a coin wasn't necessary because we weighed a lot of the issues above (plus the WiX v1 syntax) and picked the default to be &amp;quot;no&amp;quot;.&lt;br&gt;&lt;br&gt;I still believe that Advertise=&amp;quot;no&amp;quot; is a better default.  You're welcome to disagree with me and if you really want a different default, download the source code and tweak the YesNoType.NotSet value in Compiler.cs:1633 to YesNotType.Yes.  Or add default='yes' to the wix.xsd for the Advertise attributes.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26824" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26816</link><pubDate>Wed, 22 Dec 2004 23:48:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26816</guid><dc:creator>Michael</dc:creator><description>Rob -- the larger issue for me is abandoning the COM related tables.  Understanding that some people may choose not to use them, an option to translate those entries to the registry table is an option that I could live with.  As I indicated to Orion, the mere existance of those entries in your xml is an EXPLICIT statement that you want them to be there, so with all due respect to old versions, the &amp;quot;Advertised&amp;quot; attribute seems redendant and confusing.  Implementing it as a &amp;quot;ConvertToRegistry&amp;quot; attribute that has a default of no would have made much more sense to me.  Even having said all that, I still have to wonder:  If you don't want COM advertsing, why would you create those entries in the first place?  If you were decompiling an existing msi, then a compiler directive to convert them would have been cool, or if you were authoring from scratch, just put that stuff in Registry elements in the first place.  Based on what you said, I'm guess it is a limitation caused by previous versions of &lt;a title="WiX Toolkit" href="http://sourceforge.net/projects/wix/" target="_blank"&gt;WiX Toolkit&lt;/a&gt;, but can't we fix this in a more elegant way now so we don't have to live with this forever?&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26816" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26815</link><pubDate>Wed, 22 Dec 2004 23:31:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26815</guid><dc:creator>Michael</dc:creator><description>We could name the attribute &amp;quot;PleaseJustDoWhatISaid&amp;quot;, but do you think that would be more accurate?  Is your main issue here the fact that the default for the Advertise attribute is &amp;quot;no&amp;quot;?  If so, then there is a reason for that.  Advertisement was done in a rather whacky way in &lt;a title="WiX Toolkit" href="http://sourceforge.net/projects/wix/" target="_blank"&gt;WiX Toolkit&lt;/a&gt; v1 (that never was released) and when we moved to the WiX v2 schema we added the Advertise attribute to maintain backwards compatibility.&lt;br&gt;&lt;br&gt;I can't believe that this is the whole issue?  The default on this attribute?&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26815" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26814</link><pubDate>Wed, 22 Dec 2004 23:19:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26814</guid><dc:creator>Michael</dc:creator><description>Orion -- ;-)  I do love your sense of humor!&lt;br&gt;&lt;br&gt;Thanks for the compliment (I think...), but, no -- I don't think that I know more than Rob.  I just think that I know a lot about this stuff in general.&lt;br&gt;&lt;br&gt;Lastly, I don't work for that company and have NO ongoing relationship with them whatsoever.&lt;br&gt;&lt;br&gt;Lastly, I have no problem with the &amp;quot;Advertise&amp;quot; attribute and what it does, but think the defaults should be the other way around.  The sheer existence of those elements is an explicit statement that you DO want them &amp;quot;advertised&amp;quot;.  Having to explictily set the &amp;quot;Advertise&amp;quot; attribute is like have a &amp;quot;YesIReallyWantToDoThis&amp;quot; attribute...&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26814" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26811</link><pubDate>Wed, 22 Dec 2004 23:08:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26811</guid><dc:creator>Michael</dc:creator><description>Hey Scott -- thanks for the comments, but that isn't what I meant.  I see how can think that, but is was meant as sarcasm.  In other words, if you're going to do that, you might as well save the trouble and go the final tiny step to self-registration.&lt;br&gt;&lt;br&gt;See Scott -- almost every reason cited in the link you gave applies to what tallow does too!&lt;br&gt;&lt;br&gt;Lastly, you are suggesting that I am criticizing without offering solutions.  I'll quote myself now:&lt;br&gt;&lt;br&gt;&amp;quot;If there is a problem, let’s identify and document it.  Let’s educate &lt;a title="WiX Toolkit" href="http://sourceforge.net/projects/wix/" target="_blank"&gt;WiX Toolkit&lt;/a&gt; authors on how to avoid that problem.  Let’s work with the Windows Installer team to get it fixed.  I know those guys, and I know if it’s broke, they’ll want to fix it.&amp;quot;&lt;br&gt;&lt;br&gt;The entire point to this whole crusade I'm on is that (if it's broke) I want to fix this...&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26811" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26810</link><pubDate>Wed, 22 Dec 2004 23:06:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26810</guid><dc:creator>Michael</dc:creator><description>Well, if you want to advertise something, logically you'd set the advertise attribute on wouldn't you ;-)&lt;br&gt;&lt;br&gt;Most of michaels comments on the wix mailing lists have been of high quality and he obviously knows a massive amount about the windows installer (and obviously thinks he knows far more than Rob M, but whether he does is irrelevant really.)&lt;br&gt;&lt;br&gt;However, having read his past history (and the fact that he seems to be currently employed by zero-g), one can't help but wonder if michael does in fact have some agenda to push... the more people use wix, the less potential customers his company has... It'd be like windows developers contributing code to the linux kernel or somesuch...&lt;br&gt;/me takes out the proverbial grain of salt for future use&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26810" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26808</link><pubDate>Wed, 22 Dec 2004 22:37:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26808</guid><dc:creator>Michael</dc:creator><description>Hey Rob -- Instead of naming that attribute &amp;quot;Advertise&amp;quot;, can we change it to &amp;quot;PleaseJustDoWhatISaid&amp;quot;? ;-)&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26808" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26783</link><pubDate>Wed, 22 Dec 2004 20:41:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26783</guid><dc:creator>Michael</dc:creator><description>Sorry, I don't post comments to blogs very often.  Here's that documentation link again without my HTML decorations:&lt;br&gt;&lt;br&gt;&lt;a target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/selfreg_table.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/selfreg_table.asp&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26783" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26782</link><pubDate>Wed, 22 Dec 2004 20:39:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26782</guid><dc:creator>Michael</dc:creator><description>Well, at least your blog is appropriately titled... &amp;quot;Ramblings &amp;amp; Rants&amp;quot;.&lt;br&gt;&lt;br&gt;There's just one thing in there that I can't leave on the table.  In your ranting, you suggested that to avoid DLL hell one should just use selfreg.  &amp;lt;a href=&amp;quot;&lt;a target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/selfreg_table.asp&amp;quot;&amp;gt;Here&amp;lt;/a&amp;gt;"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/selfreg_table.asp&amp;quot;&amp;gt;Here&amp;lt;/a&amp;gt;&lt;/a&gt; is some documentation explaining why you should _NOT_ do that.  Tallow is one approach to a solution for the problems described in that documentation.  As you've pointed out it may not be a perfect solution in all cases.  It does however make it easier for MSI package developers to do the &amp;quot;right thing&amp;quot; and not use self-reg.&lt;br&gt;&lt;br&gt;Anyone can point out problems and criticize.  Coming up with solutions... now that's the part is valuable.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26782" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26780</link><pubDate>Wed, 22 Dec 2004 20:14:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26780</guid><dc:creator>Michael</dc:creator><description>It sounds to me that you are trying to discredit the use of the &lt;a title="WiX Toolkit" href="http://sourceforge.net/projects/wix/" target="_blank"&gt;WiX Toolkit&lt;/a&gt; Toolkit for your own personal benefit. Looking through your past history shows that you have had competing products to WiX. Are you a little bitter perhaps? Statements like, &amp;quot;Microsoft competitors are hard at work on intelligent application deployment and management solutions&amp;quot; sounds like they come right out of a marketing brochure. Why don't you just say which product you are promoting and be done with it.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26780" width="1" height="1"&gt;</description></item><item><title>re: COM Advertising Support in Windows Installer</title><link>http://msmvps.com/blogs/michael/archive/2004/12/22/26726.aspx#26769</link><pubDate>Wed, 22 Dec 2004 19:19:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:26769</guid><dc:creator>Michael</dc:creator><description>Finally, it is considered a very big deal to prompt the user to find their original source media.  When I was in Office, we went to extreme lengths to avoid any prompt for the source media because customers could not always access the media when prompted.  Fundamentally, customer's hated being prompted for the source media at any point in time *except* initial install.  The story I told was just one of my favorite examples explaining how using the Class tables is a great way to lose control over prompts to your source media.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=26769" width="1" height="1"&gt;</description></item></channel></rss>