JustAnswer のしくみ:
  • 専門家に質問
    知識豊富な専門家があらゆる質問にお答えするために常に待機しています。
  • 専門家が丁寧に対応
    E メールやサイト内オンラインメッセージなど、さまざまな手段で回答を通知。
    必要に応じてフォローアップの質問をすることもできます。
  • 満足度 100% 保証
    専門家からの回答を確認し評価をすることで、支払うかどうかを決めます。
rushqkに今すぐ質問する
rushqk
rushqk, ソフトウェアエンジニア
カテゴリ: オペレーティングシステム
満足したユーザー: 766
経験:  AV機器開発、ソフトウェア設計
60440014
ここに オペレーティングシステム に関する質問を入力してください。
rushqkがオンラインで質問受付中

MFC71 DLL

解決済みの質問:

フリーのソフトをインストールし起動しようとしたら、MFC71 DLLが見つからないため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すことでこの問題は解決される場合があります。というメッセージが出てきたので、ソフトを一度アンインストールしインストールし直しましたが状況は改善しません。ちなみにPC環境は、Window 7 Home Premium SP1 64ビット版です。フリーソフト(Junior Jyotish)のインストール先フォルダはデフォルトのままで、C:\Program Files (x86)\Junior Jyotish にインストールしました。ちなみにこのPCは最近購入したばかりで、ほぼ初期設定の状態に近いです。
投稿: 5 年 前.
カテゴリ: オペレーティングシステム
専門家:  rushqk 返答済み 5 年 前.

質問ありがとうございます。

MFC71.DLLがないために動作しないとのことですので、.netをいれてみてください。

こちらにMFC71.DLLも含まれております。

http://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3

このページの「dotnetfx.exe」です。

まずはお試しください。

質問者: 返答済み 5 年 前.

そのdotnetfx.exeですが、インストールした場合、.NET Framework Version 1.1 再頒布可能パッケージおよび .NET Framework Version 1.1 LanguagePack をインストールすることになるのでしょうか? ver1.1だと最新版ではなくかなり古いものではないですか?どうせインストールするなら最新版が良いと思うのですが。。。

 

ちなみに他のPC(Windows Vista Home Premium SP2にはMicrosoft.Net Framework Ver3.5 sp1とver3.5 language pack sp1日本語がインストールされています。)では、同じJunior Jyotish(free soft)がインストールされていて、こちらは正常に起動できます。

 

また、現在問題になっているPCは先ほど書きましたように、Windows 7 Home Premium sp1 で、コンパネからプログラムを見ましたら、.Net Frameworkといったものは見当たらず、その代わりかどうか分かりませんが、Microsoft Visual C++2005 Redistributable(x64)とか、C++2008 Redistributable...とかC++2010 x86...とかはいくつかあります。そこで、Windows Updateの更新プログラムを確認したところ、Microsoft Visual C++2010再頒布可能パッケージのセキュリティ更新プログラム(KB2467173)というのがありました。内容はMFCに関係しているものらしいのですが、こちらをインストールすると改善しますか?

 

以上ですが、至急ご回答頂けると幸いです。

質問者: 返答済み 5 年 前.

先ほどの質問で補足します。フリーソフト(Junior Jyotish)が正常に稼働しているPCは、

Windows Vista Home Premium SP2の32ビット版です。 現在問題になっているPCは、Win 7 sp1の64ビット版です。 両方のPCで先ほどのmfc71.dllがあるかどうかの検索をしたところ、Win vista PCのほうは存在していて、Win7 PCのほうはなかったです。特に自分でこのdllファイルを削除したということはないので、やはり、64ビット版だということに問題があるのでしょうか?

専門家:  rushqk 返答済み 5 年 前.

1.1系統や2,3,4は個別に動作するものです。

同様に、MFC2005/2008/2010なども個別のライブラリになります。

 

混同してしまいがちですが、お使いになりたいプログラムが要求している

バージョンでないと対応している機能が正しく動かないという結果になります。

例えば、Aという機能がVer1.0で右に動くというだけの機能しかなかったのが

Ver2.0になると右に10個動くという拡張が施されていたりします。

