ソフトウェアをインストールし起動したところ、
『アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。』
『ファイルまたはアセンブリ”DBField_WRAP.dll”、またはその依存関係の一つが読み込めませんでした。ダイナミックリンクライブラリ(DLL)初期化ルーチンの実行に失敗しました。(HRESULTからの例外:0x8007045A)』
という風に出ておりました。
今回、このエラーをにわか知識で試行錯誤してみたので、備忘録として書いていきたいと思います。
同じエラーで苦しんでいる人がいたら参考までに見ていただけると幸いです。
まず、エラーの全容を詳しく
一応、詳細のタブがあったので中身を見てみました。
具体的な内容としては以下のことが書いてありました。
Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。
************** 例外テキスト **************
System.IO.FileLoadException: ファイルまたはアセンブリ 'DBField_WRAP.dll'、またはその依存関係の 1 つが読み込めませんでした。ダイナミック リンク ライブラリ (DLL) 初期化ルーチンの実行に失敗しました。 (HRESULT からの例外:0x8007045A)
ファイル名 'DBField_WRAP.dll' です。'DBField_WRAP.dll'
場所 ManageConstruction.DlgManageConstSHNet.DlgManageConst_Load(Object sender, EventArgs e)
場所 System.Windows.Forms.Form.OnLoad(EventArgs e)
場所 System.Windows.Forms.Form.OnCreateControl()
場所 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
場所 System.Windows.Forms.Control.CreateControl()
場所 System.Windows.Forms.Control.WmShowWindow(Message& m)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
場所 System.Windows.Forms.Form.WmShowWindow(Message& m)
場所 System.Windows.Forms.Form.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 読み込まれたアセンブリ **************
mscorlib
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4340.0 built by: NET48REL1LAST_C
コードベース:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
GhManageConstruction
アセンブリ バージョン:18.5.5.0
Win32 バージョン:18.5.5.0
コードベース:file:///C:/Program%20Files%20(x86)/DATT%20JAPAN%20Inc/%E7%8F%BE%E5%A0%B4%E7%B7%A8%E9%9B%86%E9%95%B7%20NEO%20Ver.18/GhManageConstruction.exe
----------------------------------------
System.Windows.Forms
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4340.0 built by: NET48REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4300.0 built by: NET48REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4084.0 built by: NET48REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
CrowdStrike.Sensor.ScriptControl
アセンブリ バージョン:6.44.15806.0
Win32 バージョン:6.44.15806.0
コードベース:file:///C:/WINDOWS/SysNative/CrowdStrike.Sensor.ScriptControl15806.dll
----------------------------------------
System.Configuration
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4190.0 built by: NET48REL1LAST_B
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4340.0 built by: NET48REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4084.0 built by: NET48REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
ManageConstruction
アセンブリ バージョン:18.5.5.0
Win32 バージョン:18.5.5.0
コードベース:file:///C:/Program%20Files%20(x86)/DATT%20JAPAN%20Inc/%E7%8F%BE%E5%A0%B4%E7%B7%A8%E9%9B%86%E9%95%B7%20NEO%20Ver.18/ManageConstruction.DLL
----------------------------------------
System.Data
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4270.0 built by: NET48REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Windows.Forms.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4084.0 built by: NET48REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.4084.0 built by: NET48REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピューター (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。
例:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピューターに登録された
JIT デバッガーに設定されなければなりません。
ここに書いてあるデバックを有効にするにはNet.Framework上で編集できます。
にNet.Frameworkのバージョン確認方法が記載されているのでこれを参照にするといいと思います。
ちなみに今回はVer.4.0であった。
いじる中身はmachine.configの中のjitDebuggingを有効化すればいいらしいので、
今回はデバックを見て修正はしなかったので使用はしていないがやってみたい人はトライしてもらえればと思います。
上記のサイトにconfigまでのパスが書いてあるので参考までに張っておきます。
今回のエラー原因として考えられるのは、
の3つであると考えて一つ一つしらみつぶしにしていきました。
エラーの原因探求と改善のためにやったこととしては、
では、順番にやっていきます。
ソフトウェアの再インストール(失敗)
これで動けばソフトウェアのインストール時のエラーであると断定できます。
手順としては、Windowsキー+Xでアプリと機能を選択し、
そこから該当アプリをアンインストールしました。
アンインストール後、アプリのダウンロード先からインストールをしてみて、起動しました。
結果は、同様のエラーが出ました。
つまり、今回のエラー原因としてはソフトウェアのインストーラーのエラーの可能性は低くなります。
次に、別のユーザーでパソコンにログインして同じ環境で起動できるか試してみます。
別ユーザーで同様の環境でエラーができるか実証
これは、ログアウトして、別のアカウントで入ってみてソフトウェアを起動できるか試してみます。
これによって、もしソフトウェアが動けばパソコン自体のプロセッサの不具合などの物理的なエラーの可能性が低くなります。
結果は別のアカウントでは動いたので物理破損の可能性は少ないです。
では、最後にアカウントの再度入れなおす作業をしていきます。
DBFieldはmySQLのベースに作成されているものだと思ったのでもしかしたらデータベース管理系の既存ソフトがうまく構築されていないのが原因かなと思いました。
アカウントを再度作成し起動を試みる
まず、アカウントの消去をするために別のユーザーで再度ログインしなおします。
その後コントロールパネルにてアカウント、他のユーザーを選択し、アカウントの消去を行います。
通常であればここでアカウントとデータを消去できますが、今回はできなかったので直接消しに行きました。
Cドライブ上のユーザーより該当アカウントを探し消去すれば完了です。
これで該当ユーザーのシステムが完全に消去された状況になります。
最後に再度ログインすれば自動でシステム構築することができますので、該当ソフトウェアを再度開いてもらいます。
私の場合、問題なく開くことができました。
最後に
つまり今回の事象は、ユーザーのシステム構築時のエラーが原因の可能性が高かったです。
多分、複数のアカウントで同一パソコンを運営していたこと、そして6か月間も電源つけっぱなしであったことが原因で、
プロセッサが不具合を起こしたのかなと思います。
皆さんの参考になりましたら、はてぶ、シェアよろしくお願いいたします。
コメント