1

TServiceApplication がサービスを ServiceManager に登録しようとすると、EOSError コード 5 - アクセスが拒否されました。

XE2 Win7 64 ビットを使用しています。このエラーは、32 ビットと 64 ビットの両方のターゲットで発生します。

ADO を使用してデータベースに接続するデータ モジュールと、Web サービス サーバー コードがあります。すべてのコードは、機能する WinUI プロジェクトで使用されます。同じコア コードに基づいたテストされていない ISAPI DLL もあります。

Web サービス サーバーを NT サービスに組み込むのはこれが初めてです。

Vcl.SvcMgr の行 1027 でエラーを生成する VCL コードをトレースしましたが、アクセス拒否エラーが発生する理由がわかりません。私は、ADO を介してデータベースに接続する他の NT サービスを作成しましたが、このようなエラーは発生していません (ただし、XE で作成されています)。

任意のポインタをいただければ幸いです。

4

1 に答える 1

5

[管理者として実行]オプションを介して起動されたcmd.exeインスタンスなどから、昇格された状態でサービスインストールプロセスを実行することを期待するUACアクセス許可の問題が発生する可能性がありますが、実際にはそうしていません。一部のサービスのみでこの問題が発生し、他のサービスでは発生しない場合、影響を受けるサービスにはUACマニフェストが含まれていない可能性がありますが、UACのインストーラー検出機能をトリガーする特性が含まれています。またはバージョンリソース。

于 2012-05-01T04:17:08.920 に答える