msctf.dll ってなに??
http://hidori.jp/blog/2012/06/03/536
デスクトップアプリケーションのインストーラが、起動時にクラッシュする。
SQL Server 2008 R2 Express
SQL Server 2008 R2 Developer Edition
SQL Server 2012 Express
SQL Server 2012 Developer Edition
DropBox クライアント
Visual Studio 2012 RC
原因調査に当たりイベントビューアを見てみると。。。
クラッシュの原因は大抵の場合 MSCTF.dll でした。
msctf.dll とは一体なんなのか…
http://www.processlibrary.com/ja/directory/files/msctf/20709/
>>msctf.dllはMicrosoft Text Service Moduleに属するモジュールである。
文字入力関係のモジュールの模様。
なら、日本語入力を切ればクラッシュしない?
ということで、システムに「英語」入力モードを追加してみます。
英語入力に切り替えた状態で、
前述のクラッシュしたインストーラを起動してみるとインストールも正常に行えました。
というケースのお話。
■「0xc0000005」エラー
「0xc0000005」エラーが意味するものは、メモリアクセス違反です。
メモリ上において、不正なアクセスがあったということです。
各プログラムは、メモリ上にデータを展開して動作しています。
たとえば、あるプログラムが確保した領域と別の場所にアクセスしようとしたりすると、
それはプログラムとして正しいふるまいではないため、
動作を停止し、「0xc0000005」エラーが表示されるわけです。
もし仮にそのような動作が許可されてしまうと、
他のプログラムも巻き込んでトラブルを起こしてしまいます。
だから、アクセス違反を起こしたプログラム単体を強制終了するようになっています。
そして、ユーザーには「0xc0000005」エラーを表示して、このことを伝えているのです。
つまり、「0xc0000005」エラーの原因は、ソフトウェアにある場合がほとんどなのです。
ただし、ハードウェアが原因でソフトウェアに影響を及ぼすこともありますから、
ソフトウェアだけが原因だと断定することはできません。
【対策案】ソフトウェアの更新を確認する
前述のとおり、「0xc0000005」エラーの原因は、ソフトウェアにあることが多いですから、
「0xc0000005」エラーが発生したソフトウェアに更新がないか、
確認してみたほうがいいです。
ソフトウェア自体の不具合が原因で、
「0xc0000005」エラーが表示されることは、意外に多いです。
たとえば以下のように。
Microsoftサポート
これは、Microsoftのソフトウェアに関するものの一例ですが、
参照先からも、「explorer.exe」等で「0xc0000005」エラーが発生する不具合があり、
対策のためのアップデータが数多く提供されていることがわかります。
それだけ、バグのないプログラムを提供することは難しいのだと思います。
言語らしいものがほとんどわからない私にとっては、未知の世界ですが。