そうするとVer1.0の動きしか考えてないアプリでは不定な回数動くという

意図しない動きが発生して不具合の原因になったりするのです。

通常は、バージョン違いも吸収するものなのですがそこはプログラマに

委ねられるところですので、要求されているバージョンを使うのが無難である

という事になります。

 

現在のところ、マイクロソフトからMFC7.1単体で公開はされておらず、

個人の方が7.1のDLLのみを公開しているのを使うという方法もありますが

.net1.1が確実な方法ですので紹介させていただきました。

1.1をいれた後は1.1の更新を適用しておいてください。

 

一応、個人の方が提供しているDLLも紹介します。

http://www.vector.co.jp/soft/win95/util/se353331.html

 

64bit版ではWowという32bitプログラムを変換する処理を経由して動作しますので

32bit版を入れても問題は特にありません。ただし、64bitアプリと32bitアプリで

データのやり取り(ドラッグ&ドロップなど)する時にアプリによっては正しく

動作しないという事はあります。今回のアプリでは32bit版DLLで問題ないと思います。

質問者: 返答済み 5 年 前.

早速のご回答ありがとうございます。素人ですのでよく意味が分からない部分がありますので、ご理解のうえ、一つずつご返答頂けると幸いです。

 

>1.1系統や2,3,4は個別に動作するものです。

>同様に、MFC2005/2008/2010なども個別のライブラリになります。

 

今質問しているのは、mfc71.dllファイルでして、MFC2005/2008/2010というのは何ですか? 先ほどこちらからの質問に書きました、Ms Visual C++2005とかと関係してきますか? Ms Visual C++...とかいうものと.Net Frameworkは全然関係ないソフトですか?

私のイメージとして、.Net FramworkのバージョンアップしたものがVisual C++...かなと勝手に思ってしまっているのですが。。。

 

>現在のところ、マイクロソフトからMFC7.1単体で公開はされておらず、

>個人の方が7.1のDLLのみを公開しているのを使うという方法もありますが

>.net1.1が確実な方法ですので紹介させていただきました。

>1.1をいれた後は1.1の更新を適用しておいてください。

 

分かりました。では、.Net Framwork 1.1をインストールして、その後Windows Updateをかければ、PCに適用したバージョンが自動的に更新されていくという理解でいいですか?

 

要するに、64ビット版には.Net Frameworkがあらかじめ入っていなくて、それが原因でmfc71.dllがない。Ms Visual C++...とは関係ないので、.Net Frameworkをとりあえずインストールすれば良い。ということでしょうか?

 

>64bit版ではWowという32bitプログラムを変換する処理を経由して動作しますので

>32bit版を入れても問題は特にありません。ただし、64bitアプリと32bitアプリで

>データのやり取り(ドラッグ&ドロップなど)する時にアプリによっては正しく

>動作しないという事はあります。今回のアプリでは32bit版DLLで問題ないと思います。

 

.Net Framworkのサイトと個人のDLLのサイトにいきましたが、ダウンロードするところで、特に64版か32ビット版か選べなかったですが、どうしたらいいですか?また、インストールしていく途中で、インストール先フォルダとかは自動的に指定される場所で良いですか?(特定の場所を指定する必要はないですか?)

 

ちなみに、.Net Frameworkはインストール後、仮に問題が解決しなった場合等で、アンインストールしてもシステムに影響を及ぼさないでしょうか?

 

以上ですが、お手数ですがご返答よろしくお願いします。

 

 

 



 

 

 

質問者: 返答済み 5 年 前.
補足です。先ほど色々調べたところ、Win 7のPCに.net framwork 3.5.1のバージョンがインストールされているようです。ただ、コンパネ>プログラムのアンインストールからはそのプログラムが見えなく、Windowsの機能の有効化または無効化というところをクリックすると、確認できました。それから、スタート>プログラムとファイルの検索でmicrosoft.netで検索すると、Microsoft.NETというフォルダがあり、そこの中に、Framework とFramework64というフォルダがあり、それらの中に、v3.5、v3.0、v2.0、v1.1、v1.0.3..といったフォルダが入っています。 こういった環境ですが、.net framework1.1をインストールしても問題ないですか?ver3.5.1とは関係なくver1.1がインストールできるのでしょうか?
専門家:  rushqk 返答済み 5 年 前.

