<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Cool MSI custom action debugging tool</title><link>http://blogs.msdn.com/astebner/archive/2005/03/07/388739.aspx</link><description>I posted an item on my blog last week with some details about how Windows Installer custom actions work behind the scenes. Some of the feedback I got back after posting this item asked some good questions about debugging strategies for custom actions.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Cool MSI custom action debugging tool</title><link>http://blogs.msdn.com/astebner/archive/2005/03/07/388739.aspx#389139</link><pubDate>Tue, 08 Mar 2005 04:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:389139</guid><dc:creator>Steven Bone</dc:creator><description>Aaron - Kudos to you and Jungwook for sharing this with the community.  &lt;br&gt;&lt;br&gt;Continuing the discussion from the other thread on debugging...  To hit the rollback case for debugging you can return an ERROR_INSTALL_FAILURE from another deferred CA (added after the deferred CA you want to debug, of course).  All of my CA DLL's have an entry point MsiCauseError() for this purpose.  &lt;br&gt;&lt;br&gt;The QA people tend to frown when they grab a work in progress and see the &amp;quot;Do you want me to cause an error?&amp;quot; dialog.  I haven't gotten the &amp;quot;Installation rollback after dialog selection&amp;quot; bug report yet, but if any of them happen to be reading this, I'm sure I'll see one assigned to me in the morning :)</description></item><item><title>re: Cool MSI custom action debugging tool</title><link>http://blogs.msdn.com/astebner/archive/2005/03/07/388739.aspx#9067667</link><pubDate>Fri, 14 Nov 2008 01:18:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9067667</guid><dc:creator>tomtrias</dc:creator><description>&lt;p&gt;Aaron,&lt;/p&gt;
&lt;p&gt;I second Steven's praise. &amp;nbsp;However, while using catest to work on WiX v. 3's custom actions, I was wondering if it is possible within the catest.ini to have hooks for multiple actions of the same type (e.g. Immediate); I figured that catest could route to the correct action by the CustomAction.Action field. &amp;nbsp;Here's my CustomAction table, to illustrate my point:&lt;/p&gt;
&lt;p&gt;SchedSecureObjects	1	WixCA	SchedSecureObjects	&lt;/p&gt;
&lt;p&gt;SchedSecureObjectsRollback	1	WixCA	SchedSecureObjectsRollback	&lt;/p&gt;
&lt;p&gt;ExecSecureObjects	3073	WixCA	ExecSecureObjects	&lt;/p&gt;
&lt;p&gt;ExecSecureObjectsRollback	3329	WixCA	ExecSecureObjectsRollback	&lt;/p&gt;
&lt;p&gt;SchedServiceConfig	1	WixCA	SchedServiceConfig	&lt;/p&gt;
&lt;p&gt;ExecServiceConfig	3073	WixCA	ExecServiceConfig	&lt;/p&gt;
&lt;p&gt;RollbackServiceConfig	3329	WixCA	RollbackServiceConfig	&lt;/p&gt;
&lt;p&gt;I have no problems setting catest up for one of each type, but what would I do in the INI in order to debug both SchedSecureObjects and SchedSecureObjectsRollback?&lt;/p&gt;
&lt;p&gt;If catest doesn't handle this situation, is it possible to get source so that I can modify it to do so? &amp;nbsp;Otherwise, I'm stuck reverse-engineering it (or writing a dll with yet another layer of indirection... hmm... that would probably work).&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Tom&lt;/p&gt;</description></item><item><title>re: Cool MSI custom action debugging tool</title><link>http://blogs.msdn.com/astebner/archive/2005/03/07/388739.aspx#9074467</link><pubDate>Fri, 14 Nov 2008 19:45:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9074467</guid><dc:creator>astebner</dc:creator><description>&lt;p&gt;Hi Tomtrias - I will follow up with the creator of this CATest tool to see if it is possible to send you source code.&lt;/p&gt;
</description></item><item><title>re: Cool MSI custom action debugging tool</title><link>http://blogs.msdn.com/astebner/archive/2005/03/07/388739.aspx#9484217</link><pubDate>Tue, 17 Mar 2009 20:41:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9484217</guid><dc:creator>mendezam</dc:creator><description>&lt;p&gt;The is an easier way to debug the custom actions. Simply enter the following in the custom dll:&lt;/p&gt;
&lt;p&gt;#if DEBUG&lt;/p&gt;
&lt;p&gt; &amp;nbsp; Debugger.Launch();&lt;/p&gt;
&lt;p&gt;#endif&lt;/p&gt;
&lt;p&gt;Then attach to the VS instance that has the code.&lt;/p&gt;</description></item></channel></rss>