2016-05-25 29 views
1

Ich habe eine Java-Anwendung. Ich habe eine scansol-agent-app.exe Datei von dem ich ein Installationsprogramm mit WiX machen muss. Unten gibt es einen Code von scansol-agent.wxs Datei. Ich muss diese App als Windows-Dienst installieren. Servise wird gut installiert, startet aber nicht. Windows zeigt mir einen Fehler: "Dienst konnte nicht gestartet werden - Stellen Sie sicher, dass Sie ausreichende Berechtigungen zum Starten von Systemdiensten haben" Ich habe alle Varianten versucht, die gefunden werden konnten, aber keine Ergebnisse. Wie kann ich diesen Service starten?WiX-Dienst nicht starten: Dienst konnte nicht gestartet werden überprüfen Sie, ob Sie über ausreichende Berechtigungen verfügen

<?xml version="1.0"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="*" 
      UpgradeCode="{EB6B8302-C06E-4bec-ADAC-932C68A3A98D}" 
      Name="Scansol Agent Application Service" 
      Version="0.0.1" 
      Manufacturer="ScienceSoft" 
      Language="1033"> 

     <Package InstallerVersion="200" Compressed="yes" Comments="Windows Installer Package" Manufacturer="ScienceSoft"/> 
     <Media Id="1" Cabinet="product.cab" EmbedCab="yes"/> 

     <Property Id="WHSLogo">1</Property> 

    <WixVariable Id="WixUILicenseRtf" Value="license.rtf" /> 

     <UI> 
     <Property Id="ApplicationFolderName" Value="WiX Demo" /> 
     <Property Id="WixAppFolder" Value="WiXxperMachineFolder" /> 
     <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> 
     <UIRef Id="WixUI_InstallDir" /> 
     <!-- Skip license dialog --> 
     <Publish Dialog="WelcomeDlg" 
      Control="Next" 
      Event="NewDialog" 
      Value="InstallDirDlg" 
      Order="2">1</Publish> 
     <Publish Dialog="InstallDirDlg" 
      Control="Back" 
      Event="NewDialog" 
      Value="WelcomeDlg" 
      Order="2">1</Publish> 

      <!--<Property Id="DefaultUIFont">DlgFont8</Property>--> 
      <TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" /> 
      <TextStyle Id="DlgTitleFont" FaceName="Tahoma" Size="8" Bold="yes" /> 
     <Dialog Id="InstallDlg" Width="370" Height="270" Title="[ProductName] Setup" NoMinimize="yes"> 
      <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes"> 
      <Text>{\DlgTitleFont}Ready to Install</Text> 
      </Control> 
      <Control Id="Install" Type="PushButton" X="304" Y="243" Width="56" Height="17" 
      Default="yes" Text="Install"> 
      <Publish Event="EndDialog" Value="Return" /> 
      </Control> 
     </Dialog>  
     </UI> 

     <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="ProgramFilesFolder" Name="PFiles"> 
      <Directory Id="INSTALLDIR" Name="ScansolAgent"> 
       <Component Id="ApplicationServiceInstall" Guid="{908B7199-DE2A-4dc6-A8D0-27A5AE444FEA}"> 
        <File Id='ApplicationFile1' Source="scansol-agent-app.exe" DiskId='1' KeyPath='yes' Vital='yes'/> 
        <File Id="ApplicationFile2" Source="config.cfg" DiskId='1' KeyPath='no' Vital='yes'/> 
       <ServiceInstall 
        Id="ServiceInstaller" 
        Type="ownProcess" 
        Vital="yes" 
        Name="ScansolAgentService" 
        DisplayName="Scansol Agent Application Service" 
        Description="File Monitoring and Loading to server" 
        Start="auto" 
        Account="LocalSystem" 
        ErrorControl="ignore" 
        Interactive="no" 
       > 
       </ServiceInstall> 
       <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="ScansolAgentService" Wait="yes" /> 
       </Component> 
      </Directory> 
     </Directory>  
     </Directory> 

     <Feature Id="DefaultFeature" Level="1" Title="ScansolAgentAppService"> 
     <ComponentRef Id="ApplicationServiceInstall" /> 
     </Feature> 
    </Product> 
</Wix> 
+0

Wo sehen Sie den Fehler "Dienst konnte nicht gestartet werden ..."? Während der Installation oder wenn Sie den Dienst nach der Installation starten? – bradfordrg

+0

Haben Sie versucht, den Dienst manuell zu installieren? Vielleicht ist es einfach kaputt oder es fehlen einige Bibliotheken. Dies bedeutet, dass das Kommandozeilenwerkzeug "sc" verwendet wird. – Nikolay

+0

Ich habe diesen Fehler während der Installation. Service installiert. Aber ich kann es nicht anfangen. Wenn ich Installer von derselben .jar mit dem Install4j Tool erstelle - habe ich keine Probleme! –

Antwort

0

Die Gründe könnten viele und große Mehrheit derer, wurden angesprochen, aber ich einen Fall hatte, dass keine der Antworten oder Vorschläge auf sie anwendbar waren. Am Ende habe ich den Grund für meinen Fall gefunden: Im ServiceInstall-Tag gibt es ein Attribut namens Account, das in meinem Fall LocalService war, in meinem Projekt für den Windows-Dienst jedoch in der generierten Datei, die ich für meinen Dienst dem Account zugewiesen habe um LocalSystem zu sein. Wenn das im Windows-Dienstprojekt festgelegte Dienstkonto nicht mit dem übereinstimmt, was Sie später in Ihrer WiX-Quelldatei unter dem Account-Attribut des ServiceInstalls angeben, installiert der Windows Installer Ihren Dienst erfolgreich, schlägt jedoch beim Starten fehl. Fazit, stellen Sie sicher, dass die Dienstkonten an beiden Orten übereinstimmen. Und wieder ist dies vielleicht nicht Ihr Fall, aber es lohnt sich, dies zu überprüfen.