Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   UAC-Dialog: Anzeigetext für Programm festlegen (https://www.delphipraxis.net/163386-uac-dialog-anzeigetext-fuer-programm-festlegen.html)

Dawn87 27. Sep 2011 10:53

UAC-Dialog: Anzeigetext für Programm festlegen
 
Mahlzeit!

Ich habe in letzter Zeit einige Anwendungen geschrieben die über eine Manifest-Datei angeben, dass sie über Administratorrechte verfügen müssen. Dementsprechend wird vor dem Start der Anwendungen die Benutzerkontensteuerung angezeigt wo neben der Angabe des Herstellers auch der Programmname erscheint.

Bei einigen Programmen habe ich gesehen, dass der angezeigte Programmname ein Text mit einer Beschreibung der Programmfunktion ist wie z. B. etwa "Konfiguration der Benutzerkontensteuerung". Weiß jemand woher der UAC diesen Text bezieht bzw. wo ich ihn ändern kann, so dass mein Programm auch mit einer solchen Beschreibung angezeigt wird?

Grüße

Bernhard Geyer 27. Sep 2011 11:01

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von Dawn87 (Beitrag 1126931)
Bei einigen Programmen habe ich gesehen,...

Sind diese Programme evtl. alle von Microsoft?

Dawn87 27. Sep 2011 11:02

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Nein, VMware kann das z. B. auch.

Luckie 27. Sep 2011 11:04

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Also ohne groß zu überlegen würde ich sagen, das kann man im Manifest festlegen. Extrahiere doch mal ein Manifest aus einer Anwendung, die einen zusätzlichen Text anzeigt und guck, ob du da im Manifest, was findest.

Bernhard Geyer 27. Sep 2011 11:05

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
kannst du mal einen Screenshot zeigen was du genau meinst?
Also bei mir hier bekomm ich immer eine möglichkeit die UAC zu konfigurieren.

himitsu 27. Sep 2011 11:07

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von Dawn87 (Beitrag 1126931)
Bei einigen Programmen habe ich gesehen,...

Diese Anwendungen werden wohl signiert sein.

Bernhard Geyer 27. Sep 2011 11:09

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von himitsu (Beitrag 1126941)
Zitat:

Zitat von Dawn87 (Beitrag 1126931)
Bei einigen Programmen habe ich gesehen,...

Diese Anwendungen werden wohl signiert sein.

Hab diesen Link in die UAC auch auf nicht signierten Apps - War auch meine Idee bevor ichs gecheckt habe.

himitsu 27. Sep 2011 11:19

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Hmmm, ich hatte zumindestens mal gelesen, daß man mit einer Signatur das Aussehn dieses UAC-Dialogs ändern kann.

Gibt da wohl so 2-3 grundsätzliche Ansichten, von so "böse" (kenn ich nicht), über "geht so" (ist ordentlich signiert), bis "freundlich" (ist signiert und ich kenn das ... ist von mir).



Na dann bin ich mal auf des rätsels Lösung gespannt.

[add]
Im Manifest kann man mindestens noch eine Beschreibung angeben ... eventuell isses das ja schon. (Hier im Forum suchenManifestCreator)

Luckie 27. Sep 2011 11:19

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Wie gesagt, Manifest?

Bernhard Geyer 27. Sep 2011 12:29

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von Luckie (Beitrag 1126949)
Wie gesagt, Manifest?

Schon den ersten Satz des Thread-Erstellers gelesen:gruebel:

Luckie 27. Sep 2011 13:50

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1126966)
Zitat:

Zitat von Luckie (Beitrag 1126949)
Wie gesagt, Manifest?

Schon den ersten Satz des Thread-Erstellers gelesen:gruebel:

Zitat:

Mahlzeit
? :gruebel:

Ja, er benutzt ein Manifest, aber eventuell kann man im Manifest über einen zusätzliche Eintrag den Text angeben. Deswegn soll er sich mal die Manifeste von solchen Anwendungen angucken.

himitsu 27. Sep 2011 14:39

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Liste der Anhänge anzeigen (Anzahl: 1)
*gefunden*
aber ob's das Richtige/Gewünschte ist ... :gruebel:

Bernhard Geyer 27. Sep 2011 14:59

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von himitsu (Beitrag 1127030)
*gefunden*
aber ob's das Richtige/Gewünschte ist ... :gruebel:

Das kann uns nur der Thread-Ersteller verraten ...

Dawn87 27. Sep 2011 15:26

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Also der Description-Eintrag im Manifest sieht schon mal vielversprechend aus.

Ich habe meinen Rechner auf Windows 7 umgestellt und muss jetzt grad erst mal sehen, dass ich das Projekt wieder ans kompilieren bekomme. Jetzt meckert auf einmal RLINK das er meine RES-Datei nicht lesen kann. Hätt ich doch mal was ordentliches gelernt...:stupid:.

Ich wurde außerdem gefragt, ob ich nicht einen Screenshot machen könnte, von dem Text, den ich meine. Leider kann man von diesem UAC-Zeug keine Screenshots machen, da dieses auf einem SecureDesktop angezeigt wird und der diese Funktion nicht erlaubt/unterstützt.

Sobald ich etwas erreicht habe, oder kläglich gescheitert bin, melde ich mich natürlich noch einmal.

Edit: Nach Neustart der IDE gibts jetzt folgendes
Code:
[DCC Fataler Fehler] F2084 Interner Fehler: AV0BD64B2B-R6FA03AA2-0
Beste Grüße,
Stefan

