<ServiceInstall/> will register the service for you. @Arguments should specify any command line arguments you need to specify when the service starts up.
I guess that you currently have Arguments="/install" because you expect msiexec to execute your service to register the service. That's not how <ServiceInstall/> works. <ServiceInstall/> does the work for you (this is the preferred method). Another guess is that normal service execution does not require any command line arguments so you should remove @Arguments. You should not need more than one <ServiceControl/>. You can specify when to Start, Stop, and Remove all on one <ServiceControl/>. <Component Id='MySvc' Guid="5E7A07C7-9299-4992-A601-EBB79D441A83" Win64='$(var.Win64)'> <File Id='MySvcExe' Source='$(var.TARGET_DIR)\$(var.MY_SERVICE_OUTPUT_NAME)' KeyPath='yes' Checksum='yes'/> <ServiceInstall Id="InstallMySvc" Name="$(var.MY_SERVICE_SVC_NAME)" DisplayName="$(var.MY_SERVICE_DISPLAY_NAME)" Type="ownProcess" Start="auto" ErrorControl="normal" Description="$(var.MY_SERVICE_DESCRIPTION)" Account="[SERVICEACCOUNT]" Password="[SERVICEPASSWORD]" /> <ServiceControl Id="StartMySvc" Name="$(var.MY_SERVICE_SVC_NAME)" Start="install" Stop="both" Remove="uninstall" Wait="yes" /> </Component> This will *not* execute /install nor /uninstall to install and uninstall the service. Windows Installer will do it for you. If you really want to execute your service with /install and /uninstall to install and uninstall then you'll need to schedule a custom action to execute your service appropriately. I would *highly* discourage this course of action. Edwin G. Castro Software Developer - Staff Digital Channels Fiserv Office: 503-746-0643 Fax: 503-617-0291 www.fiserv.com Please consider the environment before printing this e-mail > -----Original Message----- > From: Brad Lemings [mailto:b...@rebit.com] > Sent: Thursday, May 19, 2011 1:43 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Debugging/Troubleshooting Service Installs > > Followup. I have a better idea what the problem is. Either msiexec is not > "installing" the service by executing it with the proper /install argument or > it > is not executing the install command with Administrator privileges. > > >From the log, it appears that the /install option is specified so I'm > >guessing > the latter case is the real problem although its somewhat inconceivable that > the ServiceControl element does not imply Administrator privileges. > > I'm guessing the Account and Password attributes are the real culprit. Now > to prove it... > > -----Original Message----- > From: Brad Lemings [mailto:b...@rebit.com] > Sent: Thursday, May 19, 2011 1:33 PM > To: General discussion for Windows Installer XML toolset. (wix- > us...@lists.sourceforge.net) > Subject: [WiX-users] Debugging/Troubleshooting Service Installs > > Greetings, > > The following excerpt of a Wix file is supposed to install, stop, start, and > uninstall a service (exact names have been tweaked): > > <Component Id='MySvc' > Guid="5E7A07C7-9299-4992-A601-EBB79D441A83" > Win64='$(var.Win64)'> > > <File Id='MySvcExe' > Source='$(var.TARGET_DIR)\$(var.MY_SERVICE_OUTPUT_NAME)' > KeyPath='yes' Checksum='yes'/> > > <ServiceInstall Id="InstallMySvc" > Name="$(var.MY_SERVICE_SVC_NAME)" > DisplayName="$(var.MY_SERVICE_DISPLAY_NAME)" > Type="ownProcess" > Start="auto" > Arguments="/install" > ErrorControl="normal" > Description="$(var.MY_SERVICE_DESCRIPTION)" > Account="[SERVICEACCOUNT]" > Password="[SERVICEPASSWORD]" /> > <ServiceControl Id="StartMySvc" > Name="$(var.MY_SERVICE_SVC_NAME)" > Start="install" > Wait="yes" /> > <ServiceControl Id="StopMySvcSvc" > Name="$(var.MY_SERVICE_SVC_NAME)" > Stop="both" > Wait="yes" /> > <ServiceControl Id="UninstallMySvcSvc" > Name="$(var.MY_SERVICE_SVC_NAME)" > Remove="uninstall" > > <ServiceArgument>/uninstall</ServiceArgument> > </ServiceControl> > </Component> > > I'm trying to install the resulting .MSI with the following command: > > msiexec /norestart /lvx*+ mysvc.log /i mysvc.msi > > The install fails and msiexec reports via GUI that the service failed to > start. > Part of the log shows this: > > MSI (s) (2C:D8) [13:17:05:419]: Executing op: RegCreateKey() MSI (s) (2C:D8) > [13:17:05:419]: Executing op: > ActionStart(Name=InstallServices,Description=Installing new > services,Template=Service: [2]) MSI (s) (2C:D8) [13:17:05:419]: Executing op: > ProgressTotal(Total=1,Type=1,ByteEquivalent=1300000) > MSI (s) (2C:D8) [13:17:05:419]: Executing op: ServiceInstall(Name=My- > Svc,DisplayName=My Svc,ImagePath="C:\Program Files\My\My-Svc.exe" > /install,ServiceType=16,StartType=2,ErrorControl=1,,Dependencies=[~],,,Pas > sword=**********,Description=My Backup Service,,) MSI (s) (2C:D8) > [13:17:06:060]: Executing op: ActionStart(Name=RollbackServiceConfig,,) > MSI (s) (2C:D8) [13:17:06:060]: Executing op: > CustomActionSchedule(Action=RollbackServiceConfig,ActionType=3329,Sour > ce=BinaryData,Target=RollbackServiceConfig,CustomActionData=SchedServi > ceConfig) > MSI (s) (2C:D8) [13:17:06:060]: Executing op: > ActionStart(Name=ExecServiceConfig,,) > MSI (s) (2C:D8) [13:17:06:060]: Executing op: > CustomActionSchedule(Action=ExecServiceConfig,ActionType=3073,Source= > BinaryData,Target=ExecServiceConfig,CustomActionData=SchedServiceConfi > gEURMy-SvcEUR0EURrestartEURrestartEURnoneEUR1EUR60EUREUR) > MSI (s) (2C:D8) [13:17:06:060]: Creating MSIHANDLE (8) of type 790536 for > thread 1496 MSI (s) (2C:34) [13:17:06:060]: Invoking remote custom action. > DLL: C:\Windows\Installer\MSIC5E2.tmp, Entrypoint: ExecServiceConfig MSI > (s) (2C:20) [13:17:06:060]: Generating random cookie. > MSI (s) (2C:20) [13:17:06:075]: Created Custom Action Server with PID 784 > (0x310). > MSI (s) (2C:78) [13:17:06:091]: Running as a service. > MSI (s) (2C:78) [13:17:06:091]: Hello, I'm your 32bit Elevated custom action > server. > MSI (s) (2C!B8) [13:17:06:263]: Creating MSIHANDLE (9) of type 790531 for > thread 3000 MSI (s) (2C!B8) [13:17:06:263]: Closing MSIHANDLE (9) of type > 790531 for thread 3000 MSI (s) (2C:34) [13:17:06:263]: Closing MSIHANDLE (8) > of type 790536 for thread 1496 MSI (s) (2C:D8) [13:17:06:263]: Executing op: > ActionStart(Name=StartServices,Description=Starting > services,Template=Service: [1]) MSI (s) (2C:D8) [13:17:06:263]: Executing op: > ProgressTotal(Total=1,Type=1,ByteEquivalent=1300000) > MSI (s) (2C:D8) [13:17:06:263]: Executing op: ServiceControl(,Name=My- > Svc,Action=1,Wait=1,) > MSI (s) (2C:D8) [13:17:36:310]: Note: 1: 2205 2: 3: Error MSI (s) (2C:D8) > [13:17:36:310]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` > WHERE `Error` = 1920 MSI (c) (FC:38) [13:17:36:310]: Font created. Charset: > Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg > > Error 1920. Service 'My Svc' (My-Svc) failed to start. Verify that you have > sufficient privileges to start system services. > MSI (s) (2C:D8) [13:17:49:482]: Note: 1: 2205 2: 3: Error MSI (s) (2C:D8) > [13:17:49:482]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` > WHERE `Error` = 1709 MSI (s) (2C:D8) [13:17:49:482]: Product: My (64-bit) -- > Error 1920. Service 'My Svc' (My-Svc) failed to start. Verify that you have > sufficient privileges to start system services. > > MSI (s) (2C:D8) [13:18:19:482]: Note: 1: 2205 2: 3: Error MSI (s) (2C:D8) > [13:18:19:482]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` > WHERE `Error` = 1920 MSI (c) (FC:38) [13:18:19:482]: Font created. Charset: > Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg > > Error 1920. Service 'My Svc' (My-Svc) failed to start. Verify that you have > sufficient privileges to start system services. > MSI (s) (2C:F0) [13:18:21:216]: I/O on thread 1796 could not be cancelled. > Error: 1168 > > Even with all information being logged, there still isn't enough to determine > the problem. > > When I don't abort the install and the files are copied into their final > resting > places, I can execute the following commands without any errors: > > My-Svc.exe /install > sc start My-Svc > > So it must be something wrong with the Wix file. Any clues why the service > fails to start? Any tips, references, resources, links useful for debugging > service installs using Wix? > > Any and all help appreciated. > > Eric. > > ------------------------------------------------------------------------------ > What Every C/C++ and Fortran developer Should Know! > Read this article and learn how Intel has extended the reach of its next- > generation tools to help Windows* and Linux* C/C++ and Fortran developers > boost performance applications - including clusters. > http://p.sf.net/sfu/intel-dev2devmay > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ > What Every C/C++ and Fortran developer Should Know! > Read this article and learn how Intel has extended the reach of its next- > generation tools to help Windows* and Linux* C/C++ and Fortran developers > boost performance applications - including clusters. > http://p.sf.net/sfu/intel-dev2devmay > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users