Windows 2012 R2 マシン (RTM ビルド 9600) で MSI を実行すると、VersionNT プロパティが (603 ではなく) 602 に設定されます。602 が実際に正しい OS バージョンである場合、インストール時に Windows 2012 と Windows 2012 R2 をプログラムで区別するにはどうすればよいですか?
更新: Windows 2012 R2 または Windows 8.1 で MSI を直接実行すると、VersionNT が正しく 603 に設定されるように見えます。MSI がブートストラップ (win32 アプリ) によって開始されると、VersionNT が設定されます。したがって、直接実行される MSI と win32 アプリによって起動される MSI の間には矛盾があります。
Windows 10 の更新:
Windows 10 の互換性をサポートするためにブートストラップのマニフェストを更新すると、MSI の InstallUISequence は正しく VersionNT=1000 に設定されますが、InstallExecuteSequence は VersionNT=603 になります。
InstallExecuteSequence も VersionNT=1000 に設定するにはどうすればよいですか?