Moin, Moin.
Zitat:
Aber könnte es sein das dein Programm Install, Setup oder ähnliches im Programmnamen hat?
Nein, der Programmname ist "DelphiGuide.exe". Der Beitrag von Bernhard hat mich nun noch einmal verschiedene Dinge ausprobieren lassen:
Andere selbst erstellte Tools wie "rzRename" und "rzIniViewer" starten auf der VISTA VM ohne jegliche Nachfrage (obwohl sie nicht zertifiziert sind). Seltsam! Der "rzDelphiGuide", in ein anderes Verzeichnis kopiert, startete dort plötzlich ebenfalls ohne Nachfrage des
UAC! Seltsam! Was hat sich denn an der Situation geändert? Ich hatte vergessen, die Manifest-Datei ebenfalls zu kopieren! Nun noch ein Test ohne Manifest-Datei, aber die WindowsXP.res direkt gelinkt: Auch keine Abfrage!
Das ließ für mich nur einen Schluß zu:
Die Manifest-Datei ist für die ständigen Aktionen des
UAC verantwortlich!
Hier ist das nach der Vorlage von Rolf erstellte gute Stück:
Delphi-Quellcode:
<?
xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns = "urn:schemas-microsoft-
com:
asm.v1"
manifestVersion = "1.0">
<assemblyIdentity
version = "1.0.0.0"
processorArchitecture = "x86"
name = "DelphiGuide.exe"
type = "
win32"
/>
<description>
elevate execution level
</description>
<trustInfo
xmlns = "urn:schemas-microsoft-
com:
asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level = "requireAdministrator"
uiAccess = "false"
/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity
type = "
win32"
name = "Microsoft.Windows.Common-Controls"
version = "6.0.0.0"
publicKeyToken = "6595b64144ccf1df"
language = "*"
processorArchitecture = "*"
/>
</dependentAssembly>
</dependency>
</assembly>
Man beachte die Leerzeilen! In der naiven Ansicht eingefügt, diese würden (mir) die Lesbarkeit erhöhen, die Verarbeitung aber nicht stören.
Nun habe ich die Leerzeilen mal herausgenommen und war erstaunt: Optik=OK und KEINE Abfrage von UAC
//edit1: I got mad! Auch ohne Leerzeilen kommen nun wieder die Abfrage! Ach Gott, jetzt kommt ja alles durcheinander! Was ist denn an dieser Datei so falsch?
//edit2: Also ist offenbar egal wie die Datei ausschaut, ob mit/ohne Leerzeilen, ob mit/ohne zusätzliche Blanks > sobald die Manifestdatei verwendet wird, meldet sich das
UAC
//edit3: Also, was geht denn hier ab? Ich sehe in der "Anzeige" jetzt nur noch Fragmente der Datei? Das ist definitiv nicht der Inhalt, den ich hier im Editor sehe! Ich mache jetzt erst mal 'ne Pause
//edit4: Nu is alles wieder da?! - Neeeee