Hmmm.

I generally want my immediate custom actions to behave the same in install, 
reinstall or upgrade.  I generally block the running of immediate custom 
actions in uninstall if I don't need them.

I do have several scheduling custom actions, but only four:   the VsdbCmd 
scheduler, the SqlPackage scheduler, the Local Group creator, and existing File 
Set Permissions schedulers have deferred sub-components.  Since our databases 
are never uninstalled, the two database schedulers don't run at all in 
uninstall, and the Sql scripts are designed so that reinstall/repair is 
non-destructive.  As much as I would like it, the specs for the Local Group and 
existing File Set Permissions schedulers never rollback (that's how the network 
guys want it), and they also don't run in uninstall.

That being said, it is an interesting concept.  I hadn't thought of testing 
installer states based on LUX documentation, so I'll have to explore that.

Fault states, especially for things that use the ServerManager() constructor, 
might be very interesting.

--
John Merryweather Cooper
Build & Install Engineer - ESA
Jack Henry & Associates, Inc.®
Shawnee Mission, KS  66227
Office:  913-341-3434 x791011
[email protected]
www.jackhenry.com 




-----Original Message-----
From: Bob Arnson [mailto:[email protected]] 
Sent: Thursday, January 10, 2013 11:43 PM
To: [email protected]
Subject: Re: [WiX-users] Hello - are you aware of test mutations?Kindly assist 
me with some answers

On 08-Jan-13 10:54, John Cooper wrote:
> Conceptually, it requires carefully embedding debug code in your working 
> immediate custom actions that is triggered only when the mutating variable is 
> set to certain values.  The part about embedding debugging code into my 
> custom actions is a little scary.  But having an immediate custom action 
> complex enough to require several different run scenarios is also scary.
It's normal for a scheduling CA to run for scenarios like install, upgrade, 
uninstall, etc. That's probably the primary use case for mutations. The idea is 
that you have a variable of type WCA_TODO that's set normally, then overridden 
in an #ifdef DEBUG block to whatever the mutation is.

The secondary use case is to allow you to inject faults so you can test your 
error handling.

--
sig://boB
http://joyofsetup.com/


------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are 
intended
exclusively for the individual or entity to which it is addressed. The message, 
together with any attachment, may contain confidential and/or privileged 
information.
Any unauthorized review, use, printing, saving, copying, disclosure or 
distribution 
is strictly prohibited. If you have received this message in error, please 
immediately advise the sender by reply email and delete all copies.


------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to