Anfordern der Admin-Rechner durch eine Manifestdatei?
-
Hallo Leute,
ich habe ein kleiner Problem, mein Program benötigt direkt beim Start schon Admin-Rechte (das gilt vorallem bei Vista/Windows 7).
Es ist ein Installations/Konfigurationsprogramm und deshalb benötige ich zwingend Admin-Rechte würde aber gern den Start etwas beschleunigen.
Beim Start der Exe dauert es bis zu 30 Sekunden (in denen garnichts passiert), das Windows erkennt das mein Programm die Rechte benötigt und dann kommt auch dieser "Promp".
Ich habe gelesen das durch das einbinder einer Manifestdatei, in der man angibt das man Admin-Rechte benötigt, windows nicht die ganze .exe-Datei durchsuchen muss und somit sofort weiß das es diesen Dialog (Rechte geben..) aufmacht.
Ich habe unter Visual-Studio unter Eigenschaften->Linker->Manifestdatei "Manifestdatei generieren" auf "ja" und ich könnte mir vorstellen das ich bei Manifestabhängigkeiten noch irgendwie das mit den Anfordern der Admin-Rechte reinpacken könnte.
Leider habe ich überhaupt keine Ahnung was und wie ich es reinschreiben kann.
Über eure Hilfe würde ich mich sehr freuen.
Gruß
Rudi G
-
Du meinst Admin-Rechte, denk ich?
Dann musst du dir eine Manifest-Datei erstellen, wo unter anderem das drin steht:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
-
-
Machine schrieb:
Du meinst Admin-Rechte, denk ich?
Ja mein ich, sorry.
Machine schrieb:
Dann musst du dir eine Manifest-Datei erstellen, wo unter anderem das drin steht:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
Mein Problem ist das ich nicht weiß wie genau der Rest der Manifest-Datei aussehen muss. Aber das hat sich ja mit dem nächsten Post erledigt, trotzdem vielen Dank
zwutz schrieb:
http://community.bartdesmet.net/blogs/bart/archive ....... application-by-adding-a-manifest-using-mt.exe.aspx
vielen Dank für den Link.
Leider hat das auf Anhieb nicht funktioniert, ich habe mir mal angeguckt wie die Manifest-Datei die vom Visual Studio erstellt wird aussieht und habe dann die Abhängigkeiten von da übernehmen müssen.
Jetzt sieht meine Manifest-Datei so aus und es funktioniert auch:
<?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' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*' /> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator"/> </requestedPrivileges> </security> </trustInfo> </assembly>
Da meine .exe-Datei mind. 300-500 MB groß ist (es ist ein Installer an dem die Daten nachträglich angehängt worden sind), braucht Windows trotzdem solange (ca. 30 sekunden) bis er der Meinung ist das der Promp aufgerufen werden soll.
Wenn ich im Explorer, rechts mit der Maus klicke sehe ich unter "Kompatibilität" das die Berechtigungsstufe "Als Admin ausführen" mit einem Häckchen versehen ist.
Gibt es eine andere/bessere Möglichkeit mit der Windows direkt beim klick auf die .exe bescheid bekommt das er hierfür die Admin-Rechte braucht und sofort den Promp aufkommen lassen soll?
Gruß
Rudi G
-
Bei einer Exe der Größe haben wir auf Arbeit teilweise das Problem, dass soeine Verzögerung nicht von Windows kommt, sondern von einem Virenscanner, der das komplette Teil erst scannt. Hast du dadran schonmal gedacht?
Ein extremer Kandidat für solches Verhalten ist zum Beispiel der Panda-Antivirus...
-
Machine schrieb:
Bei einer Exe der Größe haben wir auf Arbeit teilweise das Problem, dass soeine Verzögerung nicht von Windows kommt, sondern von einem Virenscanner, der das komplette Teil erst scannt. Hast du dadran schonmal gedacht?
Ein extremer Kandidat für solches Verhalten ist zum Beispiel der Panda-Antivirus...Leider ist das nicht das Problem.
Ich teste das Programm immer zuerst auf sauberen Windows-Systemen (Vista, Win7) also habe ich weder Antivirus, Firewall oder sonstige Programme darauf am laufen.
Über eure Hilfe würde ich mich freuen.
Gruß
Rudi G