C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VS2013セットアップでVC++2010ランタイムを必須

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■84999 / inTopicNo.1)  VS2013セットアップでVC++2010ランタイムを必須
  
□投稿者/ らうめん (1回)-(2017/09/04(Mon) 11:29:06)

分類:[.NET 全般] 

VS2013のセットアッププロジェクトを使用したいのですが、
インストールするファイル内に、VS2010のVC++で作成したexeが含まれています。
(これは、メインのexeから呼び出されます。)

上記を動作させるにはVC++2010用のランタイム(x86)が必要となりますが、
セットアッププロジェクトのプロパティページの「Prerequisites...」
(VS2008では、確か「必須コンポーネント」だったと思います)では、
インストールする必須コンポーネントには
「Visual C++ 2013 ランタイム ライブラリ(x86)」しかありません。

VS2013のセットアッププロジェクトなので、
他Ver.のVC++ランタイムが選択肢にないのは当然だと思いますが、
VC++2010のような、別バージョンのランタイムを
必須コンポーネントに指定することは可能でしょうか?
引用返信 編集キー/
■85000 / inTopicNo.2)  Re[1]: VS2013セットアップでVC++2010ランタイムを必須
□投稿者/ とっちゃん (453回)-(2017/09/04(Mon) 12:08:23)
No84999 (らうめん さん) に返信
> VS2013のセットアッププロジェクトなので、
> 他Ver.のVC++ランタイムが選択肢にないのは当然だと思いますが、
> VC++2010のような、別バージョンのランタイムを
> 必須コンポーネントに指定することは可能でしょうか?

VS2013 の必須コンポーネントにVS2010のC++ランタイムを表示させるには、
エクスプローラでVC++ 2010 のランタイムを
VS2013 のインストーラ用必須コンポーネントの配置フォルダにコピーしてくることで
利用できます。

もう一つの方法としては、VC++2010のランタイム類のマージモジュールを
msiに組み込む方法があります。

こちらは、セットアッププロジェクトのコンテキストメニューから追加ができます。
(VS2010だと、追加-マージモジュールというメニューですが英語になっているVS2013でどういう風に出てるかはわかりません)

VS2010/2013が共存している環境の場合は、ファイルダイアログがマージモジュールの
フォルダで開くので

Microsoft_VC100_CRT_x86.msm
Microsoft_VC100_OpenMP_x86.msm
Microsoft_VC100_ATL_x86.msm
Microsoft_VC100_MFC_x86.msm
Microsoft_VC100_MFCLOC_x86.msm

の5つのマージモジュールを追加します。
一応。。。x64 の場合は、x86 の変わりに x64 を指定します。

2010/2013 で共存していない場合は、インストーラのビルド環境から見えるところにコピーしてそれを使います。

ちなみに、VS2013にもマージモジュールがありますので、そちらを使えば
必須コンポーネントを利用せずに配布することもできます。

引用返信 編集キー/
■85006 / inTopicNo.3)  Re[2]: VS2013セットアップでVC++2010ランタイムを必須
□投稿者/ らうめん (2回)-(2017/09/05(Tue) 09:57:49)
とっちゃん さん、ありがとうございました。
前者の方法でうまくいきました。
今後のため、後者の方法も後で試してみます。

解決しました。ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