4
我有一個老式的Windows GDI應用程序,用C語言編寫,正在使用Mingw工具鏈進行編譯。顯示應用程序忽略清單
我的一些用戶一直抱怨Windows Vista和Windows 7的虛擬商店,在那裏它被寫入對目錄應用程序文件不應該訪問被抽走,並存儲在別處。他們說這讓他們感到困惑,他們寧願有一個錯誤。根據微軟的文檔,防止這種情況發生的方法是添加應用程序清單。
不幸的是,這似乎沒有做任何事情。
我的清單是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>WordGrinder</description>
<assemblyIdentity version="1.0.0.0" name="WordGrinder"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
...其中提到它的資源文件是:(並不複雜,因爲你可以看到)
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "src/c/arch/win32/manifest.xml"
101 ICON DISCARDABLE "src/c/arch/win32/icon.ico"
資源文件編譯與windres並以通常的方式鏈接到我的應用程序。圖標顯示出來,所以我相信這一點至少是正確的。
我還需要做些什麼才能使清單得到遵守?
這個答案應該得到更多upvotes。我正在關注如何使用Visual Studio嵌入UAC清單的MSDN文檔,並試圖找出如何在我決定嘗試使用Google並登陸此處時如何使其適用於MingW32編譯器。 https://msdn.microsoft.com/en-us/library/bb756929.aspx –