略語を多用してしまい申し訳ありません。Visual C++2010等の話がでていましたので
知っておられるのかなと思い端折ってしまいました。

----------余談です

MFC2005/2008/2010というのはMicrosoftが提供しいているVisual C++のライブラリの略で
Microsoft Foundation Classといって動作の仕組みや見た目などを簡単に使えるようにした
部品の集まりです。言語はC/C++言語です。
これに対し、.net Frameworkというのがありまして、これはWindows上で動く仮想環境
Javaの対抗として作られた仕組みから進化したものです。此方も部品の集まりです。
此方の言語はC#、Visual Basic、C++です。
MFCと.netは同じMicrosoftの環境ですが別物です。MFCにくらべて少し開発しやすくした
のが.net環境です。もちろん、共通点や組み合わせもできるので全くの別物ではないので
すが、この辺の話を始めると開発言語の話やOSの仕組みになるのでここではこの程度
の話でやめておきます。速度はMFCの方が早く玄人好みかもしれません。

異なるバージョンをインストールするのは前回の話にくわえて、古いライブラリを利用している
アプリは、古いバージョンのファイル名で呼び出すため、新しいもので代用というわけには
いきません。それぞれが独立にインストールして独立に扱えます。

32bitと64bitの話ですが、32bitのアプリから64bitのライブラリを使う、その逆もそれなりの
仕組みを内部で持っていなければ使えません。
今回ご利用のソフトは32bitアプリですのでMFC7.1DLLも32bit版でなければなりません。

個人の方がまとめたDLLは32bit版ですので、今回は手軽さの意味もあってこちらでいいかも
しれません。
.net 1.1で話をすすめるよりもわかりやすいのと、アンインストールのことなど気にして
おられる様ですので、こちらで話を進めさせてもらいます。

-----------
初めからこちらで説明しておくべきでした。無駄に話がながくなりすみません。

手順です。
1.「VCNET_RUNINST.zip」ダウンロードする
2. 展開してVCNET_RUNINSTにてインストール
これでとりあえずインストールは完了です。はじめからこれだけ書いとけばよかったですね。

動作を確認して、Junior Jyotishがするならば完了、動かない場合はライブラリのパス(ファイルの位置)が
アプリが思っている場所と異なる可能性がありますので、
先ほど展開したフォルダの中の「VCRUNTIME」の中身のDLLを「C:\Program Files (x86)\Junior Jyotish」
にコピーしてください。
これで動作すると思います。ファイルが見えない場合は
コントロールパネル→フォルダーオプション→表示→詳細設定→ファイルとフォルダーの表示→隠しファイル~~を表示する
のほうを選択し、さらに「詳細設定→登録されている拡張子は表示しない」のチェックを外してOKを押してください。

それでも動作しない場合は、まだ足りないファイルがあるかもしれません。

 

質問者: 返答済み 5 年 前.

丁寧なご返答ありがとうございます。早速、VCNET_RUNINST.zipをダウンロードし、VCNET_RUNINST.exeをインストールしようとしたところ、下記のようなメッセージが出てきました。どちらを選ぶべきですか?

graphic

 

たびたびお手数ですが、ご回答よろしくお願いします。

 

 

 

 

質問者: 返答済み 5 年 前.

少し気になったので質問します。先ほどからMFC7.1DLLと書かれていますが、こちらが質問しているmfc71.dllと同じ意味でしょうか?

専門家:  rushqk 返答済み 5 年 前.

すみません、7.1のDLLですので記入ミスです。

MFC71.dllです。

 

2003の方をいれてみて、動かなければ2002も入れてください。

VC++2003がMFCVer7.1でVC++2002がMFCVer7.0になります。

rushqkをはじめその他名のオペレーティングシステムカテゴリの専門家が質問受付中
質問者: 返答済み 5 年 前.

VC++2003をインストールをクリックして、ソフトを起動してみたら、問題なくインストール

できました。長い時間お付き合いくださり、ありがとうございました。

またよろしくお願いします。

オペレーティングシステム についての関連する質問