2012-01-20 8 views
0

wixを使ってインストーラを書いています。インストールの一環として、私はサービスをインストールして起動しています。しかし、私はサービスを開始できません。wixサービスが起動しませんが、手作業で起動すると動作します

これはWiXのコードです:私は(CMDプロンプトからMyServiceでの-serviceを使用して)手動でサービスをインストールした場合は、エラー1920

を言います。しかし、MSI詳細なログを経た後

 <Component Id="Service" Guid="*"> 
    <File Id="MyService.exe" 
      Name="MyService.exe" 
      Source="MyService.exe"/> 

    <ServiceInstall Id="ServiceInstaller" 
        Type="ownProcess" 
        Vital="yes" 
        Name="MyService" 
        DisplayName="Name="MyService.exe" 
        Description="Name="MyService.exe" 
        Start="auto" 
        Account="LocalSystem" 
        ErrorControl="normal" 
        Interactive="no"> 

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

    <ServiceControl Id="ServiceController" 
        Start="install" 
        Stop="both" 
        Remove="uninstall" 
        Name="MyService" 
        Wait="no"/> 
    </Component> 
</DirectoryRef> 

と開始それはServices.mscを使用して、うまく動作します。その後、私のインストーラは、問題を起こすことなくサービスを再起動することができます。

答えて

6

ServiceControl要素のName属性がServiceInstall要素のName属性と一致しません。 "MyService"というサービスを作成していますが、 "MyService.exe"という名前のサービスを開始しようとしています。このサービスは存在しないため、1920年を取得します。

また、副次的な原因として、サービスのexeにCOMメタデータがあり、これをwxsに作成していない可能性があります。

+0

もちろん、これはwxsソースの大幅に編集されたスニペットなので、真にあなたを助けることは不可能かもしれません。 –

+0

名前は同じです。ここでコードを貼り付けるうちに、誤植が導入されたことを申し訳ありません。 – Mark

+0

ここに問題を解決するために何かを追加できるかどうか教えてください。 – Mark

関連する問題