2012-05-11 22 views
2

Visual Studio 2010でMFCアプリケーションを構築しましたが、インストーラに再配布されたことについて私の頭を傷つけています。いつMSVCRTの再配布可能ファイルが必要ですか?

アプリケーションは静的にリンクされているので、再配布可能ファイルは必要ありません。自己完結型ですか?

+0

アプリケーションリンクは、MFCライブラリに対して静的にリンクされていることを意味します。そうでなければ、それらを含める必要はありません。 –

+0

VS2010以降、msvcp10.dllまたはmsvcr10.dllのために厳密にredistを必要としません。私はmfcについてはわかりません... –

答えて

4

ここでは、あなたが再配布を必要とするかどうかをテストするための簡単な方法です:

  • のVirtualBox上のクリーンなWindows 7をインストールします(またはそれはあなたが期待する基本的なものを持っていないので、このVirtualBoxの
でソフトウェアを実行します
  • )、WindowsのXP SP 2より良いです210

    動作しない場合は、おそらく再配布可能ファイルを含める必要があります。

  • 0

    はい、それは問題ありませんが、私はあなたの意図したターゲットプラットフォームにインストールし、それが動作するかどうかを確認する必要がありますdllsを追加するか、またはアプリケーションをインストールする前にVC resdistributableをインストールする前提条件。

    MFC dllが含まれている可能性もありますが、Visual CランタイムはターゲットOSによって異なる可能性がありますので、VC再配布可能なアプリケーションをアプリケーションに含める必要があります。

    上記のことについてMSDNのリンク:http://msdn.microsoft.com/en-us/library/ms235299.aspxとウォークスルー:http://msdn.microsoft.com/en-us/library/dd293575.aspx

    0

    DLLまたは再配布可能ファイルを静的にリンクする場合はいつでも、再配布する必要はありません。これが静的リンクと動的リンクの主な違いです。

    実際には、使用する部品(またはそのすべてが依存している)をアプリケーションに組み込みます。あなたのアプリを再配布することによって、実際に依存関係も再配布されます。

    静的リンクは常に使用できるとは限りません。可能な場合でも静的リンクを使用することは必ずしも意味をなさないことに注意してください。

    関連する問題