Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   VISTA - Benutzerkontensteuerung (https://www.delphipraxis.net/151450-vista-benutzerkontensteuerung.html)

taaktaak 18. Mai 2010 17:58


VISTA - Benutzerkontensteuerung
 
Moin, Moin.

Um ein Programm in einer VM unter VISTA zu testen, muss ich sehr häufig das neu kompilierte Programm aus der Entwicklungsumgebung in einen Ordner der VM kopieren. Das ist per Batch automatisiert und macht keine Probleme. Aus dem Batch erfolgt dann auch der Aufruf des zu testenden Programms. Beim Start des zu testenden Programms kommt nun ständig diese nervige Meldung der Benutzerkontensteuerung: "Ein nicht identifiziertes Programm möchte auf den Computer zugreifen"

Frage:

Gibt es einen Weg, dem "blöden VISTA" beizubringen, dass dieses Programm keine Gefahr darstellt? Das Meckern sollte natürlich auch nicht erneut beginnen, wenn das Programm neu kompiliert und "frisch" in das VISTA-Verzeichnis kopiert wurde.

Namenloser 18. Mai 2010 18:00

Re: VISTA - Benutzerkontensteuerung
 
Das geht soweit ich weiß nicht. Du kannst nur die UAC komplett abstellen.

mkinzler 18. Mai 2010 18:01

Re: VISTA - Benutzerkontensteuerung
 
-UAC abschalten.
-Exe signieren ( mit einem Schlüssel mit Vertrauen)

taaktaak 18. Mai 2010 18:03

Re: VISTA - Benutzerkontensteuerung
 
EXE signieren - sagt mir nix, klingt aufwändig. Das einfachste wäre für diesen Fall dann ja wohl die UAC abzustellen, aber wie macht man das? Sorry, arbeite sonst nie mit VISTA

edit - selbst gefunden:
"Ausführen" > "msconfig", dort TabSheet "Tools, dann "Benutzerkontensteuerung aktivieren/deaktivieren" >> NEUSTART erforderlich

Phoenix 18. Mai 2010 18:11

Re: VISTA - Benutzerkontensteuerung
 
Diese Meldung müsste sich umgehen lassen.
Ich schätze, du kopierst das Programm über einen Netzwerk-Share da hin? Dann hat die Datei sogenannte Alternate Streams die dem OS sagen: "Du, die Datei kommt von einem nicht vertrauenswürdigen Ort. Frag lieber nach ob das so richtig ist.".
Lösche die Alternate Streams (das geht z.B. mit dem kostenlosen Tool 'Streams' von SysInternals), dann dürfte diese Nachfrage nicht mehr kommen. Da das ein Kommandozeilentool ist kannst Du das sicher genauso automatisieren wie das kopieren.

EDIT Nachtrag: Die UAC auszuschalten ist KEINE gute Idee. Die ist a) nicht umsonst da und b) bekommst Du so nicht mit, wenn es tatsächlich ein Berechtigungsproblem gäbe, was am Ende bei den richtigen Nutzern aber böse aufschlägt.

taaktaak 18. Mai 2010 18:27

Re: VISTA - Benutzerkontensteuerung
 
Hallo Phoenix,
deine Annahme ist richtig! Ich werde deinen Vorschlag testen. Das grundsätzliche Ausschalten ist keine gute Idee, das sehe ich auch so. Da ich derzeit aber lediglich die Programmoptik für die Windows-Themes korrigiere (Sch..arbeit) ist das Ausschalten aber wohl nicht schädlich. Sobald die Programmfunktionalitäten zu testen sind, da stimme ich dir zu, wäre es sehr dumm das UAC zu deaktivieren.

Allen ein herzliches Dankeschön für die Antworten!
Ich mache mich jetzt mal wieder an die (Fleiß-)Arbeit...
:hi:

H4ndy 18. Mai 2010 18:29

Re: VISTA - Benutzerkontensteuerung
 
EXE signieren ist in 10min erledigt (laesst sich ueber Kommandozeile automatisieren) und du musst im Vista nur einmal dein eigenes Zertifikat installieren, damit es als vertrauenswuerdig angesehen wird. UAC abschalten geht auch, ist aber nicht gerade best practise, aber ich denke in einerm VM vertretbar, wenn man im Moment erstmal andere Teile des Systems testen will anstatt der Absicherung gegen fehlende Rechte.

taaktaak 18. Mai 2010 21:48

Re: VISTA - Benutzerkontensteuerung
 
Moin. Moin.

Jetzt doch noch eine Rückmeldung: Habe das Tool "Stream" verwendet; leider ändert sich damit an der nervigen Sicherheitsabfrage gar nichts. Einen Fehler bei der Benutzung von "Stream" schließe ich aus, da kann man eigentlich nix falsch machen.

Offenbar ist das UAC aber auch überhaupt nicht lernfähig: Starte ich das Programm mehrfach hintereinander, erfolgt jedesmal diese Abfrage. Nach erstmaliger Bestätigung der Ungefährlichkeit des Programms könnte VISTA sich das ja eigentlich merken! Aber nix da, es wird fleißig weiter genervt.

Na, egal!
Die Eingangsfrage ist beantwortet und
für die häufigen "Optik-Kontrollen" schalte ich den Mist eben aus
:mrgreen:

Bernhard Geyer 19. Mai 2010 06:59

Re: VISTA - Benutzerkontensteuerung
 
Zitat:

Zitat von taaktaak
Offenbar ist das UAC aber auch überhaupt nicht lernfähig: Starte ich das Programm mehrfach hintereinander, erfolgt jedesmal diese Abfrage. Nach erstmaliger Bestätigung der Ungefährlichkeit des Programms könnte VISTA sich das ja eigentlich merken! Aber nix da, es wird fleißig weiter genervt.

As Designed. Bei MacOS ist das AFAIK so, aber die hatten dann bei ihrer ersten Implementierung evtl. am Programm hängende zertifikate Zerschossen.

Aber könnte es sein das dein Programm Install, Setup oder ähnliches im Programmnamen hat?

taaktaak 19. Mai 2010 09:17

Re: VISTA - Benutzerkontensteuerung
 
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 :shock:

//edit4: Nu is alles wieder da?! - Neeeee :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz