The reason that I don't use the ServiceControl table to start the service on an initial install is because the CRT runtime DLLs it needs (from the MS merge modules) aren't available until after the install has been committed. I use a commit action to start the service, and I've since realised that I need to be conditioning this action to also run during a repair.
Rob On 25/03/2011 19:35, Christopher Painter wrote: > > ServiceControl rows don't have a condition. They are based on the action > state > of the component to which they are associated. That component can have an > action and I suppose it could also be a transititive component ( for example, > use the condition Installed so that it doesn't get installed during the first > pass but during a repair Installed evaluates to True and since it's transitive > the component get's reinstalled and the service get's started ). > > I suppose it's possible ( honestly I've never tried to reevaluate a component > during a repair... it might not be possible and I could be wrong ... I know it > works during upgrades and such ) > > But still, I have to say, I think there is a code smell here. The only > reason > I can think of why you are doing this is covering up for some other bug that > causes the service to not be able to start during the install... maybe you > need > a reboot or there's a race condition because something else hasn't laid the > ground work for it to wrok. > > So I'm just saying... you might be able to get this to work but I think you > might be solving the wrong problem. > > Chris > > --- > Christopher Painter, Author of Deployment Engineering Blog > Have a hot tip, know a secret or read a really good thread that deserves > attention? E-Mail Me > > > > ----- Original Message ---- > From: Rob Hamflett<r...@snsys.com> > To: wix-users@lists.sourceforge.net > Sent: Fri, March 25, 2011 12:17:31 PM > Subject: [WiX-users] Conditional ServiceControl entry > > Is there a way to set a condition on a ServiceControl entry? Like having a > service start after a > > repair but not on the initial installation? Would this best be handled with > separate ServiceControl > > entries in separate components, with conditions on the components? > > Thanks, > Rob > > > ------------------------------------------------------------------------------ > Enable your software for Intel(R) Active Management Technology to meet the > growing manageability and security demands of your customers. Businesses > are taking advantage of Intel(R) vPro (TM) technology - will your software > be a part of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > Enable your software for Intel(R) Active Management Technology to meet the > growing manageability and security demands of your customers. Businesses > are taking advantage of Intel(R) vPro (TM) technology - will your software > be a part of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users