Windows上では古いプラットフォームで作られたアプリがたくさんあります。インストーラレスで動作させるアプリを作るためにVC++6.0で作成する場合もあります。mfc42.dllは、Win98以降OSプレにブレインストールされています。
この度、Windows11がリリースされました。はたして VC++6.0 のアプリは動作するのか、確認してみました。
- PCの準備
Windows11は、CPUの前提条件が厳しいです。しかし最新PCを購入するとタイヘンです。
まずHyper-VでWin11インストールを試みましたが、ホストPCが未対応だとNGです。
PCメーカのWindows11対応機種を確認して、「VAIO Pro PG 13 ICore5 16GHz 8250Uモデル」を導入しました。 某有名リース会社さんの放出品で、3万円代半ばでリーズナブルに用意できました。
無償アップデートてインストールは問題なし。PC型番は以下の通り。ドライバも全部当たっています。
なおiCoreの8世代目以降がWin11の条件です。かなり古いPCで Win11で販売している中古PCは、Windows Updateができないなどトラブルがあるらしいです。
2. テストアプリの作成
Win8 のPCにVC++6.0をインストールし、 VC++6.0で適当なアプリを作ります。Win10以降では、VC++6.0のIDEを起動するにはIDEのexe名変更を要しましたので、念のため本適用は控えました。
なお MSDNでは VC++4.0 までの配布で、VC++6.0は未配布です。弊方のIDEは当時のパッケージ品です。
3. テストアプリの実行
win11にexeをコピーして、起動してみます。デジタル署名などセキュリティでけられるかと思いましたが、普通に動きますね。
VC6は、 セキュリティや安定性の問題もありますが、用途次第といったところだと弊方は考えます。なんでも.netにすればよいわけではないです。なおMFCは、今だVS2022でもサポートされていて移行は簡易です。(インストーラ再構築と一連テストは必要) 効率のよい最新のVisual Stdioでデバックして、 コードだけVC6に戻す手もあります。
ということでVC6のは未だ使えます。開発環境が用意できない、手がたりない、自身がない、担当者がいなくなったなどお困りの方は、こちらよりご相談ください。