2016-10-21 17 views
0

私は最近、ネイティブのC++ WindowsアプリケーションがWindowsのバージョンを正しく検出できるように、マニフェストファイルが必要であることを知りました。以前は私のアプリは "Windows Vista"の "Operating System Context"の下で動作していましたが、マニフェストファイルのおかげで、実行中のOSの適切なコンテキストの下で動作します。マニフェストとsupportedOS

これは、「オペレーティングシステムのコンテキスト」が何を意味するのか、そしてなぜ私がそれを気にしなければならないのかを知るために、ウサギの穴を私に送ってきました。私は、ボンネットの下に何が起こるのかについて具体的な情報を探してきたし、私が見つけた最高のページには、次のとおりです。

https://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx

このページでは、Windows Vista(デフォルト)アプリケーションの動作が何であるかの詳細、およびどのような行動マニフェストファイルを介してWindows 7のサポートを追加すると、あなたは得ることができます。

ここに私の問題があります。私はWindows 8、2012、10、または2016でこのような情報を見つけることはできません.Windows Compatibility Cookbookを読みましたが、上記のリンクで利用できる情報の種類は含まれていません。

検索する用語は何ですか。最新のMSDNページがありますか?「オペレーティングシステムのコンテキスト」の違いを追跡できるブックマークができますか?

ありがとうございます!

+0

こんにちは。私は前にそのページを見ましたが、それは本当に高いレベルです。マニフェストファイルを作成する方法と、サポートされているOSを追加する方法を教えてくれますが、OSをサポートすることを決めた場合、実際に何が起こるかは記述されていません。たとえば、私が投稿したリンクでは、GetOverlappedResultに関する非常に具体的な詳細が表示されます.Windows 7のマニフェストサポートがある場合、1つの動作が得られます。また、Windows Vistaのデフォルトを使用すると別の動作が発生します。これらは私が発見しようとしている低レベルの詳細です。 – BigHands79

+1

あなたはこれを得るつもりはありません。 MicrosoftはWindows 10のために完全にそれをあきらめています.Windows 10のためにsupportedOS guidを使用しても、それは8.1であることがわかります。代わりに、彼らはあなたのOSを互換性を保って彼らに頼ってほしいと思っています。彼らはそれをうまくやる方法を知っています。何らかの理由で何かがサポートされていない場合、あなたのプログラムはHoloLensで動作していると言えば、エラーコードとともにそのことを知らせます。したがって、実際にプログラムをテストしたサポートOSのみを使用してください。 *あなた*がサポートできるバージョン。 –

+1

"*私のアプリがWindowsバージョンを適切に検出できるようにマニフェストファイルが必要です*" - あなたはOSのバージョン番号を取得するためにマニフェストを必要としません。表示されないバージョンを取得する方法はいくつかあります。 ['RtlGetVersion()'](https://msdn.microsoft.com/en-us/library/mt723418.aspx)などです。しかし、Windowsはあなたのアプリケーションのサポートされている機能を知っているので、Windowsはそれに応じて独自の動作を調整できるように、マニフェストを使用する必要があります。 –

答えて

0

部分的な答えは - Windowsの8のためのApplication ManifestsおよびServer 2012の上

Microsoftのページには、Windows 8 and Windows Server 2012 Compatibility Cookbookのダウンロードページに読者を指しSupportedOS要素、上のセクションがあります。このクックブックは、Windows 8.1およびWindows Server 2012 R2についても説明しています。このCookbook内では、対応するsupportedOS要素の有無によって影響を受ける、Windows 8および8.1(Windows Server 2012 & 2012 R2)に含まれるWindows機能については、「App(実行可能)マニフェスト」で説明しています。 。他のセクションでも言及されているように、supportedOSのこの文書を検索してください。

Windows 10(および暗黙的にWindows Server 2016)については、最新のWindows Compatibility Cookbookをオンラインで読むことも、this web pageからダウンロードすることもできます。残念ながら、この最新のCookbookは、Windows 10のsupportedOS要素によって新しく影響を受ける特定のWindows機能の詳細には含まれていませんが、Windows 10のさまざまな動作の変更や互換性の問題の多くがここで説明されています。

関連する問題