13 返信 最新の返信: 2011/10/25 22:55 by 高明羅go
怪獣 Level 1 レベル 1

パソコンを起動する度に、『プロシージャエントリポイントsqlite3_wal_checkpointがダイナミックリンクライブラリSQLite3.dllから見つかりませんでした。』と表示されてしまうので、Microsoft Answersに質問を投稿して色々やりとりをしたのですが結局こちらのコミュニティに質問した方がイイと言われたので質問してみました。

 

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1267373842に書かれている方法を試してみると、表示されることはなくなり無事解決しました。

しかし解決したのはいいのですが、これが正しい方法だったのかなという不安と、sqlite3.dllをなぜコピーするのかという疑問が頭から離れません。

 

質問したい内容は、

 

1・上記のURLに書かれている内容の『sqlite3.dll』をコピーする意味は、Apple製品のアップデートの時にちゃんとインストールされなかったからコピーするんでしょうか?

 

2・上記のURLに載っている方法を試して表示されなくなったということは、この方法で正しかったということでしょうか?


iTunes, Windows Vista
  • yoshiboo Level 1 レベル 1

    本件はAppleとは何ら関係ないと思います。

    お使いのPCの何らかのアプリが使用するSQLiteのDLLと、存在するDLLのバージョンがあっていなくて、DLLのエクスポートされた関数sqlite3_wal_checkpointがみつからなかっただけです。

     

     

    1・上記のURLに書かれている内容の『sqlite3.dll』をコピーする意味は、Apple製品のアップデートの時にちゃんとインストールされなかったからコピーするんでしょうか?

    インストーラがDLLをコピーする際はDLLのバージョンやタイムスタンプを確認します。

    おそらく、お使いのPCにインストールされていたDLLが新しいと判断され、iTunesで使用するSQLiteのバージョンのDLLがインストールされなかったのではないでしょうか。

     

     

    2・上記のURLに載っている方法を試して表示されなくなったということは、この方法で正しかったということでしょうか?

    対応としては間違えていません。ただし、SQLiteのDLLが他のアプリから使われる場合、バージョンが異なることで障害となるケースもあります。

    もう少し安全策を考えるなら、SQLiteのDLLはiTunesのEXEのあるディレクトリに入れたほうがいいかもしれませが、DLLのプリロード攻撃対策でSystem32しか受け付けないかもしれません。(試さないとなんともいえませんが。)

  • 怪獣 Level 1 レベル 1

    iTunesのEXEのディレクトリの方がsystem32にコピーするより安全ということは、『SQLiteのDLLが他のアプリから使われる場合バージョンが異なることで障害となるケースもあります。』(意味は全く分かりませんが)と書いてあるようなケース以外の障害が無くなるのでしょうか?

     

    そちらの方が安全で障害がなくなるのでしたら、どうしたらいいのでしょうか?

    ぜひ方法を教えてください。

  • yoshiboo Level 1 レベル 1

    SQLite3というデータベースのライブラリを使用する別のアプリケーションがお使いのパソコンにある場合、多くの場合はSystem32下にあるSQLite3.dllを参照していると思われます。System32下のSQLite3.dllをiTunes用に入れ替えるということは、別のアプリケーションも入れ替えられたSQLite3ライブラリ使うことになりますので、バージョンが変わってしまったことによって何らかの別の不具合が出るかもしれないということです。(絶対に不具合や障害が出るわけではありません。)

     

    ライブラリ(DLL)は通常探す順序が決まっており、EXEの入っているディレクトリ内にあるものが最優先に使用されますので、iTunesのEXEのあるディレクトリにiTunesで使いたいSQLite3.dllを入れれば、iTunesはそのDLLを使用しますし、そこにあるDLLは普通はiTunesしか使用しなくなります。

    System32に元々あったバージョンのSQLite3.dllは、別のアプリケーションが従来どおりそのまま使えますので、それぞれ自分の使いたいバージョンのDLLを使用することができます。

     

    やり方ですが、iTunesのインストール先(デフォルトならC:¥Program Files¥iTunes¥など)を開き、itunes.exeがあることを確認して、SQLite3.dllをそこへコピーするだけで良いと思います。自動起動プロセス絡みで再起動が必要かもしれません。もしこれで、エラーとなるようでしたらSystem32に入れておくしかないかと思います。別のアプリケーションで不具合があったら、この件のことを思い出してみてください。

     

    参考リンク:

    http://support.apple.com/kb/HT1923?viewlocale=ja_JP

  • 怪獣 Level 1 レベル 1

    何かアプリケーションを使って不具合(たぶんその時も『プロシージャエントリポイント~見つかりませんでした。』と表示されると思うので)が出たら、『windows内のsystem32』にあるsqlite3.dllを『Program Files内のiTunes』に移動しようと思います。

  • 司馬惟 Level 1 レベル 1

    1・上記のURLに書かれている内容の『sqlite3.dll』をコピーする意味は、Apple製品のアップデートの時にちゃんとインストールされなかったからコピーするんでしょうか?

     

     <回答>

    その通りです。私も同様の警告が出て、調べてみたら、WINDWS/SYSTEM32のフォルダに、SQLite3.dll自体が有りませんでした。

     

    元々ないのだから、それを入れてやっただけです。

     

    別の方が「iTunesのインストール先(デフォルトならC:¥Program Files¥iTunes¥など)を開き、itunes.exeがあることを確認して、SQLite3.dllをそこへコピーするだけで良いと思います。」回答されてますが、そこに入れても、改善はしませんでした。

    (windows7です。)

  • 高明羅go Level 1 レベル 1

    バージョンupご再起動ごすぐに「プロージャエントリポイントsqlite3_mal_checkpointがダイナミックリンクライブラリSQLLite3.dllからみつかりません」

    とでてきました。

    起動時毎回でてきます。

    動作に異常が発生するのかどうかさえわかりません。

    わたし、iTune の初心者です。

    おんなじ問題がどれだけ出ているあ知りたいです。

    全然回答になってなくてごめんなさい。

  • 怪獣 Level 1 レベル 1

    わからなくても自分と同じ人が投稿してくれるだけでありがたいです。

     

    system32に入れて正解だったことが分かり安心しました。

  • ihachi Level 1 レベル 1

    8月7日のアップデートでも、windows7では同様のエラーメッセージが起動時に発生します。 私の場合 system32をさ

     

    わるのは、恐ろしいので 最新のitunessetupダウンロードしてアンインストール(修復では直らない)選択し

     

    再度インストールし直しております。 アンインストールしても、ミュージックフォルダの itunesフォルダ削除されませんし

     

    ライブラリには 影響ありません。 念のため itunes media フォルダと( 統合済みにしておく必要があります)

     

    itunes フォルダは 外付けハードディスクにバックアップしておくことを おすすめします。

  • 怪獣 Level 1 レベル 1

    回答ありがとうございます。

     

    system32ってそんなに重要なフォルダなのですか!?

    って、今更心配してももうやっちゃったからどうしようもないですけどねw

  • 一也255 Level 1 レベル 1

    私もこのアラートが出て、sqlite3.dllをコピーして直ったのですが、コピーした場所が違いました。

    ※OSは、Win7の64bitです。

     

    system32ではダメで、iTunesのEXEのディレクトリでもダメでした。

     

    困ったあげく、このアラートを出してるアプリの名前が、

    AppleSyncNotifierでしたので、先の方々のお知恵を応用して、

    AppleSyncNotifierのある

     

    C:\Program Files (x86)\Common Files\Apple\Mobile Device Support

    にsqlite3.dllをコピーしたらアラートが出なくなりました。

     

    これ、iTunesではなく、MobileMe関連のアプリみたいですね。

    長々と書きましたが、解決できて皆さんありがとうございました。

  • 怪獣 Level 1 レベル 1

    一也さんのお力になれて良かったです。

    まさかココのディスカッションが参考になるとは思いませんでした。

     

    コピーする場所はそれぞれ違うみたいですね。

    アラート画面にコピーする場所も書いていて欲しいです。

  • ゾルキ Level 1 レベル 1

    Windows 7 (32bit)です。

     

    私も何とか直したのですが、SQLite3.dllを持ってくる場所が違います。

    system32ではなく、

     

    C:\Program Files\Common Files\Apple\Apple Application Support

     

    にあるSQLite3.dllを

     

    C:\Program Files\Common Files\Apple\Mobile Device Support

     

    にコピーしました。

  • 高明羅go Level 1 レベル 1

    lenovo windows7 32bit でずばりそのやり方でエラーの表示がなくなりました。

    動作の異常もみあたりません。

    ありがとうございます。

    私の周囲にもiTunesユーザーがいますがビギナーです。

    同一の症状が出てないか聞いてみます。

    ちなみに私のデバイスはiPod touch 4世代です。

    アナログ放送の終了記念をモチベーションに買って見たら結構しっくりきます。

    お堅いアプリより**なアプリを好んでインストールして楽しんでます。(笑)