• ベストアンサー

VC6.0で開発したMFCを利用したEXEの配布方法

初めて質問します。 MicrosofVisualC++で開発したEXEをWindows2003サ-バへ 配布というかインスト-ルしたいのですが、さっぱり 方法わかりません。 MFCを利用しているので余計にわかりません。 Windows2000で開発しているのですが、本来どうやって 他のパソコンとかサ-バへ開発したEXEを配布するので しょうか? どなたか猿にもわかる説明をお願いします。                      以上

質問者が選んだベストアンサー

  • ベストアンサー
  • qKAZp
  • ベストアンサー率47% (71/148)
回答No.2

Windows2003なら、基本的なMFCのランタイムはインストール済みではないでしょうか? 自分で作ったDLLとかが必要でなければ、EXEをコピーするだけで動くと思いますが。 自作のDLLや、別途用意したDLL等を必要としているなら、EXEと一緒のフォルダに入れておけば問題ないと思いますよ。 Windowsフォルダとかにわざわざ入れる必要もないし、削除に困ると思います。 「プログラムの追加と削除」に登録したいのでなければ、わざわざインストーラ構築ソフトを使う必要もないと思います。 商品として配布する場合や、不特定多数の人に配布することを考えて見えるのであれば、きちんとインストーラを作ってあげるのもいいかもしれませんが。 私は、フォルダ付きアーカイブを作って後はよろしくにしています。スタートメニューへの登録も、必要な人が勝手に作ってもらうようにしています。

YK29
質問者

補足

回答、ありがとうございます。 なるほどWindows2003にMFCのランタイムがありました。 .NETも標準だし2003っていいなあと思いました。 最後にもう1度質問させてください。 過去の問い合わせにもあるのですが、MFC42D.DLLというような最後にDの文字の付くDLLは、再配布禁止とあります。 しかしながら配布したくなくても今回教えて頂いたように EXEをWindows2003に持って行って起動するとMFC42D.DLLがないというメッセ-ジが表示されます。 結局、~D.DLLを再配布しないと動作しないのですが、このあたりどう解決すれば良いのでしょうか? ビルドの仕方が悪いのでしょうか? 申し訳ありません、よろしくお願いします。                       以上

その他の回答 (2)

  • GOGOV
  • ベストアンサー率54% (12/22)
回答No.3

>結局、~D.DLLを再配布しないと動作しないのですが、このあたりどう解決すれば良いのでしょうか? >ビルドの仕方が悪いのでしょうか? D付きDLLはDebugモードでのビルドだからではないでしょうか? おそらくリリースモードでビルドすれば大丈夫だと思います。

YK29
質問者

お礼

回答、ありがとうございました。 リリ-スビルドしているつもりでもD付きDLLの要求が来るので困ったなあと思ったのですが、一度スタテックリンクでリビルドして今度は共有DLLでリビルドしたEXEをWindows2003へ持って行ったら期待どおりの動作をしました。ありがとうございました。 Windows2003にMFCのランタイムがあったなんてびっくりしました。 なんでも.NET風潮なのでC++6.0の将来に不安を抱いていたので余計にうれしかったです。 ありがとうございました。                        以上

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

動作に依存するDLLとかがある場合は、 インストーラー(インストールシールドとか)でインストールすればいいと思います。 そういう、特に依存するモノがない場合は、単にファイルをコピーするばいいだけだと思います。 まあ、ショートカットとか作ってくれる方が親切だとは思いますが

YK29
質問者

補足

回答、ありがとうございます。 C++6.0のインスト-ルCDの中にINSTALLSHIELDが 添付されていました。 申し訳ありませんが、このINSTALLSHIELDの利用方法を 説明してあるサイトとかあれば紹介していただけないでしょうか。 これも初めてなのでどうして良いかわかりません。 また別の方法として今回開発したEXEがどのDLLを 必要としているのかわかれば解決しそうな気もします。 わかる方法はないのでしょうか? よろしくお願いします。                    以上

関連するQ&A

専門家に質問してみよう