regsvr32 でコンポーネント登録に失敗する

スポンサーリンク

システム開発していると、手動でコンポーネントを登録する場面があります。

今回はコンポーネントを登録・解除する「regsvr32.exe」を実行したときにエラーとなるという報告があり対応した話です。

エラー内容を確認

エラーが発生した場合に、まずやるべき事はエラー原因を探ることです。

原因が分かれば、問題の7割は解決したと思います。

今回のregsvr32のエラーは実行時に表示されているので、その内容を確認します。

そこにはエラー番号「0x80040200」が表示されていました。

このエラー番号を調べると、実行する際に権限がないのが原因のようです。

regsvr32を実行するためには管理者権限が必要

regsvr32はシステムにコンポーネントを登録するので、管理者権限がないとエラーとなります。

今回は管理者権限がない状態でregsvr32を実行したことがマズかったのです

では、どうすればいいでしょうか?

今回問題が発生した人は、バッチファイルの中にregsve32を書いて実行していました。

その場合は、エクスプローラーでバッチファイルをダブルクリックするのではなく、右クリックしてメニューを表示し、「管理者として実行…」で起動します。

バッチファイルではなく、コマンドプロンプトでregsvr32をコマンド入力する場合は、コマンドプロンプトを起動するときに同様に右クリックでメニューを表示して「管理者として実行…」でコマンドプロンプトを起動します。

コマンドプロンプトを管理者権限で起動して、そこでバッチファイルを実行してもOKですね。

いつも思うのですが、こうしたシステムに絡むエラーが発生した場合に、エラー番号だけでなく原因も表示してくれると助かるんですけどね・・・

スポンサーリンク

お役に立てばフォローお願いします