2017-09-26 15 views
0

설정 파일에서 xml 노드를 변경하고 있습니다. 그렇게하면 서비스가 자동으로 시작되지 않습니다. 내가 수동으로이 경우 서비스를 시작해야 Error 1920. Service 'Service' (ServiceSvc) failed to start. Verify that you have sufficient privileges to start system services. MSI (s) (B4:18) [14:59:16:380]: Product: XYZ -- Error 1920. Service 'Service' (ServiceSvc) failed to start. Verify that you have sufficient privileges to start system services.설정 파일을 변경 한 후 서비스 자체가 시작되지 않고 설치 프로그램을 실행하는 동안 권한 오류가 발생합니다

:

Service component

<Component Id="cmp1" Guid="{guid1}"> 
      <File Id="fil1" KeyPath="yes" Source="$(var.SourceDir)\Service1.exe" /> 
      <ServiceInstall Id="ServiceInstall1" 
          Type="ownProcess" 
          Name="SCService1" 
          DisplayName="xyz" 
          Description="abc" 
          Start="auto" 
          Account="NT Authority\NetworkService" 
          ErrorControl="normal" 
          Vital="yes" > 
      <util:ServiceConfig FirstFailureActionType="restart" SecondFailureActionType="restart" ThirdFailureActionType="none" ResetPeriodInDays="1" /> 
      <ServiceConfig DelayedAutoStart="yes" OnInstall="yes" OnReinstall="yes" /> 
      </ServiceInstall> 
      <ServiceControl Id="ServiceControl1" Name="SCService1" Start="install" Stop="uninstall" Remove="uninstall" Wait="no" /> 

Config Component

<Component Id="cmp2" Guid="{guid2}"> 
    <File Id="fil2" KeyPath="yes" Source="$(var.SourceDir)\Service1.exe.config"/> 
</Component> 


<!--XML config file upgrade change--> 
<Component Id="ServiceConfigUpgrades" Guid="{guid3}"> 
        <Condition><![CDATA[(INSTALLDIR <> "") AND NOT REMOVE]]></Condition> 
        <CreateFolder /> 
        <util:XmlFile Id="UpdateServiceVersion" 
          File="[#fil2]" 
          Action="setValue" 
          Name="sku" 
          Value=".NETFramework,Version=v4.6.2"         
          ElementPath="configuration/startup/supportedRuntime" /> 
</Component> 

나는 로그에 다음과 같은 오류 메시지와 같은를 얻을 수 달리 설치 프로그램이 자체적으로 서비스를 시작할 수 있어야하는 이상적인 경우입니다. 또한이 오류는 업그레이드가 아닌 새로운 환경에서 발생합니다.

+0

"NT AUTHORITY \ NetworkService"를 시도해보십시오. 아마도 모든 대문자가 차이가 나는 AUTHORITY 일 수 있습니다. 여기에서 https://msdn.microsoft.com/en-us/library/windows/desktop/ms684272%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 "계정 이름은 NT AUTHORITY 여야합니다. \ NetworkService "이 질문에서 두 번째 답변 https://stackoverflow.com/questions/1606361/wix-serviceinstall-setting-the-service-to-run-under-the-networkservice-account –

+0

ServiceInstall 및 ServiceControl은 다음을 사용하여 SCService1을 참조하십시오. 표시 이름은 xyz입니다. 메시지가 'Service'와 'ServiceSvc'를 참조하므로 이름을 변경 했습니까? 아니면 시작하려는 또 다른 서비스가 있습니까? – PhilDW

+0

@PhilDW 예, 이름이 변경되었습니다. 모두 동일한 서비스를 참조합니다. 변경시 오류가 발생했습니다. – Atihska

답변

0

이 문제는 INSTALLDIR 대신 INSTALDIR을 사용하여 해결되었습니다. 나는 그것을 잘못 썼다.