The UtilMutator is currently on by default because other mutators rely upon it to do fragmenting, guid setting, id setting, and other tasks.  So having each extension create the Util mutator wouldn’t work because they may all decide they want it on (and with different options) thus creating collisions.

 

Heat really doesn’t allow for affecting the settings for one extension from another by design (they are all isolated).  However, you should note that the UtilMutator has been written to be non-destructive: it won’t set guids or identifiers if they have already been set.  For the component catalog extension, I imagine that you wouldn’t want to specify the option to set guids, you would want the option to create a template, and you would also want the option to set identifiers.  If the goal is to create a way to get these options on by default, I’d suggest just make a batch file wrapper for heat which always adds them (kinda like a MyHeat.bat).

 

Derek

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of James Carter
Sent: Thursday, May 11, 2006 8:44 AM
To: [EMAIL PROTECTED]
Cc: [email protected]
Subject: [WiX-users] Extending Heat

 

Hello,

I'm not sure which list this belongs on, but here goes.

I'm writing an extension for heat (3.0.1621.0) to give me the ability to re-generate my setup without breaking the component rules (a component catalog).

I noticed that the UtilMutator mutator extension is always added to the Mutator extensions by UtilHeatExtension. I would like to set the properties on it from my HeatExtension, but there is no way to enumerate the existing Mutators (my heat extension loads last).

Can the addition of the UtilMutator mutator extension be moved inside the "if (active) {}" code block? If so, then I could instantiate and initialize my own UtilMutator.

I figured I'd ask before moving it myself and screwing up your design :).

Note, if it is moved, then the IIsHeatExtension will need to load UtilMutator (it currently doesn't).

In other words, this would keep the user (me) from having to specify template, genguids, and so forth on the command line. I'd like them to be on by default for my extension.

Thanks,
James

Reply via email to