将可执行文件移动到其他位置后,将忽略app.exe.manifest设置

问题描述 投票:-1回答:1

我用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扩展。它可以正常工作,直到我将可执行文件移动到其他位置。

令人惊讶的是,复制整个目录没有帮助,因此系统不需要清单或资源文件。这条路似乎在某处硬编码。

我怎样才能解决这个问题?

谢谢

c windows winapi mingw gdi
1个回答
0
投票

原来我的表现很糟糕。它不包含xmlns:asmv3参数

<assembly xmlns="urn:schemas-microsoft-com:asm.v1"  xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
© www.soinside.com 2019 - 2024. All rights reserved.