2016-09-27 4 views
-1

그래서 처음으로 실사를했고이 문제에서 발견 한만큼 많은 SO 문제를 읽었으며 제안대로 노력했습니다.Windows 10은 매니페스트 파일을 포함하여 8.1로 여전히보고되고 있습니까?

<?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> 

두 번째 질문 : 내가 매니페스트 파일 추가 한

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

(여기 을 현재 버전의) :이 호출 할 때 난 아직도 6.2 (승 8.1)을 얻을 매니페스트에서 Win 10 라인의 주석을 제거 할 때 Win7/8/8.1의 주석 처리를 제거해야합니까? 또는 그 특정 OS가 '거의 동일'하므로, Win 10의 모든 기능이 제거되어야합니다.

답변

1

대신 WMI에서 가져올 수 있습니다.

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

10.0.14393 
를 제공