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.
I am running on XP SP2 if that helps.
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".
Trust me, it is not that.
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>
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>
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.
Tricky. Turns out that to schedule service for reboot on failure, the CA needed shutdown privileges. This is fixed in the next build.
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).