システム開発していると、手動でコンポーネントを登録する場面があります。
今回はコンポーネントを登録・解除する「regsvr32.exe」を実行したときにエラーとなるという報告があり対応した話です。
エラー内容を確認
エラーが発生した場合に、まずやるべき事はエラー原因を探ることです。
原因が分かれば、問題の7割は解決したと思います。
今回のregsvr32のエラーは実行時に表示されているので、その内容を確認します。
そこにはエラー番号「0x80040200」が表示されていました。
このエラー番号を調べると、実行する際に権限がないのが原因のようです。
regsvr32を実行するためには管理者権限が必要
regsvr32はシステムにコンポーネントを登録するので、管理者権限がないとエラーとなります。
今回は管理者権限がない状態でregsvr32を実行したことがマズかったのです
では、どうすればいいでしょうか?
今回問題が発生した人は、バッチファイルの中にregsve32を書いて実行していました。
その場合は、エクスプローラーでバッチファイルをダブルクリックするのではなく、右クリックしてメニューを表示し、「管理者として実行…」で起動します。
バッチファイルではなく、コマンドプロンプトでregsvr32をコマンド入力する場合は、コマンドプロンプトを起動するときに同様に右クリックでメニューを表示して「管理者として実行…」でコマンドプロンプトを起動します。
コマンドプロンプトを管理者権限で起動して、そこでバッチファイルを実行してもOKですね。
いつも思うのですが、こうしたシステムに絡むエラーが発生した場合に、エラー番号だけでなく原因も表示してくれると助かるんですけどね・・・
コメント