5 Replies Latest reply: Jun 22, 2011 7:06 PM by 514411 RSS

    Windows7で新規インストール後、MSVCR71.dllエラーがでる

    825749
      sqldeveloper-3.0.04.34.zip(181MB)を解凍して、sqldeveloper.exeを実行すると、
      「コンピューターにMSVCR71.dllがないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールして下さい。」というメッセージがでます。

      OSはWindows7 Professional(32bit)で、新規インストールしたものです。

      ReadmeのBefore You Startには特に制限事項等はなさそうで、サポートOSにはちゃんと名を連ねているみたいなのですが、これは別途dllを仕込まないともともと動作しないのでしょうか?
      ダウンロードサイトに書いてある手順だと、回答してexeをキックするだけのように見えます。

      何かご存じの方、よろしくお願い致します。
        • 1. Re: Windows7で新規インストール後、MSVCR71.dllエラーがでる
          tmtsmic
          こんにちは。

          Java系のbinフォルダ内にMSVCR71.dllが含まれているみたいですね。
          うまくその場所が認識できていないのではないでしょうか?

          # 「Java系」とか言ってごめんなさい。
          # Javaに疎くてJDKとかJREとかよく分かってないです・・・

          exeを初めて実行した時にJavaの場所を
          指定すると思うのですが、そこまではたどり着きました?
          現状はそこにも達していない段階ですかね?
          1度場所を指定しているのでしたら
          その指定先を間違えたとかそういう話もあるかもしれません。
          • 2. Re: Windows7で新規インストール後、MSVCR71.dllエラーがでる
            514411
            使用されている Oracle のバージョンが分からないので
            バージョンによる相違があるかもしませんが、ちょっと試してみました。

            Oracle 11g R2 Client(管理者)をインストールした Windows 7 上で
            sqldeveloper-3.0.04.34.zip を圧縮展開して
            sqldeveloper.exe を実行したところ、こちらではエラーなく起動しました。

            まず、Oracle 11g R2 Client(管理者)をインストールすると
            同梱されている SQL Developer(1.5.5) もインストールされます。
            先にこちらを起動したところ、tmtsmic さんが書かれているように
            Java 実行ファイルの場所を訊いてきました。

            ここで、Oracle ディレクトリ下の jdk\jre\bin\java.exe を指定して起動。
            SQL Developer(1.5.5) が起動されます。

            その後、上記のように圧縮展開した SQL Developer(3.0.04.34) を起動してみると
            Java 実行ファイルの場所を訊かれずに起動しました。

            こちらの環境では takapon さんのところで問題となっている msvcr71.dll は、
            以下の場所にあります。

             ・C:\Windows\System32\msvcr71.dll
             ・<Oracle 11g Client をインストールした場所>\BIN\msvcr71.dll
             ・<SQL Developer(3.0.04.34) をインストールした場所>\jdk\jre\bin\msvcr71.dll

            まぁ、他の場所にもありますが、関係するのは上記あたりでしょう。

            takapon さんの環境で、環境変数 PATH に含まれているディレクトリを順に辿っていくと、
            どこかのディレクトリに msvcr71.dll はあるでしょうか?
            こちらでは PATH の先頭に Oracle Client の bin ディレクトリが指定されているので
            上記の 2 番目の msvcr71.dll が使用されているものと思います。

            続く PATH の中に C:\Windows\System32 も含まれているので、この 2 箇所の
            msvcr71.dll をリネームして使用できないようにして SQL Developer(3.0.04.34) を起動すると

            「コンピューターに MSVCR71.dll がないため、プログラムを開始できません。」

            というエラーになります。

            つまり、3 番目(SQL Developer(3.0.04.34) のディレクトリの中)の
            msvcr71.dll は使用されません(別途 PATH を通せば使用されるでしょうけど)。

            ということで、使用している Java 環境の bin に PATH を通せば起動するのではないでしょうか?
            • 3. Re: Windows7で新規インストール後、MSVCR71.dllエラーがでる
              825749
              皆さん、レスありがとうございます。takaponです。

              こちらの環境では、皆さんのとはちょっと違ってまして、OracleのClientとしてはインストーラ形式のものではなく、XCopyのODACを利用してます。

              まず、ODAC112021Xcopy_32bit で、ODP.NETとともに依存するOCI.dllなどをインストールしてます。
              そのあとにSQL developerを解凍して、実行すると、Java実行環境の選択肢を出してくれる前にそのエラーがでるような状態です。
              Readmeには特には書いてなさそうですが、この組み合わせだとこのdllが不足してしまうのかもしれませんね。

              今回の端末はユーザへ配る運用端末に一時的にSQL developerを入れたかったので、Oracle ClientはXCopy版を使ったものでした。

              C:\oracle\bin\sqldeveloper に今回解凍したんですが、そうすると、以下の二箇所にdllがいます。ここのどちらかにPathを通せばもしかすると大丈夫かもしれません。
              "C:\oracle\bin\sqldeveloper\jdk\jre\bin\new_plugin\msvcr71.dll"
              "C:\oracle\bin\sqldeveloper\jdk\jre\bin\msvcr71.dll"

              今、その環境の端末が使われてしまっているので、あいたら試してみようと思います。
              • 4. Re: Windows7で新規インストール後、MSVCR71.dllエラーがでる
                825749
                自己レスです。

                解決策としては Pathに "C:\oracle\bin\sqldeveloper\jdk\jre\bin\"を追加することで動作するようになりました。
                この対処で問題ないかは分からないのですが、起動はうまくいくようになりました。

                Edited by: takapon on 2011/06/22 5:02
                • 5. Re: Windows7で新規インストール後、MSVCR71.dllエラーがでる
                  514411
                  起動できるようになったようでなによりです。

                  他に Java 環境を必要とするアプリケーションがない場合は問題ないと思いますが、
                  もし、他にも Java 環境が必要なアプリケーションがあって、
                  そちら側で必要な JavaVM のバージョンが異なる場合は問題になるかもしれません。

                  その場合は、(試してはいませんが)SQL Developer を起動するバッチを作成して
                  exe ファイルの実行前に PATH に追加する方法で回避できると思います。
                  #システム環境変数やユーザー環境変数の PATH には追加しない。