No.2ベストアンサー
- 回答日時:
> (例えばMacPC)で動かすために、Windows PE 3.1 を起動し、
ちょっとこちらは使った事ないですが、一般的にVC++やVSで開発したプログラムを別の環境で動作させる方法としては、
1) 対象の環境にランタイムパッケージをインストールする。
公式のダウンロード センターから Visual Studio 2012 更新プログラム 1 の Visual C++ 再頒布可能パッケージ をダウンロード
http://www.microsoft.com/ja-jp/download/details. …
2) 取りあえず作成した.exeを放り込んで実行し、dllが必要な旨のエラーが出るなら.exeと同じ場所に実行可能な環境のWindowsフォルダなどからコピー。
ゲンミツにはライセンス的に問題あるかも?
3) ライブラリをスタティックリンクしてdll不要な.exeを作成。
別の問題が起きる事もあるとか。
こちらのような記事が参考になるかも。
MFC編 - MFCをスタティックリンクしたときに出るエラー
http://www.g-ishihara.com/mfc_ge_01.htm
VC++2010Expressで静的リンク
http://social.msdn.microsoft.com/Forums/ja-JP/vc …
この回答への補足
neKo_deuxさん、回答ありがとうございます。お礼が大幅に遅れたことを深く、お詫びします。
私の質問に関連して、Microsoft と4月22日から協議しておりました。少し長くなりますが、協議の内容を一読いただければ幸いです。
協議の前提は、次のMSDNの技術資料「Deployment in Visual C++」です。
http://msdn.microsoft.com/ja-jp/library/dd293574 …
この資料を私流に要約すると次の3種類の解決方法が示されています。(内容は、neKo_deuxさんの回答の通りです。記載順に番号を付けました。)
(1)Central Deployment(集中配置)
次のVisual C++ 再頒布可能パッケージを使うのが一般的
VCRedist_x86.exe(約4.8MB)、VCRedist_x64.exe(約7MB)
Windows Update で自動更新される。
(2)Local Deployment(ローカル配置)
必要なDLL モジュールをコピーして使う。
Windows Update による自動更新はない。
(3)Statically Link(静的リンク)
Windows Update による自動更新はない。
私の目的は、Visual Studio のインストールされていないPCでVC++ で開発したアプリケーションを動かすことです。説明不足でしたが、ターゲットPCに.NetFrameWork を追加することなく、言い換えるとターゲットPCへの変更を極力ゼロにしてVC++アプリケーションを動かすことを目的としています。Windows PE 4 ではなくWindows PE 3(質問には3.1 と書きました)と限定したのは、.NetFrameWork やPowerShell 環境を排除するためです。Windows PE 3 をコールド ブートすればターゲットPCへの変更は完全ゼロでVC++アプリケーションを起動できます。この目的が達成できれば、iMac を含め世の中に存在する殆どのPCに応用可能です。
Mac PC については、thunder-bird さんから厳しいご批判を戴きましたが、私の説明不足が原因で誤解を招いたようです。結論として「(1) 再頒布可能パッケージ」は選択肢から外れます。また、当然のことですが、bootcamp を利用してWindows OS をMac PC にインストールする選択肢も除外されます。
残りの(2)と(3)の内、静的リンクは私に知識がなく、当面採用不可能で、残ったのは(2)のローカル配置です。
neKo_deuxさんご指摘の通り、C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\redist\x86\Microsoft.VC110.CRT\ フォルダーから msvcp110.dll と msvcr110.dll をVC++アプリケーションを運搬する USB メモリーなどにコピーするだけで、解決します。しかも、この DLL ファイルは、ターゲットPCにインストール不要でVC++アプリケーションと同じ場所にあれば事足ります。
以上を踏まえ、Microsoft(日本では、IT化支援センター) に(2)の使用許可を求めたところ以下の回答を得ました。
『(2)の手法は、ユーザーが開発目的で使用することを認めたもの。開発が終わったら、使用は認めないのでDLLの利用は、(1) の再頒布可能パッケージ経由で使用して欲しい。これ以上の説明はIT化支援センターではできない、後は有償の技術サポートを利用してほしい。』でneKo_deuxさんが想像された通りです。Microsoft とは、数日間協議をしましたが結局物別れです。また再頒布可能パッケージは、Windows PE 3 にはインストールできず、ライセンスに違反しない利用方法は(3) の静的リンクに限定されます。
以上の説明で私の失礼をお許しいただきますよう、お願い申し上げます。最後にお願いです。『静的リンク』の設定方法をご教授戴けませんでしょうか?neKo_deuxさんの回答にあったURLを覗きましたが、Visual Studio 2012 で同じ「全般」タグが見つかりませんでした。
「neKo_deuxさん」、「matyu1003さん」のお二人は、ノロマな私に愛想をつかされたようで、私の弁解に目や耳を貸していただけないようです。質問投稿から2週間が過ぎ、事務局から閉鎖を勧告され、この質問を一旦閉鎖せざるを得なくなりました。
5月8日付けの私の補足に追加の補足を加え、この質問をクローズさせていただきます。
当然のことですが、VC++アプリケーションには、x86とx64の2種類あります(Itanium は無視します)。コピーする DLL ファイルもx86とx64で使い分ける必要があります。投稿した補足説明に記載したコピー元はx86だけなので、x64アプリ用のコピー元を次に記載して置きます。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\redist\x64\Microsoft.VC110.CRT\
また、Mac PC でWindows PE を起動できるのは、Core i5 と Core i7 を搭載した iMac に限られます。matyu1003さんは、「IntelMac」の言葉を使い、細やかな配慮をされています。
iMac でWindows PE が起動したとしても、キーボード、マウス、NICなどのデバイス ドライバーがWindows PE 3(Windows 7)にない場合は、Windows PE 作成時に必要なデバイス ドライバーを組み込む必要があります。
「neKo_deuxさん」、「matyu1003さん」のお二人に改めて感謝の言葉を贈らせていただきます。本当にありがとうございました。
thunder-bird さん、今回の試行ではMac OS を全く使いません(HDも使いません)。MacPC は、単なる鉄の箱としての利用です。使うのは、CPU、主メモリー、キーボード、マウス、ディスプレイだけですが場合によってはNIC、共有ディスクなども使います。
以上で私の質問をクローズしますが、静的リンクは未解決なので、新しい別の質問を投稿させていただきますので、ご教示いただければ幸いです。
本当にありがとうございました。
No.3
- 回答日時:
Macの環境について分かっていないので止めておいた方がいいです。
OS、ソフトウェアに対する理解が浅すぎます。
この回答への補足
thunder-birdさん、回答ありがとうございます。neKo_deuxさんへの補足説明をご一読ください。Mac OS で動かすことは考えておりません。私の説明が不十分なため、誤解を与えてしまったことをお詫びします。
補足日時:2013/05/08 13:14No.1
- 回答日時:
Visual StudioでMFCをスタティックライブラリとして実行ファイルに組み込めばランタイムなしで動く実行ファイルができます。
Visual Studioや再頒布パッケージ等は不要になるので、これならWindows PEで動くと思います。USBブートのWinPEにすれば、USBメモリに実行ファイルを入れておいてやればいいでしょう。ただ、IntelMacでWindows PEを起動したとして、HDDにのMacOS領域にはアクセス出来ませんよ?
matyu1003さん、回答ありがとうございます。お礼が大変、大変遅れましたことお詫びします。
neKo_deuxさんへの補足説明に私の事情を記しましたので、是非ご一読ください。
また、ご指摘の通り iMac は、Windows とFormat 形式が違うので、Mac の OS 領域は見れませんね。neKo_deuxさんへの補足説明に記載しました通り、MacPCでVC++のアプリケーションを動かすことが目的です。
ご親切に感謝します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
体験版の日数制限について
-
はがきデザインキット2020が起...
-
スパイ駆除で質問したものです...
-
イラレがひらけません。
-
「ActiveX コントロールのロー...
-
【緊急】当方、Windows11を使っ...
-
DAEMON Toolsが急に起動しなく...
-
PCを起動すると大体は、
-
再起動を繰り返すのを止める方...
-
【エミュレータ】Dolphinが起動...
-
SonicStage、ConnectPlayerのOp...
-
VMware Workstationでホスト-ゲ...
-
「インストール不要のソフト」 っ...
-
Line PC版を使用できない
-
動画ファイル フリーの変換ソフ...
-
頻繁なフリーズに困っています
-
「パスとファイル名が正しいか...
-
インストール版とZIP版の違い
-
Google、Yahoo、Goo などに...
-
パソコンを新しく交換したら、C...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
付箋紙ソフトが使えません
-
体験版の日数制限について
-
PCを起動すると大体は、
-
【緊急】当方、Windows11を使っ...
-
PC用のゲームでエラーが出る
-
ソフトのシリアル番号を忘れま...
-
イラストレータが起動できなく...
-
【エミュレータ】Dolphinが起動...
-
macを使っておりますが、Discor...
-
DESTROYの使い方 DOSのブート...
-
Windows10で「ウイルスバスター...
-
イラレがひらけません。
-
Thunderbirdが正常に起動しない
-
whitebrowserが起動エラーします
-
HDDの壊れたノートパソコンをモ...
-
起動時の「XWheel load Failed」
-
win10で 「読んde!!ココ」のア...
-
HPビルダーが突然起動しない!
-
棒読みちゃんが起動できないの...
-
会社のパソコンでcubepdf utility
おすすめ情報