2014-04-10 39 views
6

Tôi đang cố gắng chạy Công cụ Kiểm tra Sẵn sàng Nền tảng của Microsoft 4.6 cho Windows Server 2012: http://www.microsoft.com/en-ca/download/details.aspx?id=41676Làm thế nào để bạn thêm tệp kê khai vào ứng dụng MFC và đặt supportOS?

Tôi đang gặp sự cố. Nó phàn nàn rằng một ứng dụng MFC tôi có một biểu hiện, nhưng biểu hiện đó thiếu phần được hỗ trợ. Tôi biết làm thế nào để thêm này vào các dự án C#, nhưng làm thế nào để bạn làm điều đó trong các ứng dụng MFC?

Ứng dụng MFC hiển thị dưới "Các tệp thi hành có tệp kê khai thiếu phần được hỗ trợ".

Trả lời

6

Chỉ cần có nó. Quy trình như sau:

Nhấp chuột phải vào giải pháp của bạn, chuyển đến Thuộc tính. Xem chi tiết các thuộc tính cấu hình -> Trình liên kết -> Tệp kê khai. Đặt sau:

Tạo Manifest "Có (/ MANIFEST)"

Manifest File để "app.manifest"

Bây giờ lừa ... thêm một file mới trong ứng dụng MFC của bạn. Gọi nó là "app.manifest" khi chúng tôi đặt tên này là tên được tham chiếu ở trên. Hãy chắc chắn rằng nó có XAML biểu hiện trong nó, ví dụ:

<?xml version="1.0" encoding="utf-8"?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <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"> 
     <!-- UAC Manifest Options 
      If you want to change the Windows User Account Control level replace the 
      requestedExecutionLevel node with one of the following. 

     <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 

      Specifying requestedExecutionLevel node will disable file and registry virtualization. 
      If you want to utilize File and Registry Virtualization for backward 
      compatibility then delete the requestedExecutionLevel node. 
     --> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 

    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
    <application> 
     <!-- A list of all Windows versions that this application is designed to work with. 
     Windows will automatically select the most compatible environment.--> 

     <!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node--> 
     <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>--> 

     <!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node--> 
     <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>--> 

     <!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node--> 
     <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>--> 

     <!-- If your application is designed to work with Windows 8.1, uncomment the following supportedOS node--> 
     <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> 

    </application> 
    </compatibility> 

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

</asmv1:assembly> 

Hãy tạo cho mình một vòi nước ở mặt sau, bạn anh hùng.

Mẹo: Để xem tệp kê khai của tệp thực thi, hãy mở tệp thực thi của bạn trong Notepad ++ và cuộn xuống dưới cùng. Của nó ở phía dưới. Ít nhất, điều này làm việc cho tôi.

Các vấn đề liên quan