このページの本文へ

前へ 1 2 次へ

Windows 7開発者セミナー 要点レポート

動作すればOK といかないWindows 7アプリ開発のキモ

2009年09月29日 10時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷
NECラーニングの山崎明子さん
今回のセミナーで講師を務めたNECラーニングの山崎明子さん

 マイクロソフトは現在、「Windows 7&Windows Server 2008 R2対応アプリケーションへの移行のための開発ポイント」(関連サイト)と題したセミナーを定期的に行なっている。受講料は無料で、午後から夕方にかけての半日を要する。今回、このセミナーを取材することができたので、レポートする。


新機能の紹介ではなく
移行時に問題となる点を集中解説

 Windows 7やWindows Server 2008 R2へのアプリケーション移行と聞くと、これらの新OS(オペレーティングシステム)が持つ新機能の解説がメインと捉えられがちだが、このセミナーで新機能についてはほとんど触れられない。セッションの中心になるのは、既存のアプリケーション、特に現在Windows XPをターゲットにしているアプリケーションを、Windows 7(Windows Vistaを含む)で動かすときに直面する問題点とその解消方法だ。

セミナーの模様
9月18日に新宿で行なわれたセミナーの模様

 Windows Vistaの登場時に、セキュリティーの考え方が変更され、従来よりも外部からの攻撃などに対してより強固になった。その半面、アプリケーションは従来のようになんでも実行できるわけではなく、設定された権限内のことしかできなくなる。もちろん、その回避方法も用意されてはいるが、Windows Vista以降(Windows 7含む)でちゃんとアプリケーションを動かすためには、こうしたセキュリティー機能にきちんと対応する必要がある。

 またWindows Vistaでは、フォルダーの構造などにも変更があり、ファイルパスをハードコート(変更できない文字列として情報をプログラムに格納すること)していると、問題が出ることがある。現在のWindows VistaやWindows 7では、こうした互換性問題を解消するための対策がある程度施してあるものの、恒久的なものでなく、いずれ撤廃される予定だという。

 そうなると、今は無事に動作していても(固定したパスを使う一部の)アプリケーションが将来そのままでは動かなくなる可能性もある。また、互換性を保つための仕組みは、利用者が情報を失わないための最低限のサポートであり、今後ソフトウェアを更新したときに、この互換性の仕組みがかえって問題の原因になりえるという。こうしたポイントについて、ソフトウェア開発者に細かく解説していくのが、このセミナーなのである。

セミナーのアジェンダ
セミナーのアジェンダ。今回のセミナーは概要を説明した後で、対応すべきポイントをひとつずつ説明していく。またロゴプログラムについての解説もある

 本セミナーでは、Windows 7やWindows Server 2008 R2について簡単に解説したあと、アプリケーション対応の基本的な考え方を解説。その後、具体的な注意点などの解説に入っていく内容だ。


Windows XPから
Windows Vista&7への移行ポイント

 Windows 7は、Windows Vistaのマイナーチェンジ版であり、その点でWindows Vistaとの共通点は多い。このためセミナーでは、まずWindows Vista以前をターゲットにしているアプリケーションをWindows VistaやWindows 7に移行させる際の注意点から解説している。

アプリケーションの対処方法
一口にWindows 7(Vista)への対応と言っても、アプリケーションのタイプによって基本的な対応方法が異なるという

 まずセキュリティー面での大きな変更は、Windows Vistaから「UAC」(User Account Control)が導入されたこと。これは参加者もすでに知っている人が多かったが、簡単にいうと、アプリケーションのインストールやファイル保存などの際に、システムの重要な設定を変更しようとしたとき、ユーザーに確認を求める機能だ。これにより、不正なプログラムがシステムを勝手に変更することを防げる。

 インターネットに多くのウィルスやマルウェアがあふれていて、さらにインターネット側からの不正侵入の試みが日常的に行なわれている現在では、必須ともいえる機能だ。セキュリティーソフトやファイアウォールでもこうした問題にある程度対応できるものの、開発元から情報を得て(パターンファイルのアップデートなど)、問題に対処する必要があり、場合によっては対応が間に合わない危険もある。UACはこうした危険に対する最後の「砦」といってもいい。

 そんな有意性の半面、きちんとしたアプリケーションの挙動でも、このセキュリティー機能は有効になってしまう。現実的には不正なアプリケーションとそうでないものを完全に見分ける方法がないからだ。このためアプリケーションは、正しい方法でシステム(特定のフォルダーやレジストリーなど)に対する操作を行なう必要がある。

 また、OSだけでなくアプリケーション自体も攻撃対象になり得る。アプリケーションが正しくない方法でシステムの変更を行なっていれば、そのアプリケーションを乗っ取ることで、不正な操作が可能になってしまう。どんな開発者でも、自分の作ったアプリケーションがユーザー攻撃の「踏み台」となることは望まない。そのためにどう対策すべきか? いくつか注意すべきポイントがある。このセミナーでは、こうしたポイントをひとつずつじっくり解説している。

Windows 7に対応する際の留意点
Windows 7に対応するために注意するポイントが解説された

 「わが社では当面Windows XPを使い続けるので――」とか、「Windows VistaやWindows 7の評価は社内で進めているから大丈夫」と安心してはいないだろうか。たとえ今はWindows VistaやWindows 7でも正しく動作しているように見えても、実はOS側の配慮でトラブルが表面化していないだけかもしれない。そして、その「行儀悪さ」がいつセキュリティーホールに化けるかも分からない。ソフトウェア開発や管理に携わる方は、早めに本セミナーを一度受講しておくことをお勧めしたい。


前へ 1 2 次へ

ピックアップ