しばらく前に、MicroSoftからフリーのC++開発環境 Visual C++ 2005 Express Editionがリリースされました。これをインストールし、ウィンドウを1つ表示するだけの簡単なWindowsネイティブアプリケーションを作成しましたので、その手順をメモしておきます。
セットアップファイルは普通にダウンロードしても実行できません。ISOイメージ(なんと!)で配布されています。
私は幸いCD-Rドライブを持っていたので、Nero 7 Ultra Edition の Free Trial版という怪しげなソフトを使ってCD-Rに焼くことにしました。このソフトはインストール時に色々とシステムの設定を変えようとするので注意して下さい。
あとは焼きあがったCD-Rをもう一度ドライブに挿入すればインストールを開始できます。インストールそのものは簡単ですが、Windowsネイティブアプリケーションを開発するためには、さらにWindows Platform SDKをインストールする必要があります。
MicroSoft製Visual C++なのに、デフォルト状態でWindowsネイティブアプリケーション作れないんですか・・・。
というわけで、Windows Server 2003 SP1 Platform SDK Web InstallのPSDK-x86.exeをインストールしました。ただのWindows Platform SDKじゃないような気がしますが、これをインストールすればWindows Platform SDKもインストールされていましたので、大は小を兼ねると言うことで良しとします。
Windows Platform SDKインストール後、Visual C++の方も設定を行う必要があります。
「Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う」の手順 5の「ファイルを保存のうえ閉じて、Visual C++ 2005 Express Edition を起動します。」と書いてあるところまできっちりやっておきましょう。
なお、手順 5のところには、441行目から 444行目と書いてありますが、私が試したところでは、455行目から458行目でした。ご注意下さい。
さて、上記までの設定を行えば、Windowsネイティブアプリケーションが作成できます。
プロジェクトを作成し、Win32 コンソールアプリケーションを選んで下さい。
コンソールアプリケーションを選ぶと、それからWindows アプリケーションに設定を変更することができます。まわりくどいなぁ・・・。
上記の設定で完了すれば、スケルトンコードができます。
ウィンドウを表示できそうなところまで出来上がっているコードなので、とりあえずビルドして実行!
いやぁ冷たいツールですね。
「アプリケーションをインストールし直すとこの問題は解決される場合があります。」と書いてありますが、インストールし直してもこの問題は解決しません。プロジェクトの設定を変更する必要があります。
プロジェクトのプロパティを開き、
構成プロパティ→C/C++→コード生成→ランタイム ライブラリ→マルチスレッド デバッグ (/MTd)
と設定しましょう。Release構成の方も同様に変更しておいた方が良いでしょう。
それでもってもう一度ビルドして実行!
やーーっとできました。お疲れ様でした。
まさかダウンロードし、インストールして、ウィンドウを1つ表示するだけのアプリケーションを作るまでにここまで苦労するとは思いませんでした。MicroSoftさん、頼みますよホント・・・。
でも一応上記の手順に出てきたツールやらなんやらは全部無料です。その点はありがたいことです。
でもこれを他の人にお勧めするのはちょっと辛いですねぇ。
投稿者 MASATO : 2006年01月10日 01:30 | トラックバックMASATOさん
解決しました。
プロキシで守られたイントラネットからは、WEBインストールは
できず、SDKx86.exeなどを実行してもエラーになることが
わかりました。
結局、SDKの全ファイルをDLし、CDROMに書き、そこから
インストールしました。
どうもありがとうございました。
RESPONDをありがとうございます。
http://kkkon.hp.infoseek.co.jp/software/wMD5sum/index.shtml
にあるwMD5sumでMD5値を計算してみました。
MD5 (PSDK-x86.exe) = d357dd295c12c4ed5994945bd951c6e7
で、Masatoさんと一致しました。
計算した元ファイルのURLは、
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
(Windows® Server 2003 SP1 Platform SDK Web Install)
一方、現在、VC++ Expressから案内されるPSDKの場合は、
MD5 (PSDK-x86.exe) = ec37c69c7101cb62b90c6e731e6272f3
計算した元ファイル(PSDK-x86.exe) のURLは、
http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en
(Microsoft ® Windows Server® 2003 R2 Platform SDK Web Install)
・・・PSDKの内容は確実に新しいものになっています。
ただ、どちらのPDSK-X86.exeを実行しても、先に書いたエラーが発生する現象は変わらず。
設定を含めた当方のWinXP固有環境に何か不明の問題がありそうです。
まず、当時私がインストールしたVisual C++ 2005 Express Editionのバージョンは、以下の通りです。
Microsoft Visual Studio 2005
Version 8.0.50727.42 (RTM.050727-4200)
Microsoft .NET Framework
Version 2.0.50727
インストールされている Edition: VC Express
Microsoft Visual C++ 2005 76542-000-0000011-00125
Microsoft Visual C++ 2005
しかし、「インストールパッケージを開くことができませんでした。」というエラーメッセージから推測するに、Visual C++のバージョンよりも、PSDK-x86.exeにもっと何か根本的な原因がありそうです。
先ほど、以下の環境でPSDK-x86.exeをダウンロードして実行してみたところ、インストールには成功しました。
WindowsXP Pro. SP2、Visuak C++ 2005 Expreses未インストール
PSDK-x86.exeのMD5ハッシュ値は以下の通りでした。
d357dd295c12c4ed5994945bd951c6e7
ご参考まで。
こんばんは
DLでファイルが壊れているとは考えにくいので現在非常に難しい
問題として悩んでます。
Windows® Server 2003 SP1 Platform SDK Web Install
Overview
This is no longer the most recent edition of the Platform SDK, please download the Windows Server 2003 R2 SDK - March 2006 Edition, (see related resources).
・・・・2003SP1SDKは、もはや最新版 ではないので、2006/3月版
WinServer2003 R2 SDKを使って欲しい・・・と読めるのですが、
後者のページに行ってもPSDK-x86.exeの同じものが置いてあるんです。
なんとも変です。
VC++Express EditionもVersionが、2006年1月のものに対し、
現在のものは新しく更新されているのでしょか?
MASATOさんのVC++のVersion番号はわかるでしょうか?
私はPSDK-x86.exeのインストールは何も問題なく成功しました。
心当たりといえば、PSDK-x86.exeのダウンロードに失敗したことくらいしかありません。
ダウンロードが成功したことが確認済でしたら、ちょっと私にはお手上げです。
こんにちは dimensionと申します。
2006/10/2現在ではURLに書いたような現象でSDKx86.exeがインストールできません。
MASATOさん、わかりましたら対処方法をお教え願います。