2

WiX 3.6 を使用して Windows サービスのインストーラーを作成しています。ソリューションの構築が完了し、サービスを開発マシンにインストールでき、サービスは希望どおりに開始されます。

サービスが実行される Windows Server 2003 R2 マシンに msi (ビルドまたはリリース) をコピーすると、問題が発生します。
サービスをインストールできますが、サービスを開始しようとするとエラーが発生します

「サービスを開始できませんでした。システム サービスを開始するための十分な権限があることを確認してください。」

これで、作成した他のサービスをインストールして開始できるようになったので、サーバーへのアクセス許可を持っていることがわかりました。以下は私のサービスインストール要素です。

私の質問は、サービスがサーバーではなく開発マシンで開始されるということです。

   <File Id="CopyService.exe" Name="CopyService.exe" Source="..\CopyService\bin\$(var.CopyService.Configuration)\CopyService.exe" Vital="yes" KeyPath="yes" DiskId="1"/>
    <File Id="App.config" Name="CopyService.exe.config" Source="..\CopyService\bin\$(var.CopyService.Configuration)\CopyService.exe.config" Vital="yes" KeyPath="no" DiskId="1"/>
      <ServiceInstall
               Id="ServiceInstaller"
                Type="ownProcess"
                Vital="yes"
                Name="ACSIAccountingReports"
                DisplayName="ACSI Accounting Reports"
                Description="Service copies accounting reports from NetForum into an ACSI network folder."
                Start="auto" 
                Account="LocalSystem"
                ErrorControl="ignore"          
                Interactive="no">
    </ServiceInstall>
    <ServiceControl Id="StartService" Name="ACSIAccountingReports" Start="install" Wait="yes" />
    <ServiceControl Id="StopService" Name="ACSIAccountingReports" Stop="both" Wait="yes" Remove="uninstall" />
4

1 に答える 1

1

表示されるエラーメッセージは、すべてのサービスインストールの失敗に対するWindowsインストーラからのデフォルトのエラーメッセージです。それはひどく役に立ちません。実際の問題をデバッグするには、エラーダイアログが表示されている間にサービスを再開してみてください。サービスが開始されない理由について、より詳細なエラーメッセージが表示される可能性があります。それでも何も得られない場合は、depends.exeやfuslogvw(NETFXアセンブリの読み込みエラーをオンにする)などのツールを使用して、サービス実行可能ファイルに依存関係がないかどうかを確認してください。

GACされたファイルは、インストールの最後まで完了しないことを忘れないでください。したがって、サービスはGACのファイルに依存せず、インストール中にサービスを開始できません。

于 2013-03-15T06:59:12.077 に答える