Menu

#1336 <ServiceConfig> just can't get it to work

v3.0
closed
2015-02-11
2008-09-11
No

I have been trying for 2 days to get <serviceconfig> to work.</serviceconfig>

I cannot get past "Access Denied" or "SID not found" when trying different accounts.

I have added <permissionex> tags trying to fix the error but nothing will get past the error. Without the <serviceconfig> the MSI works perfectly for install/uninstall.</serviceconfig></permissionex>

<permissionex> is seen by the <serviceconfig> because changing users/groups changes the error. But not of them work or get found.</serviceconfig></permissionex>

Should <serviceconfig> just work with the credentials I am running the MSI with? I can change the settings through the GUI so my account (an admin account) has full access.</serviceconfig>

I am completely stuck. Either I am stupid are there is a bug in the way the UTIL extension passes credentails through.

Here is the relevant sections of my wix file

<component id="user-content-ClientComponent" diskid="1" guid="??????">
<file id="user-content-Whatever1" name="$(var.Whatever1.TargetFileName)" keypath="no" assembly="no" vital="yes" checksum="yes" source="$(var.Whatever1.TargetPath)">
<file id="user-content-WhateverService" name="$(var.WhateverService.TargetFileName)" keypath="yes" <br=""> Assembly='no' Vital='yes' Checksum='yes' Source="$(var.WhateverService.TargetPath)" />
<file id="user-content-Whatever3" name="$(var.Whatever3.TargetFileName)" keypath="no" assembly="no" vital="yes" checksum="yes" source="$(var.Whatever3.TargetPath)"> </file></file></file></component>

    <ServiceInstall Id="WhateverServiceInstall" 
            Name="WhateverService" 
            DisplayName="WhateverService" 
            Type="ownProcess" 
            Start="auto" 
            ErrorControl="normal" 
            Description="WhateverService Service" 
            Vital="yes">

    <PermissionEx xmlns="http://schemas.microsoft.com/wix/UtilExtension" 
            User="Administrator" 
            ServiceChangeConfig="yes" 
            ServiceEnumerateDependents="yes" 
            ChangePermission="yes" 
            ServiceInterrogate="yes" 
            ServicePauseContinue="yes" 
            ServiceQueryConfig="yes" 
            ServiceQueryStatus="yes" 
            ServiceStart="yes" 
            ServiceStop="yes" />

    <ServiceConfig xmlns="http://schemas.microsoft.com/wix/UtilExtension" 
     RebootMessage ="Problem with Service requires a reboot" 
     ResetPeriodInDays="3" 
     RestartServiceDelayInSeconds="5" 
     FirstFailureActionType="restart" 
     SecondFailureActionType="restart" 
     ThirdFailureActionType="reboot"/>

    <ServiceDependency Id="MSSQLServer"/> 
    </ServiceInstall>

    <ServiceControl Id="WhateverServiceServiceInstaller" 
            Name="WhateverService" 
            Start="install" 
            Stop="both" 
            Remove="uninstall" 
            Wait="no" />

My MSIEXEC output is

