2017-12-20 16 views
4

컴퓨터에 클라이언트 64 비트 Windows 7이 설치되어 있습니다. 아래의 동일한 코드는 더미 응용 프로그램과 응용 프로그램에서 다른 결과를 제공합니다. 내 응용 프로그램은 그룹 프로젝트이며 25 개의 패키지가 있습니다.TOSVersion이 잘못된 결과를 나타냅니다.

TOSVersion.Name: Windows 7 
TOSVersion.ToString: Windows 7 Service Pack 1 (Version 6.1, Build 7601, 64-bit Edition) 

TOSVersion.Name: Windows XP 
TOSVersion.ToString: Windows XP Service Pack 3 (Version 5.1, Build 2600, 64-bit Edition) 

무엇이 문제의 원인 일 수 있습니까?

매니페스트 파일 설정 자동 생성. .manifest 파일은 없지만 두 프로젝트 모두에서 .res 파일에 "supportedOS"항목이 있습니다. 둘은 아래와 같이 동일한 콘텐츠를 가지고 :

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
    <application> 
     <!--The ID below indicates app support for Windows Vista --> 
     <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 
     <!--The ID below indicates app support for Windows 7 --> 
     <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> 
     <!--The ID below indicates app support for Windows 8 --> 
     <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> 
     <!--The ID below indicates app support for Windows 8.1 --> 
     <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> 
     <!--The ID below indicates app support for Windows 10 --> 
     <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>   
    </application> 
</compatibility> 
+1

응답이 애플리케이션 매니페스트에 표시 될 가능성이 높습니다. 특히 지원되는 OS 항목. –

+6

.. 또는 호환성 설정 .. –

+0

감사합니다. Sertaç가 말한대로 문제가 발생했습니다. –

답변

6

가능성이 원인 원인 compatibity 클라이언트의 컴퓨터에서 실행에 적용되는 (a shim)를 해결한다는 것입니다; 특히 WinXPSP3VersionLie 수정. TOSVersion 레코드는 GetVersionEx을 사용하여 해당 클래스 생성자에서 OS 버전을 확인합니다.이 버전은 shim이 documented으로 지정합니다.

확인할 방법 중 하나는 이벤트 로그를 검사하는 것입니다. 이벤트는 프로그램 속성 대화 상자 (support article) 또는 Program Compatibility Assistant을 통해 수정을 적용하는 사용자 또는 Application Compatibility Toolkit을 통해 기록됩니다. 실행 파일 이름을 검색 할 수 있습니다.

Event Log\Application and Services\Microsoft\Windows\Application-Experience\Program-Telemetry