2016-09-27 36 views
-1

所以我已经做了我的尽职调查,并阅读了许多关于这个问题的SO问题,并尝试按照他们的建议去做;即使使用清单文件,Windows 10仍被报告为8.1?

Environment.OSVersion.Version.Major 
Environment.OSVersion.Version.Minor 

我已经添加了清单文件这里的当前版本):

<?xml version="1.0" encoding="utf-8"?> 
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />  
     </requestedPrivileges> 
    </security> 
    </trustInfo> 

    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
    <application> 
     <!-- A list of the Windows versions that this application has been tested on and is 
      is designed to work with. Uncomment the appropriate elements and Windows will 
      automatically selected the most compatible environment. --> 

     <!-- Windows Vista --> 
     <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" /> 

     <!-- Windows 7 --> 
     <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /> 

     <!-- Windows 8 --> 
     <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /> 

     <!-- Windows 8.1 --> 
     <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /> 

     <!-- Windows 10 --> 
     <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> 

    </application> 
    </compatibility> 

    <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher 
     DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need 
     to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should 
     also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. --> 

    <application xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <windowsSettings> 
     <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> 
    </windowsSettings> 
    </application> 

    <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) --> 
    <!-- 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
      type="win32" 
      name="Microsoft.Windows.Common-Controls" 
      version="6.0.0.0" 
      processorArchitecture="*" 
      publicKeyToken="6595b64144ccf1df" 
      language="*" 
     /> 
    </dependentAssembly> 
    </dependency> 
    --> 

</assembly> 

第二个问题: 调用这些时,我仍然得到6.2(赢8.1)当我取消清单中的Win 10行注释时,是否也需要取消对Win7/8/8.1的注释?或者因为这些特定的操作系统'大部分是相同的',那么只需要取消注释Win 10即可?

回答

1

你可以从WMI中得到这个。

Dim wmiOs As New ManagementClass("Win32_OperatingSystem") 
Dim version = wmiOs.GetInstances().Cast(Of ManagementObject).First.GetPropertyValue("Version") 

给人

10.0.14393