Windows 8

  
に対するアプリケーションの互換性を最適化する方法

一般に、マイクロソフトは各オペレーティングシステムのバージョンを更新する際に、前方互換性を維持しようとします。ただし、いくつかの例外があります。ただし、パフォーマンスを向上させるための一連の更新で、前のバージョンが全体的なパフォーマンスに影響を与えることを考慮した場合、変更することはできません。たとえば、Microsoftは以前15ビットアプリケーションの互換性サポートを削除しました。

Windows 8のクライアントとサーバーのバージョンには、互換性の面で大きな課題をもたらす多くの更新があります。これらの新しい課題のいくつかは、管理者が解決できないもので、アプリケーションの初期開発者だけが対処できます。

ほとんどの変更は「WindowsとWindows Server Developer Previewの互換性マニュアル」と呼ばれる更新されたドキュメントで説明されています。これはプログラムの互換性の問題の大部分を詳述したものです。問題は解決策によって提供されます。

以下は、プログラムの互換性に関する既知の不具合報告です。

システムのバージョン番号。はい、古い問題は新しい外観で出現しました。 windowsは特別なバージョン番号を使っているので、古いアプリケーションの中には問題を抱えているものがあり、Windows 8で定義されているバージョン番号は6.2です。これらのプログラムは、現在のWindowsによって提供されている互換モード(プログラムショートカットの互換ページなど)で実行できますが、プログラム開発者であれば、バージョン番号を確認するためにもっと注意が必要です。マイクロソフトでは、バージョン情報のチェック機能を使用することをお勧めします(より大きい、等しい、または特殊なバージョン番号を付けて)。

ヘッドレスサーバーアプリケーション。これは最も重要な変更の1つです。新しいバージョンのWindowsサーバー(主にサーバーコア)は、ヘッドレスプログラムを実行するだけでなく、グラフィカルインターフェイスを持たないプログラムをサポートするようにも設計されているためです。パフォーマンスが低い環境(リソースが広く共有されている仮想マシンなど)でグラフィカルインターフェイスをオフロードしたり、サーバーが攻撃される可能性を減らすなどの他の理由で同様の操作を実行したりすることができます。

一部のサーバープログラムは、グラフィカル環境では動作しない可能性があります。どのコマンドラインバージョンのアプリケーションも理論的にはうまく機能するはずですが、グラフィカルインターフェイスを使用してユーザーに表示されると、うまく機能しない可能性があります。現時点では、このグラフィカルインタフェースによって引き起こされる問題を解決するための良い方法はありません。そのため、グラフィカルインタフェースバージョンを持たないアプリケーションにしか使用できません。

すべてのアプリケーションをサーバーコアバージョンのオペレーティングシステムで実行する場合は、完全にテストして、非グラフィカル環境で期待通りに動作することを確認する必要があります。結果が逆になり、プログラミングについてある程度理解している場合は、既存のコードをサーバーコアプラットフォームに移行し、それらのWIN32 APIと.NET CLRがコアシステムでサポートされていることを再確認する必要があります。

.NET Framework。 Windows 8では、.NET 4.5フレームワークがデフォルトのプログラムインストールパッケージに組み込まれていますが、.NET 3.5は含まれていません。明示的にバージョン3.5のみをサポートするプログラムがある場合、スタンドアロンプ​​ログラムだけでなく、.NETのバージョンに基づくものもある場合は、この場合は手動で古いバージョンの.NETを追加する必要があります。幸いなことに、これは、異なるバージョンの.NETが同時に実行できるため、大きな互換性の問題を引き起こすことはありません。 Microsoftのドキュメントには、Windowsのアップデートに触れることなく.NET 3.5フレームワークを手動で追加する方法に関するいくつかの指示があります。

.NET 4.5は既にWindowsランタイム(WinRT)の一部であるため、Wordを使用すると、開発者は "metro"ビューを使用してアプリケーションを作成し、砂時計プログラムモデルを使用してプログラムをすばやく作成できます。 Windows 8用のサーバーアプリケーションを変更またはアップグレードしたい場合で、すでにC#またはC ++を知っているのであれば、この作業は難しくありませんが、ドキュメントで検討する価値のあることがまだいくつかあります。

4Kディスクセクター。これは手続き上の問題というよりはハードウェア上の問題ですが、それでも私たちの注意に値します。現在市場に出回っている新しい主流の新しいディスクは、一般に古い512バイトのセクタ設計の代わりに4Kセクタを使用しています。 「アドバンスドフォーマット」ディスクとしても知られている4Kセクタドライバは、512バイトセクタ用に設計されたプログラムではしばしば奇妙な問題をいくつか抱えています。前方互換性の問題は考慮されていません。 Windows 8では、ファイルセクターサイズを照会してから、コマンドラインツールを使用してボリュームサイズのスクリプトクエリをサポートするための新しいAPIが追加されています。

未署名のカーネルドライバ。サードパーティ製でもベンダ所有のものでも、カーネルドライバを使用するプログラムがある場合は、セキュリティ上の理由からWindows Serverではカーネルドライバの使用を厳密に制限し、それらを不正なソフトウェアとして扱います。デバイス用のカーネルドライバの使用に対する最大の変更は、不正なソフトウェア攻撃からマシンを保護するStandard Extended Firmware Interface(UEFI)セキュアブート機能を含みます。 UEFIセキュアブートはサーバーのオプションですが、有効にすることをお勧めします。サーバーでUEFIセキュアブートを使用したい場合は、信頼できる証明書を使用してカーネルドライバを認証することをお勧めします。それ以外の場合は、セキュアブートエントリを無効にすることをお勧めします。

Copyright © Windowsの知識 All Rights Reserved