=== Logging started: 11/09/2008 10:19:26 ===
Action 10:19:26: INSTALL.
Action start 10:19:26: INSTALL.
Action 10:19:26: ValidateProductID.
Action start 10:19:26: ValidateProductID.
Action ended 10:19:26: ValidateProductID. Return value 1.
Action 10:19:26: CostInitialize. Computing space requirements
Action start 10:19:26: CostInitialize.
Action ended 10:19:26: CostInitialize. Return value 1.
Action 10:19:26: FileCost. Computing space requirements
Action start 10:19:26: FileCost.
Action ended 10:19:26: FileCost. Return value 1.
Action 10:19:26: CostFinalize. Computing space requirements
Action start 10:19:26: CostFinalize.
Action ended 10:19:26: CostFinalize. Return value 1.
Action 10:19:26: ExecuteAction.
Action start 10:19:26: ExecuteAction.
Action start 10:19:26: INSTALL.
Action start 10:19:26: ValidateProductID.
Action ended 10:19:26: ValidateProductID. Return value 1.
Action start 10:19:26: CostInitialize.
Action ended 10:19:26: CostInitialize. Return value 1.
Action start 10:19:26: FileCost.
Action ended 10:19:26: FileCost. Return value 1.
Action start 10:19:26: CostFinalize.
Action ended 10:19:26: CostFinalize. Return value 1.
Action start 10:19:26: InstallValidate.
Action ended 10:19:26: InstallValidate. Return value 1.
Action start 10:19:26: InstallInitialize.
Action ended 10:19:26: InstallInitialize. Return value 1.
Action start 10:19:26: ProcessComponents.
Action ended 10:19:26: ProcessComponents. Return value 1.
Action start 10:19:26: UnpublishFeatures.
Action ended 10:19:26: UnpublishFeatures. Return value 1.
Action start 10:19:26: StopServices.
Action ended 10:19:26: StopServices. Return value 1.
Action start 10:19:26: DeleteServices.
Action ended 10:19:26: DeleteServices. Return value 1.
Action start 10:19:26: RemoveFiles.
Action ended 10:19:26: RemoveFiles. Return value 0.
Action start 10:19:26: InstallFiles.
Action ended 10:19:26: InstallFiles. Return value 1.
Action start 10:19:26: InstallServices.
Action ended 10:19:26: InstallServices. Return value 1.
Action start 10:19:26: SchedSecureObjects.
Action start 10:19:27: ExecSecureObjects.
Action ended 10:19:27: ExecSecureObjects. Return value 1.
Action ended 10:19:27: SchedSecureObjects. Return value 1.
Action start 10:19:27: SchedServiceConfig.
Action start 10:19:27: RollbackServiceConfig.
Action ended 10:19:27: RollbackServiceConfig. Return value 1.
Action start 10:19:27: ExecServiceConfig.
Action ended 10:19:27: ExecServiceConfig. Return value 1.
Action ended 10:19:27: SchedServiceConfig. Return value 1.
Action start 10:19:27: StartServices.
Action ended 10:19:27: StartServices. Return value 1.
Action start 10:19:27: RegisterUser.
Action ended 10:19:27: RegisterUser. Return value 1.
Action start 10:19:27: RegisterProduct.
Action ended 10:19:27: RegisterProduct. Return value 1.
Action start 10:19:27: PublishFeatures.
Action ended 10:19:27: PublishFeatures. Return value 1.
Action start 10:19:27: PublishProduct.
Action ended 10:19:27: PublishProduct. Return value 1.
Action start 10:19:27: InstallFinalize.
ExecSecureObjects: Error 0x80070534: failed to get sid for account: Administrator
Action ended 10:19:27: InstallFinalize. Return value 3.
Action ended 10:19:27: INSTALL. Return value 3.
Action ended 10:19:27: ExecuteAction. Return value 3.
Action ended 10:19:27: INSTALL. Return value 3.
=== Logging stopped: 11/09/2008 10:19:27 ===
MSI (c) (E0:24) [10:19:27:509]: Product: YWSqlReplicator -- Installation failed.

Discussion

  • Cliff Harker

    Cliff Harker - 2008-09-11

    I am running on XP SP2 if that helps.

     
  • Rob Mensching

    Rob Mensching - 2008-09-12

    From the log file you provided, it looks like ServiceConfig completed but the PermissionEx cannot find the user you are asking for: ".\Administrator". If you want the local admin, you need to ask for it by its proper name: "NT AUTHORITY\Administrator".

     
  • Cliff Harker

    Cliff Harker - 2008-09-15

    Trust me, it is not that.

     
  • Cliff Harker

    Cliff Harker - 2008-09-15

    If I repeat the build with different accounts I get the same ExecSecureObjects error. If I trip over an account it can find (like Administrators) it fails but the string says "Access denied" instead of "failed to get SID". In fact the permissionsEx tag seems to be used only by the <serviceinstall> and not <serviceconfig> at all.</serviceconfig></serviceinstall>

    I don't think <serviceconfig> should require any permissions over and above the currently logged in user.</serviceconfig>

     
  • Cliff Harker

    Cliff Harker - 2008-09-15

    If I repeat the build with different accounts I get the same ExecSecureObjects error. If I trip over an account it can find (like Administrators) it fails but the string says "Access denied" instead of "failed to get SID". In fact the permissionsEx tag seems to be used only by the <serviceinstall> and not <serviceconfig> at all.</serviceconfig></serviceinstall>

    I don't think <serviceconfig> should require any permissions over and above the currently logged in user.</serviceconfig>

     
  • Rob Mensching

    Rob Mensching - 2008-09-19

    Can you please provide log file snippets for the different errors you are seeing? At this point in time, it isn't clear exactly what problems you are seeing.

     
  • Rob Mensching

    Rob Mensching - 2008-09-26

    Tricky. Turns out that to schedule service for reboot on failure, the CA needed shutdown privileges. This is fixed in the next build.

     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 15 days (the time period specified by
    the administrator of this Tracker).

     
MongoDB Logo MongoDB