Bernhard Geyer 27. Sep 2011 15:35

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Dawn87 (Beitrag 1127051)
Ich wurde außerdem gefragt, ob ich nicht einen Screenshot machen könnte, von dem Text, den ich meine. Leider kann man von diesem UAC-Zeug keine Screenshots machen, da dieses auf einem SecureDesktop angezeigt wird und der diese Funktion nicht erlaubt/unterstützt.

Bei mir geht's (ok, UAC ist nicht auf höchster Stufe):

himitsu 27. Sep 2011 15:39

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Von dem Hostsystem aus, könnte man fast alles screenshoten ( :lol: ), welches in den, in VMs laufenden Programmen, sonst nicht zugänglich wäre.

Ansonsten Handy oder Fotoapparat.

Bernhard Geyer 27. Sep 2011 15:41

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von himitsu (Beitrag 1127057)
Von dem Hostsystem aus, könnte man fast alles screenshoten ( :lol: ), welches in den, in VMs laufenden Programmen, sonst nicht zugänglich wäre.

Und im Notfall macht man einen Screenshot vom Mobiltelefon bzw. der Digitalkamera.:mrgreen:

Dawn87 27. Sep 2011 16:07

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also der Text den ich meine lautet auf Deinem Screenshot "Registrierungs-Editor".

Ich habe mittlerweile auch herausgefunden welcher Eintrag im Manifest als Quelle für diesen Text dient. Es ist...trommelwirbel..."FileDescription".

Den Eintrag hab ich mit dem Manifest-Tool von himitsu gesetzt. Der Eintrag ist nicht mit der Eigenschaft "Beschreibung" den man in der Delphi-IDE setzen kann zu verwechseln.

Natürlich wäre es jetzt noch erstrebenswert, dass eine deutsche Beschreibung erscheint, wenn das Programm auf einem deutschen OS ausgeführt wird und andernfalls eine englische. Darum kümmer ich mich dann aber morgen.

RC-File:
Code:
// created with Manifest-Creator

#define VS_VERSION_INFO     1
#define VS_VERSION_INFO     1
#define VS_MANIFEST         1
#define RT_MANIFEST         24
#define LANG_NEUTRAL        0x00
#define SUBLANG_NEUTRAL     0x00
#define VS_FFI_FILEFLAGSMASK 0x3F
#define VOS_NT              0x00040000
#define VFT_APP             1
#define VFT2_UNKNOWN        0

LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL

VS_VERSION_INFO VERSIONINFO
  FILEVERSION   0,0,0,0
  PRODUCTVERSION 1,0,0,0
  FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
  FILEFLAGS     0x00L
  FILEOS        VOS_NT
  FILETYPE      VFT_APP
  FILESUBTYPE   VFT2_UNKNOWN
  BEGIN
    BLOCK "StringFileInfo"
      BEGIN
        BLOCK "040904E4"
          BEGIN
            VALUE "CompanyName",     "ABC\0"
            VALUE "ProductName",     "Mein tolles Programm\0"
            VALUE "ProductVersion",  "1.0.0.0\0"
            VALUE "FileVersion",     "0.0.0.0\0"
            VALUE "FileDescription", "Mein tolles Programm FD\0"
            VALUE "InternalName",    "\0"
            VALUE "OriginalFilename", "\0"
            VALUE "Comments",        "Mein toller Kommentar\0"
          END
      END
    BLOCK "VarFileInfo"
      BEGIN
        VALUE "Translation", 0x0409L, 1252L
      END
  END

VS_MANIFEST RT_MANIFEST
  BEGIN
    "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n",
    "<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">\r\n",
    " <assemblyIdentity\r\n",
    "   version=\"0.0.0.0\"\r\n",
    "   processorArchitecture=\"X86\"\r\n",
    "   name=\"Private.Unknown.MySampleApp\"\r\n",
    "   type=\"Win32\"/>\r\n",
    " <description>Meine tolle Programmbeschreibung</description>\r\n",
    " <trustInfo xmlns=\"urn:schemas-microsoft-com:asm.v2\">\r\n",
    "   <security>\r\n",
    "     <requestedPrivileges>\r\n",
    "       <requestedExecutionLevel\r\n",
    "         level=\"requireAdministrator\"\r\n",
    "         uiAccess=\"false\"/>\r\n",
    "     </requestedPrivileges>\r\n",
    "   </security>\r\n",
    " </trustInfo>\r\n",
    " <dependency>\r\n",
    "   <dependentAssembly>\r\n",
    "     <assemblyIdentity\r\n",
    "       type=\"win32\"\r\n",
    "       name=\"Microsoft.Windows.Common-Controls\"\r\n",
    "       version=\"6.0.0.0\"\r\n",
    "       publicKeyToken=\"6595b64144ccf1df\"\r\n",
    "       language=\"*\"\r\n",
    "       processorArchitecture=\"*\"/>\r\n",
    "   </dependentAssembly>\r\n",
    " </dependency>\r\n",
    "</assembly>"
  END
Beste Grüße,
Mr. Threadersteller

Bernhard Geyer 27. Sep 2011 16:13

AW: UAC-Dialog: Anzeigetext für Programm festlegen
 
Zitat:

Zitat von Dawn87 (Beitrag 1127065)
Ich habe mittlerweile auch herausgefunden welcher Eintrag im Manifest als Quelle für diesen Text dient. Es ist...trommelwirbel..."FileDescription".

Wenn du diese Info im Manifest nicht setzt wird die Info aus der VersionInfo gezogen.
Ist damit einfacher das man mit 2 Manifesten in der Firma auskommt. Eine für Admin nötig und eine ohne und die weiteren Infos lässt man ganz normal über die Dateiinfos laufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.

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