У меня есть старомодное приложение Windows GDI, написанное на C, которое компилируется с помощью инструментальной цепочки Mingw.Манифест игнорируется в приложении mingw
Некоторые из моих пользователей жалуются на виртуальный магазин Windows Vista и Windows 7, где файлы, которые записываются в каталоги, которые приложение не должно иметь доступа, отключаются и сохраняются в другом месте. Они говорят, что это путает их, и они скорее ошибаются. Согласно документации Microsoft, способ предотвратить это - добавить манифест приложения.
К сожалению, это ничего не делает.
Мой манифест:
<?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. Я следил за документами MSDN о том, как встраивать манифест UAC с помощью Visual Studio и пытаться выяснить, как его адаптировать для компилятора MingW32, когда я решил попробовать Google и приземлился здесь. https://msdn.microsoft.com/en-us/library/bb756929.aspx –