0

私はDLLを持っています(VB6で書かれています..)。ほとんどのマシンとインストールで正常に登録および実行されます。ただし、1 つのインストールは、Server 2003/R2/SP2 を実行する T/S (ターミナル サーバー) です。次のメッセージで失敗します。

C:\Program files\ApplicationPath\ModulesPath\dllname.DLL の DllRegisterServer が失敗しました。戻りコード: 0x80004005

パスにモジュールとその依存関係が存在するディレクトリがあることを確認しました。「アクセスを制限してこのプログラムを実行する」チェックボックスをオンにして、CMDプロンプトを管理者として実行するようにしました。

depends.exe を実行すると、IESHIMS.DLL と WER.DLL が見つからないというメッセージが表示されますが、別の 2003 Svr/R2/SP2 ボックスでも見つからず、登録して正常に動作します。

誰がどこで何を探すべきかについてのアイデアを持っていますか? また、稼働中のサーバーと稼働していないサーバーの間で、フォルダーのアクセス許可、ファイルの内容とバージョンなどを比較するのにも時間を費やしました。

4

1 に答える 1

0

通常、0x80004005 は ACCESS_DENIED です。場合によっては、ターミナル サーバーのセットアップでのアクセス許可と構成が少しずれていることがあります。ドライブ/場所は仮想化でき、構成をクリーンに保つために特定のパスが制限されます。少なくとも、最初はそれを疑っています。

コマンド プロンプトが管理者権限で実行されていることを既に確認している場合は、TS ボックス内のフォルダーに対する直接のアクセス許可が問題である可能性があります。

幸運を。

于 2012-07-13T20:22:48.160 に答える