无法使用Qt 4.8.5和VS2008设置MANIFESTUAC

时间:2013-09-26 22:40:18

标签: qt winapi uac qmake

因此,我花了大部分时间摆弄Qt 4.8.5处理MANIFESTUAC VS2008。我最终通过避免msvc_objectmodel.cpp中的特殊(读取:损坏的)处理来解决这个问题。我会发布我的解决方案作为答案,但我想知道是否有其他人遇到过此问题(并有更好的解决方案)。

相关:Qt (on Windows) setting privilege-level to "requireAdministrator"

1 个答案:

答案 0 :(得分:5)

源代码中的第1352-1371行优化了MANIFESTUAC标志的解析。我不确定他们做错了什么,但是如果你允许触发代码路径,则没有任何设置正确。我注意到EnableUAC根本没有为级别情况设置。我首先尝试将旗帜设置为无效。

只需为该选项添加额外空间,即可跳过已损坏的处理并将附加选项附加为附加参数。呼!

解决方法如下:

QMAKE_LFLAGS += " /MANIFESTUAC:level=\'requireAdministrator\'"

必须有一个更优雅的解决方案,但这似乎现在有效。