将可执行文件移动到其他位置后,将忽略app.exe.manifest设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将可执行文件移动到其他位置后,将忽略app.exe.manifest设置相关的知识,希望对你有一定的参考价值。
我用MinGW构建我的Windows应用程序:
windres app.rc -O coff -o app.res
gcc -w -mwindows -o app.exe app.c app.res
这是我的app.exe.manifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.1.0.0"
processorArchitecture="x86"
name="controls"
type="win32"
/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"
/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
<gdiScaling>true</gdiScaling>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
我这样做是为了启用Windows 10的新GDI扩展。它可以正常工作,直到我将可执行文件移动到其他位置。
令人惊讶的是,复制整个目录没有帮助,因此系统不需要清单或资源文件。这条路似乎在某处硬编码。
我怎样才能解决这个问题?
谢谢
答案
原来我的表现很糟糕。它不包含xmlns:asmv3参数
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
以上是关于将可执行文件移动到其他位置后,将忽略app.exe.manifest设置的主要内容,如果未能解决你的问题,请参考以下文章
Maven:编译时将可执行文件(.exe)移动到目标文件夹中