Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#10

Re: VISTA - Benutzerkontensteuerung

  Alt 19. Mai 2010, 09:17
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
Ralph
  Mit Zitat antworten Zitat