Announcement

Collapse
No announcement yet.

Delphi Programm + Vista

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Delphi Programm + Vista

    Hi @ all.

    Ich habe ein Delphi Programm geschrieben das in Vista das ShieldIcon enthält. Woran erkennt Vista das die Applikation Admin Rechte benötigt?

    Es ist kein Manifest in der Applikation eingebunden!

    danke

  • #2
    Entweder über den Dateinamen (xxxSetupxxx, xxxInstallxxx) ober ein entsprechend erweitertes Manifiest

    Comment


    • #3
      >>Entweder über den Dateinamen (xxxSetupxxx, xxxInstallxxx) ober ein entsprechend erweitertes Manifiest<<

      Nein. Das ist es nicht.

      Setup, Install, Update sind reservierte Wörter. Das stimmt.
      Ich habe es gerade mal ausprobiert und eine leere Delphianwendung geschrieben die Updater.exe heisst.

      Diese Anwendung hat unter Vista das ShieldIcon.
      Benenne ich die Datei in Test.exe um verschwindet das ShieldIcon.

      Diese Funktionsweise geht unter Vista.

      Mein anderes Programm habe ich dann auch in Test umbenannt aber dennoch habe ich ein ShieldIcon obwohl kein Manifest in dem Programm ist.

      Hast Du noch eine Idee?

      Comment


      • #4
        Hat das Icon der Anwendung das Shield-Icon oder die Verknüfung? Ist ggf. die Verknüpfung mit "Als Admin ausführen" gekennzeichnet?

        Ansonsten ist Vista diesbezüglich vielleicht auch lernfähig, wenn es merkt, dass Du entsprechende Funktionen aufrufst.

        Sven

        Comment


        • #5
          In der Anwendung selber ist das ShieldIcon schon ohne Verknüpfung.
          Das ist Sichtbar im Explorer.

          >>Ansonsten ist Vista diesbezüglich vielleicht auch lernfähig<<

          Vielleicht trifft das ja zu, dass Vista lernfähig ist? Keine Ahnung.
          Für meine Anwendung brauche ich auch Admin Rechte das hat Vista schon richtig erkannt. Ich bin mir nur nicht sicher woran Vista das sieht.

          Oder was mir noch einfällt: Eine Komponente oder Unit hat ein Manifest eingeschleusst. Von mir ist das jedenfalls nicht!

          Kann man das irgendwie ermitteln?

          Comment


          • #6
            Originally posted by Torsten Boettcher View Post
            Ich bin mir nur nicht sicher woran Vista das sieht.
            z.B. nach erstmaligen Start oder überhaupt durch einen scan der importierten Win32-API-Funktionen.

            Comment


            • #7
              Ersteres schliesse ich aus!
              Das Programm braucht erst gar keinen Start. ShieldIcon ist sofort da wenn ich es z.B vom Netz auf den Dektop ziehe.

              Der Scan scheint dann schon beim kopieren zu laufen.

              Comment


              • #8
                Ist das Netzlaufwerk ein lokales (per Domain) eingebundenes Laufwerk. Welches Icon wird denn im Explorer in der Statuszeile angezeigt?

                Comment


                • #9
                  Oh. Jetzt wird es kompliziert.

                  Der Entwicklungsrechner hängt in der Domäne. Vista ist nicht an der Domäne angemeldet. Ich bin also mit Vista auf einem Domänennetzlaufwerk tätig.

                  Ich kopiere die Datei aber nicht direkt von Rechner zu Rechner sondern über einen shared folder in der Domain-Netzumgebung.

                  Das Icon ist schon mit ShieldIcon im Explorer unten.
                  Ich hatte da vorhin nicht drauf geachtet das es schon da war.

                  Comment


                  • #10
                    Kopier die Datai mal auf einem Memorystick mit Fat-Laufwerk?
                    Die Sicherheitseinstellungen von Windows/IE sind teilweise sehr unverständlich. Ist ja auch klar wenn man jahrelang IE-Lücken hinterherstopfen muß.

                    Comment


                    • #11
                      Ich habe es mal gemacht aber keine Änderung festgestellt.

                      Ich werde gleich mal in die leere Delphi Applikation immer eine Komponente mehr installieren die ich alle in meiner Applikation gebraucht habe. Das sind nicht viele. Vielleicht hat wirklich eine davon ein Manifest geladen.

                      Comment


                      • #12
                        Das wäre dann aber eine wirklich schlecht programmierte Komponente.

                        Ob ein Manifest in Deiner Anwendung enthalten ist, kannst Du ganz einfach mit einem Ressource-Explorer herausfinden.

                        Comment


                        • #13
                          So nun habe ich es endlich gefunden!

                          Also reservierte Namen gibt es wie Install, Setup, Update.
                          Mein Programm hiess vorher Updater.exe oder ProfileUpdater.exe

                          Eine Umbenennung in Test.exe brachte nichts. ShieldIcon blieb obwohl definitiv kein Manifest eingebunden war.

                          Es gibt also mehrere Möglichkeiten zur Lösung.

                          Meine Anwendung hat eine Projekt/Optionen/Versions Info information.
                          Darin gibt es den Punkt InternalName. Da steht bei mir Updater drinnen.
                          Deshalb kommt auch das ShieldIcon! Egal wie die exe Datei dann heisst. Und ohne Manifest.


                          Das mit dem Manifest geht aber auch noch anders.
                          Man muss es nicht erst in die Applikation hineincompilieren sondern man kann es auch danebenlegen. Das habe ich auch noch herausgefunden. War aber zufall!

                          Beispiel:

                          - Test.exe (Binärdatei)
                          - Test.exe.manifest (Textdatei des Manifest)



                          danke nochmal an alle für Eure Unterstützung.

                          Torsten

                          Comment


                          • #14
                            Das mit den Version-Infos war mir neue.
                            Da kann man nur sagen: Jeden Tag eine neue Vista-Überraschung.

                            Comment

                            Working...
                            X