64 位 UAC 提升的 Delphi list

标签 delphi 64-bit manifest uac elevation

此 list 中以管理员身份运行应用程序有什么不正确的地方?它在 32 位上运行良好,但与 64 位 exec 一起使用会在启动时出现错误并关闭:“应用程序无法正确启动 (0xc000007b)。单击“确定”关闭应用程序。”

编辑:问题已解决并关闭,以供将来引用:

32/64 位的工作 list ,通过项目选项/应用程序/运行时主题/自定义 list -> 选择 .manifest 文件添加它。 Delphi XE2 资源编译器似乎会因为某种原因而陷入困惑。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <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.v2">
                <security>
                        <requestedPrivileges>
                                <requestedExecutionLevel
                                       level="requireAdministrator"
                                       uiAccess="false"/>
                        </requestedPrivileges>
                </security>
        </trustInfo>
</assembly>

最佳答案

您的问题与您的 list 无关。您可以通过创建一个空应用程序并将 list 添加为自定义 list 来验证情况是否如此。

错误代码 0xc000007b 是当 64 位进程从 32 位 DLL 导入函数时得到的,这是对您的问题最合理的解释。使用Dependency Walker找出 32 位 DLL 正在解析哪些导入。

关于64 位 UAC 提升的 Delphi list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11174743/

相关文章:

delphi - 如何保存带有 UNIX 行结尾的 TStringList?

F#/FAKE - 调用 MSBuild 时如何指定 `--platform:x64`

windows - 检测另一个进程的位数(在 Windows 中)

delphi - 全方位 xml 创建 xml

delphi - 使用 ifileoperation copyitem 时提升 uac

HTML5 离线 list 停止缓存声明的页面

android - 应用程序卸载后共享首选项不会被清除?

google-chrome-extension - Chrome 扩展 list 2 和 1,兼容性

delphi - 带有登录名/密码的 Indy TIdHTTP URI 不起作用

java - APK 64 位兼容性