先ほど、私の父の使用しているパソコンから何かエラーが出るということで、それを解決したときのお話です。
パソコンが起動したあと、すぐにこういったエラーメッセージがでました。
『プロシージャ エントリ ポイント sqlite3_wal_checkpointがダイナミック リンク ライブラリ sqlite3.dllから見つかりませんでした』
ウインドウの名前は『AppleSyncNotifier.exe エントリーポイントが見つかりませんでした。』です。
※父のパソコンゆえウインドウをキャプチャするのを忘れてしまいました・・・
iTunesのアップデートをしたらこのエラーがでてしまったとか。「AppleSyncNotifier.exe」とは、どうやらiPhoneやiPodなどの製品とパソコンを接続する際に使用されるプログラムのようです。このプログラムがパソコン起動と同時に「sqlite3.dll」というファイルが見つからないと言ってきたわけです。
今回の記事は、この解決法を書きます。
※2011年9月27日 改訂 もう少し色々調べたらいくつか解決方が見つかったので書き直し。
※2011年10月16日 改訂 コメントからの情報を反映
※2012年3月30日 改訂 dllファイルの保存場所に関する追記
解決法1
一応アップルの正式な解決法はこちらのようです。まずはこれをお試しください。
まずは以下のソフトウェアをすべてアンインストールします。コントロールパネルの「プログラムの追加と削除(XP)」「プログラムと機能(Vista,7)」でアンインストールできます。
- iTunes
- Quick Time
- Bonjour
- Apple Software Update
- Apple Mobile Device Support
- Apple Application Support
○Windows Vista または Windows 7 での iTunes、QuickTime、その他のソフトウェアコンポーネントの削除および再インストール - Apple
http://support.apple.com/kb/HT1923?viewlocale=ja_JP&locale=ja_JP
○Windows XP での iTunes、QuickTime、その他のソフトウェアコンポーネントの削除および再インストール - Apple
ttp://support.apple.com/kb/HT1925?viewlocale=ja_JP (リンク切れ)
アンインストールで曲情報や認証情報などは消えないようですが、一応バックアップすることをお勧めします。
○iTunes: プレイリストのバックアップ方法とリストア方法
http://support.apple.com/kb/TA47831?viewlocale=ja_JP
○iTunes でメディアをバックアップする
http://support.apple.com/kb/HT1382?viewlocale=ja_JP
次にパソコンを再起動します。ここでまたエラーがでる場合があるようですが、無視していいようです。
AppleのWebサイトから最新のiTunesをダウンロードし、インストールします。とくにチェックボックスなどで特別な操作は必要ありません。
最後に再起動すれば必要なファイルがすべて入り正常な状態へ戻ります。
解決法2
コメントからの情報を受け再調査。感謝です。(※2011年10月16日追記)
MobileMe コントロールパネル(MobileMe Control Panel)の削除、または再インストール
「AppleSyncNotifier.exe」は MobileMe コントロールパネル が使用しているプログラムのようです。なので、必要なければこれを削除、または再インストールすることで問題が解決する場合があるようです。
MobileMe コントロールパネル - Apple
http://support.apple.com/kb/DL769?viewlocale=ja_JP
削除法、再インストール方法はAppleの公式サイトで紹介されています。
MobileMe:MobileMe Control Panel for Windows のインストールまたはアンインストール - Apple
http://support.apple.com/kb/HT2992?viewlocale=ja_JP
解決法3
プロセスとサービスの終了
まず、タスクマネージャーの「プロセス」タブから「iTunesHelper.exe」を、「サービス」タブから「Apple Mobile Device」を終了させます。タスクマネージャーについては以下を参考にどうぞ。
Windows NT系のOS(Windows 2000以降)に標準で搭載されている機能に「タスクマネージャー」というものがあります。この機能はWindowsのプロセス管理を行うソフトウェアです。 このソフトを利用することで、Windowsが[…]
「sqlite3.dll」のダウンロード
以下のサイトから「sqlite3.dll」をダウンロードします。
○SQLite
http://www.sqlite.org/download.html
リンク先のページにある「Precompiled Binaries For Windows」の「sqlite-dll-win32-x86-3070701.zip」をクリックしてダウンロードしてください。
ファイルはZIP圧縮されています。解凍処理をして中身を取り出しましょう。「解凍ってなに?」という方は以下のページを参考にどうぞ。
今回の記事は、Windowsの基本操作の一つである『圧縮・解凍』について解説しながら、実際に無料で公開されているソフトウェア(フリーソフト)を使用してこの操作を行ってみたいと思います。 今まで「セキュリティ」「パソコンの性能」「基本操作」な[…]
解凍すると「sqlite3.def」と「sqlite3.dll」のふたつのファイルがでてきます。「sqlite3.def」はいらないので、「sqlite3.dll」の方を以下のフォルダの中にコピーしてください。
- C:Program FilesCommon FilesAppleApple Application Support
- C:Program FilesCommon FilesAppleMobile Device Support
コピー後、再起動すればOKです。
解決法4
「sqlite3.dll」のダウンロード
以下のサイトから「sqlite3.dll」をダウンロードします。
○SQLite
http://www.sqlite.org/download.html
リンク先のページにある「Precompiled Binaries For Windows」の「sqlite-dll-win32-x86-3070701.zip」をクリックしてダウンロードしてください。
ファイルはZIP圧縮されています。解凍処理をして中身を取り出しましょう。「解凍ってなに?」という方は以下のページを参考にどうぞ。
今回の記事は、Windowsの基本操作の一つである『圧縮・解凍』について解説しながら、実際に無料で公開されているソフトウェア(フリーソフト)を使用してこの操作を行ってみたいと思います。 今まで「セキュリティ」「パソコンの性能」「基本操作」な[…]
解凍すると「sqlite3.def」と「sqlite3.dll」のふたつのファイルがでてきます。「sqlite3.def」はいらないので、「sqlite3.dll」の方を以下のフォルダ内にコピーし再起動してください。
※よく分からない、入れてみたけど直らない場合は両方に入れてみてください。どちらかで正しく読み込まれます。
注意点
プログラムが最終的に「sqlite3.dll」を参照する場所がここです。なので、他のプログラムもこの「sqlite3.dll」を参照する場合があります。このとき、「sqlite3.dll」のバージョンの不一致が起こるとバグが発生する場合があります。
本来は参照しようとするプログラム周辺に「sqlite3.dll」はあるべきなのでこの方法は最後の手段として実行してください。
32bitと64bitで入れるフォルダが異なる理由
上記のページでダウンロードできる「sqlite3.dll」は32bit版OS用のものです。
64bit版OSで起動する32bit版アプリケーションは、dllをSystem32以下のフォルダから探そうとしますが、ここには64bit版用のdllも含まれているので正しく読み込めない場合があります。
そこで、dllを探しにきた32bit版アプリケーションは、自動でSysWOW64内を探すように指示(リダイレクト)されます。
SysWOW64フォルダ内には64bit版OSで32bit版アプリを動かすために必要なものが入っています。
このように64bit版OSで32bit版アプリを動かすための機能を「WOW64」といいます。
なぜこのような機能が必要なのかは、以下の記事を参考にどうぞ。
同じWindowsのバージョンでも「32bit版」と「64bit版」の2つがあることをご存じでしょうか。 Windowsであれば「Windows10 Home 32bit版」「Windows10 Home 64bit版」のように表記されて[…]
お詫び
記事を改訂した理由ですが、以前紹介した方法(解決法4)は「最後の手段」として用いられるべきもので「推奨される方法」ではなかったからです。
「sqlite3.dll」を「C:WindowsSystem32」に入れると、確かに一時的には解決しますが、他のプログラムが「sqlite3.dll」のバージョンの不一致によってバグを発生させる場合があるようです。
ここら辺のことを調査不足で知らなかったので改めてしっかり調べ書き直しました。解決法4でも問題は解決しますし、絶対に不具合がでる訳ではないのですが(恐らく出る方が希だと思います)、推奨される方法ではなかったことをここでお詫び申し上げます。
以前、解決法4を実行した方は解決法1をお試しください。
あとがき
他にも同じようにこのエラーがでたという方を多く見かけました。エラーを出すプログラムによって原因は様々なのですが、今回の「AppleSyncNotifier.exe」から出た場合は、iTunesのアップデートが原因である可能性が高いです。全員がこの症状になるわけではありませんが、もしエラーを出したら参考にしてください。
ところでSQLiteってなに?
データベース管理システムのひとつです。
データベースというのは、あるテーマに沿ったデータを集めて、他のソフトウェアなどが容易にデータを取り出せるように管理したものをいいます。社員や学生の名簿なども「名簿」というテーマに沿った一種のデータベースです。
データベース管理システムは、このデータベースを管理するためのシステムやソフトウェアのことを指します。
データベース管理システムには、SQLiteの他にも「MySQL」「PostgreSQL」などの種類があります。
SQLiteは軽量のデータベースであるため、アプリケーションなどに組み込んで利用されます。中規模、小規模のデータベースを扱います。「sqlite3.dll」はSQLiteに関連するファイルです。
「ダイナミックリンクライブラリ」は、プログラムが実行されるときに呼び出されるライブラリです。DLLファイルといえば聞いたことあると思います。私もあんまり詳しくないので知りたいという方は詳細を検索してください。