None of those actions should ever occur during the UI sequence. The UI
sequence is intended exclusively for gathering information from the user to
guide the installation.

Every action that changes the machine's state is to be performed from
deferred actions which by definition run in the execute sequence between
InstallInitialize and InstallFinalize. In that space there is plenty of room
to create the account, add it to an existing group, alter config files,
start services, run scripts, etc. all in the right order.

In the UI sequence you can gather what the username and the group will be
(unless you already know one or both of those) so you can setup the data
that the deferred actions will consume.

The "default" order that those actions are performed (with their associated
sequence numbers and relative to selected built-in actions) is as follows
(based on the 3.0 RTM build):

MoveFiles sequence="3800"
ConfigureUsers Before="InstallFiles" - Creates users and adds them to groups
InstallFiles sequence="4000"
InstallSqlData After="InstallFiles" - Runs SQL Scripts
PatchFiles sequence="4090" - added automatically when building MSP files,
should not normally be in MSI files.
DuplicateFiles sequence="4210"
SchedXmlConfig After="DuplicateFiles" - Runs XmlConfig and XmlFile elements
InstallServices sequence="5800"
SchedServiceConfig After="InstallServices" - Runs util:ConfigureService
MsiConfigureServices sequence="5850" - Runs Windows Installer's
ConfigureService
StartServices sequence="5900"

Most of the time, that sequence should meet almost every need (I can't
conceive of any more than minor changes to the above sequence). To change
the sequencing, just place whichever of the following elements you wish to
alter inside of an <InstallExecuteSequence> element and set an appropriate
value to either the Before, After, or Sequence attributes (not all elements
can accept any of the three, check the WiX help file for which elements
allow what):

    <MoveFiles/>
    <Custom Action="ConfigureUsers">VersionNT &gt; 400</Custom>
    <InstallFiles/>
    <Custom Action="InstallSqlData">NOT SKIPINSTALLSQLDATA AND VersionNT
&gt; 400</Custom>
    <PatchFiles/>
    <DuplicateFiles/>
    <Custom Action="SchedXmlConfig">VersionNT &gt; 400</Custom>
    <InstallServices>VersionNT</InstallServices>
    <Custom Action="SchedServiceConfig">NOT REMOVE~="ALL" AND VersionNT &gt;
400</Custom>
    <MsiConfigureServices>"VersionNT>=600"</MsiConfigureServices>
    <StartServices>VersionNT</StartServices>

-Blair

-----Original Message-----
From: Tony [mailto:yellowjacketl...@gmail.com] 
Sent: Monday, December 14, 2009 9:50 AM
To: WiX Users
Subject: [WiX-users] util:User, util:Group controlling sequencing...

We'd like to use WiX's util:User and util:Group (and util:GroupRef) to
create an account and add it to an existing group.  How is it possible
to control when these actions are invoked?  Ex.  We need the user
account created before config files are modified to use the user name,
services are started, sql scripts run, etc.

Is it possible for the user account to get created during the
UISequence?  Added to the security group during the UISequence?
-- 
Tony

----------------------------------------------------------------------------
--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to