次のレジストリキーをチェックして、インストーラー(NSISで作成)でWindowsバージョンをチェックしています。
HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentVersion"
MSDNの this post および this page によると、Windows 10のcurrentVersion番号は10.0である必要があります。
Windows 10 Pro Insider Previewをインストールしたばかりで、レジストリに指定されているバージョン番号は、本来の10.10ではなく6.3です。
レジストリにWindows 10を検出する別の信頼できる方法はありますか?
値CurrentVersion
を読み取る代わりに、Windows 10で新しい値CurrentMajorVersionNumber
(10)とCurrentMinorVersionNumber
(0)を読み取ります。それら 2キーレジストリからWindowsバージョンを検出するためのWindows 10の新機能 。
試してみる
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ReleaseId
それは私に10と1709を与えます。
https://arstechnica.com/information-technology/2014/11/why-windows-10-isnt-version-6-any-more-and-why-it-will-probablyのPeter Brightの記事を参照してください。 -work / 回答が表示される理由の詳細を確認します。すでに@ magicandre1981で見たように、CurrentMajorVersionNumber
キーは、必要な「10」を提供します。 10.0をSystem.Environment.OSVersion
ifから取得できます。アプリケーションマニフェストexplicitlyはWindows用のアプリを指定します10、参照記事に記載されているとおり。これがない場合、Environment.OSVersion
は6.2.9200を提供します。これはWindows 8と同じです。したがって、Windows 10バージョンは、質問の方法に応じて10.0、6.3、または6.2です。