web-dev-qa-db-ja.com

プロジェクト>参照ウィンドウへのアクセス中にエラーが発生しましたか?

Visual Basic 6でProject> Referencesにアクセスしようとすると、エラーがスローされます。

システムレジストリへのアクセスエラー

わたし:

  • ローカルコンピュータの管理者としてログイン
  • windows XP Professionalおよび
  • regedt32.exeとすべてのレジストリキーにアクセスします。

VB6はローカル管理者としてインストールされました。

なぜこれが起こるのか?


Crystal Reports 8.5を実行していますが、既にその問題は修正されているはずですが、8.5をインストールしても問題が解決されないようです。私はまた、この問題を解決するために、Crystalレポートを再インストールしようとしました。

13
phill

使用しているWindows OS(Windows 7 Enterpriseを使用している)によっては、REGTLIB.EXE(C:\ Windwsにある)に管理者権限を付与することをお勧めします。 REGTLIB.EXEファイルを右クリックします。ポップアップメニューから[プロパティ]を選択します。次に、「互換性」タブを選択します。 [互換性]タブで、[管理者としてこのプログラムを実行する]チェックボックスをオンまたはオンにします。 [OK]をクリックして変更を保存します。問題を解決するかもしれません。それは私のために働いた。幸運を。

22
Big Al

私にとってこれはうまくいきました:

  1. c:\ Program Files\Microsoft Visual Studio\VB98に移動します
  2. 右クリックしてVB6.EXEのプロパティを変更します->互換性権限レベルセクションで、[このプログラムを管理者として実行する]オプションをオンにします
13
Raj

Office 2010(ベータ版)を実行している場合、Wordは(どうやら)制限付きのレジストリキーを書き込みます。 VBレジストリをスキャンするとエラーがスローされます。私が持っているキーは次のとおりです。

HKCR\TypeLib\{00020905-0000-0000-C000-000000000046}\8.5

Regmonの場合-プロセス名のフィルター-> "vb6.exe"および結果-> ACCESS DENIED。それをすぐに見つけるのに役立ちます。

PSToosl(PSEXEC)で修正して、レジストリエディターを実行します。コマンドラインは、

psexec -i -d -s c:\windows\regedit.exe

psexecは、昇格した権限で実行する必要があります。


ジムによる編集:私はWindows 7(x64)ボックスを使用しています。権限の昇格には、PSToolsソリューションが必要です。 XPは、少し少ない額で済む可能性があります。

5
Jim Lang

VB6開発に使用していたマシンでこれを取得しました。私はVB6から多くのCOM DLLを(バイナリ互換性なしで)構築しており、レジストリに構築された残骸は最終的に多すぎました。

レジストリのサイズと設定した制限を確認してください。レジストリサイズを2倍にして、適切なレジストリフーバーを探しました。

1
Hamish Smith

Process Monitor を試して、アクセスされているレジストリキーを確認できます。

1
dummy

これがマイクロソフトのソリューションです。これはCrystal Reportsの問題を参照していますが、ソリューションはregedit32を使用してHKEY_CLASSES_ROOT\TypeLibおよびHKEY_CLASSES_ROOT\CLSIDをウォークします淡色表示されたキーのレジストリブランチとそれらのキーのセキュリティの修正。 regedit32がキーにアクセスできない場合のセキュリティを修正する手順もあります。 記事ID:26938

1
jac

Windows 7では、スタートメニューに移動し、[Microsoft Visual Basic 6]を右クリックして、プロパティを選択し、表示されるダイアログボックスで[互換性]をクリックして、[管理者としてこのプログラムを実行する]にチェックマークを付けます。

1
Rob Sedgwick

Win7-64にVB6をインストールしたとき(検索エンジンで簡単に見つけられる手順を使用)、問題なく動作しました。 UACはオフでした-つまり、「通知しない」に設定されています。

数週間後、私はUACをオンにしました-つまり、それをデフォルトに設定しました。 「システムレジストリへのアクセスエラー」問題のため、VB6はコンパイルできませんでした。残念ながら、再度オフにしても効果はありませんでした。どうやらそれをオンにすることによって行われた損傷は元に戻すことができませんでした。これがなぜあるべきか説明できませんが、それは私の経験です。

UACをオフにしたままREGTLIB.EXEの管理者特権を与えることは素晴らしいアイデアのように思えますが、それも私にとってはうまくいきませんでした。

最後に、ここの他の投稿で説明されているように、Process MonitorとPsToolsを使用することができました。ただし、レジストリの大部分をEveryoneにフルコントロールする必要がありました。これは隔離されたキーだけに適用されませんでした。コンパイラは主要なノードにキーを追加する必要があるようですので、これらのノード全体を開く必要がありました。

これらの手順を実行するのに何時間もかかったという事実は別として、UACを介してセキュリティを強化しようとする前に比べて、私は今よりもはるかに危険にさらされています。

レッスン:VB6でUACを使用しないでください。ここに到着した場合を除いて、それでは遅すぎます。

0
Steve

VB6のインストールの問題です。システムにVB6を再インストールしてみてください。それ以外の場合は、「管理者として実行」で「ビジュアルスタジオ6.0」を開きます。次に、-新規プロジェクト->既存のタブでプロジェクトの.vbpファイルを開く/参照します。

0
user3140715

「ユーザーアカウント制御の設定」に行ってみる価値はあるでしょう。よろしく、

enter image description here

私はWindows 7マシンでこれをすべて試しましたが、SYSTEMレジストリを完全に制御できるようにして問題を修正しました。 VB6 SP6Bが読み取りまたは書き込みを行っているキーがわかりません。だから私は権利を取り戻そうとしたが、問題は再発した。だから私はそれを修正しました、これはセリティーブレイクを作成します。

0
Zeus

私は問題を修正しました。しかし、上記の提案はどれもうまくいきませんでした。私がしたことは、レジストリのSYSTEMキーをすべてのユーザーに完全に制御させることです。これにより、セキュリティが破られます。 64ビットのWindows 7でvb6 serice pack 6Bを実行しています。

0
Zeus

Windows 10 Pro(10.0.16299 Build 16299)64ビットを実行しています。 VB6 DLLをコンパイルしようとすると、このエラーが発生しました。

この投稿では、管理者としての互換モードでの実行に関するいくつかの回答が見られました。最初にWindowsの互換性モードXP(sp2)で実行してみようと思いました。DLLをコンパイルすることができましたそのボックスをチェックした後、私はしなかった管理者として実行する必要があります。

0
jbobbins

試しましたか これ? 基本的に、これはCrystal Reportsの問題のようです。お役に立てば幸いです。

0
Matt Dawdy