アプリをVista対応するためのソース移行や流用について

[戻る]
2008/02/19(火) 15:24:42
WindowsXP SP2、VisualStudio2005 VC++、MFCでアプリの開発を行っています。

今年でXPのOEM販売が終了することもあって、
現行アプリをVista上で動作させる必要が出てきました。

Vistaはまだ触ったことがないので、
VS2005 SP1 for Vistaでのリコンパイルだけで済むものなのか、
それとも、大幅なソース修正が必要なのかが掴めていません。
そのため、移行に必要な工数の見積もりも難しい状況です。

そこで、VS2005で作成したアプリをVistaに対応させるための情報を
扱ったサイトや書籍などを教えていただけますか?


去年ようやくVC++6.0の資産をVS2005に移行したばかりで、
また移行作業ってちょっと悔しいんですが(^^;、
Vista対応させるのって、VC++6.0→VS2005よりも大変なのでしょうか…。

シャノン 2008/02/19(火) 16:18:13
> Vista対応させるのって、VC++6.0→VS2005よりも大変なのでしょうか…。

XPの頃から、どれだけ真面目に作っていたかによります。
基本的に、XPで、管理者でない一般ユーザ(Usersグループに属するアカウント)で問題
なく動くように作ってあれば、それほど大変ではないと思います。

技術情報は、やはり公式を参照すべきでしょう。
http://www.microsoft.com/japan/partner/products/windowsfamily/windowsvista/logo/
default.mspx
http://www.microsoft.com/japan/partner/products/windowsfamily/windowsvista/csc/d
efault.mspx

パートナープログラムやロゴプログラムに参加できればベターですが、できなくとも、ロ
ゴ取得要件に従っておくことが推奨されます。

tetrapod 2008/02/19(火) 16:24:39
VC++6 の時点 (Win95 の時点) での Microsoft のガイドラインに忠実に従っていれば
移行作業など0だと思うわけだが・・・
実際俺が VC++6 で作ったツールは再コンパイルすらせずそのまま Vista で動作した

Win95 の時点でのガイドラインで非推奨なことをしているとか
当時は認められていたが、今の UAC 配下では認められていないことをしてるとか
そー言うことをしてないなら再コンパイルすら要らないよ

資料が欲しいっつーことで
http://bbs.wankuma.com/index.cgi?mode=al2&namber=13986

FUKU 2008/02/20(水) 09:30:23
> VS2005 SP1 for Vistaでのリコンパイルだけで済むものなのか、
必ずしもリビルドする必要は無いです。

> Vista対応させるのって、VC++6.0→VS2005よりも大変なのでしょうか…。
場合によってはUACやマニフェスト絡みで問題が出るかもしれませんが、
tetrapodさんのおっしゃる通り、普通に書いたコードなら普通に動くと
思います。心配であれば
 ・exeのプロパティで互換モードを「WindowsXP SP2」に設定
 ・デスクトップテーマをクラシック(WindowsAeroをOFF)に
 ・UACを解除
等の対策も有りでしょう。

余談となりますが、
YAMAHAのSOL2という "Vista非対応" のDAW(音楽制作)ソフトは
exeを互換モードにしても上手く動作しませんでした。
(WAVE部の音は鳴るがMIDI部の音が鳴らないというもの)

そこで、どうしたかというと
 1. インストールCDのsetup.exeのショートを作成
 2. ショートカットファイル自体を「WindowsXP SP2互換」に設定
 3. ショートカットを起動してインストール

これで問題無く使えるようになりました。
(C++Builder6も同じ方法でインストールし、今の所普通に使えています)

88 2008/02/20(水) 18:54:39
やは

2008/02/21(木) 10:21:18
[[解決]]
皆様、いろいろと情報をありがとうございます。

結局、移行の作業量は、どれだけちゃんとしたアプリを作っていたか、に
かかってくるってことでしょうか。

しかし、もともとC言語で書かれていたものを、
誰かが無理やりC++にした名残が沢山あるソースを引き継いでいるので、
ガイドラインに沿っているような気が全くしません(^^;。

ともあれ、教えていただいたURLは凄く参考になります。
まだ全部読みきれていないので、まずは読破します。

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

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