2016-09-27 32 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