Visual Studioがインストールされていないマシンでの実行方法

[戻る]
たけちゃん 2010/01/17(日) 11:27:29
こんにちは。

マネージのC++をビルドして実行モジュールをVisual Studioがインストール
されていない他マシンで実行しようとした場合、「サイドバイサイド構成が正
しくないためが実行できません」とエラーになります。

MSからVisual Studioランタイムを落とし導入すると上手く動作しますが環境構
築の手順でVisual Studioランタイムを別途導入させたくありませんので可能で
あればビルド時に含めることができればと思っております。

ネイティブのC++の場合プロパティのどこかで設定をマルチスレッド(MT)とすれ
ばビルド時に含めることが出来ると伺ったのですがマネージのC++ではこの方法
は使用できないようです。

どなたか回避策をご存知の方教えていただけませんか?

たけちゃん 2010/01/17(日) 11:39:00
ネイティブC++の場合は以下の設定で回避できました。

[プロジェクト]→[・・・のプロパティ]→[構成プロパティ]
→[C/C++][コード生成]→[ランタイム ライブラリ]を[マルチスレッド/MT]に変更

επιστημη [E-Mail] [HomePage] 2010/01/17(日) 14:26:00
.NET Frameworkがインストールされてなきゃどっちみち動きませんよ? manageなら。

たけちゃん 2010/01/17(日) 17:07:17
>επιστημηさん

アドバイスありがとうございます。

マシンはWindows Vistaなので.NET Framework3.5を導入済みです。
ビルドした環境の.NET Framework3.5と動作実行マシンの.NET Framework3.5
共にSP1の同じバージョンでした。

επιστημη [E-Mail] [HomePage] 2010/01/18(月) 06:02:12
C++/CLIではstatic-linkできないんじゃなかったっけか。
# コンパイル・オプション:/clr は /MDを含意しているはず

たけちゃん 2010/01/18(月) 10:27:40
>επιστημηさん

ありがとうございます。

>>C++/CLIではstatic-linkできないんじゃなかったっけか。
>># コンパイル・オプション:/clr は /MDを含意しているはず

上記だとするとビルド時に含めることが出来ないので別途ランタイム
を動作実行マシンに導入しなければならない手順が増えそうですね。

ありがとうございました。

aetos 2010/01/18(月) 10:34:40
Vista に標準搭載なのは 3.0 じゃないっすか?
まぁ、WindowsUpdate で入ってるのなら別ですけど。

仲澤@失業者 2010/01/19(火) 10:07:40
ただコピーしてそのまま動いちゃうのはMFCを使用しない(Win32APIのみ)ネイティブ
C/C++の実行ファイルだけのような気がします。

セットアッププロジェクトを作ってインストーラを作成するのが通常の手順です。
何か理由があってそれができないのでしょうか。

たけちゃん 2010/01/20(水) 15:28:01
[[解決]]
OSのサービスパックを当てたところ標準でアプリ起動時に必要なdll群がインストール
されていました。ですので特にランタイムを別途導入することも必要なくなりました。
いろいろとアドバイスして頂きありがとうございました。

古いスレッドには追加発言できません。