2009-10-31 20 views
5

Ich versuche, das RequireAdministrator-Manifest-Flag für eine ausführbare Datei festzulegen, die ich mit CMake und Visual Studio erstelle.CMake RequireAdministrator

Irgendwelche Ideen, wie man CMake anweist, diese Option zu setzen?

Danke!

billy3

Antwort

6

versuchen Sie dies:

SET_TARGET_PROPERTIES(your_executable PROPERTIES LINK_FLAGS "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" /SUBSYSTEM:WINDOWS") 
+0

funktioniert so lange, wie Entfernen/SUBSYSTEM: Windows ... es ist eine Konsole app :) –

+0

Beachten Sie, dass diese Manifesteinstellungen scheinen nicht in den Projekteigenschaften zu erscheinen, aber sie erscheinen im Zwischenmanifest. Und sie sind in der .vcproj-Datei aufgezeichnet. (Dies ist mit VS2008). –

11

Ich schätze, dass die Frage Visual-Studio-2008 markiert ist, aber für VS2010 dies erzeugt die folgende Fehlermeldung:

Fehler MSB4030 : "level = 'requireAdministrator' uiAccess = 'false'" ist ein ungültiger Wert für den Parameter "UACUIAccess" der Task "Link". Der Parameter "UACUIAccess" ist vom Typ "System.Boolean".

Ein äquivalenter CMake-Befehl (ohne Berücksichtigung das/SUBSYSTEM: WINDOWS Teil) für VS2010 ist

SET_TARGET_PROPERTIES(your_executable PROPERTIES LINK_FLAGS "/level='requireAdministrator' /uiAccess='false'") 
+0

Danke. Ich wünschte, ich könnte es mehr als einmal aufbessern. – Abyx