Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Versionsnummern seiner Anwendung unter Vista ermitteln? (https://www.delphipraxis.net/85283-versionsnummern-seiner-anwendung-unter-vista-ermitteln.html)

juergen 29. Jan 2007 08:57

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Wenn ich heute Abend D7 unter Vista installieren kann und sich auch meine Komponenten dann einbinden lassen, werde ich auch den ""Gegentest" machen.
Also die unter Vista kompilierte Anwendung unter XP testen.
Komme eben leider erst heute Abend dazu... :wink:

Bernhard Geyer 29. Jan 2007 09:08

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Zitat:

Zitat von Robert Marquardt
JCL 1.20? Mach besser einen Antiquitaetenhandel auf. :-)

Never change a running system :-) Reich schon wenn ich nach Update der GUI-Kompos dort wieder alles
zum laufen bringe.

Zitat:

Zitat von Robert Marquardt
Kannst du mal pruefen ob die aktuelle JCL immer noch funktioniert?

Würde ich gerne. wenn ich die Datei jcld6.inc finden würde welche in jcl.inc gezogen wird :-(

Robert Marquardt 29. Jan 2007 10:36

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
jcld6.inc wird vom Installer gebaut.

sh17 29. Jan 2007 11:14

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
wer benutzt den Installer? tss :wink:

Pfoto 1. Feb 2007 13:24

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Hallo zusammen!

ich wollte meine BPL/Programm-Version ebenfalls über die
Funktion GetFileVersionInfoSize auslesen.

Da ich kein Vista in greifbarer Nähe habe, die Frage,
was aus den oben genannten Versuchen geworden ist...

Ich kann (und will) mir nicht vorstellen, wieso MS
diese Funktion wirkungslos werden lässt, sofern es nicht
unter Win XP compiliert hat...

Sollte ich also lieber sichergehen und eine Konstante
im BPL-Plugin angeben, anstatt mich auf solche Funktionen
verlassen?
Wenn man nur die Info-Anzeige damit füttern möchte, wäre
ein Fehler ja nicht unbedingt tragisch, aber für Update-
Abgleichungen hat das u.U. fatale Folgen...



Gruß
Pfoto

raffo 1. Feb 2007 14:53

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Ich habs gerade nochmal getestet. Es geht einwandfrei. Den Fehler, den ich beim 1. Mal gemacht habe war, das ich eine Manifest Datei fest als Resource eingebunden habe - diese galt natürlich nur für Win XP. Nun habe ich die Resource aus der .dpr rausgenommen und es läuft wunderbar, er zeigt mir mit der Funktion die ich oben gepostet habe, auch die komplette Versionnummer a la 8.0.1.222 an.

Es sei also jedem gewarnt, das XP Manifest in der .dpr zu lassen, besser rausmachen und die Manifest Datei manuell beifügen (oder halt das VISTA Manifest als Resource zu nehmen).

Die Manifest ist wichtig, falls Dein Programm Admin Funktionen braucht, sonst gibts bei mir jedenfalls nen Hänger bei SQL Query Abfragen.

Ich hab ziemlich viel herumexperimentiert, aber das einzige Template wie hier funktioniert nur.

Eine Beispiel Manifest - Text im Editor einfügen - (Deine Anwendung heisst z.B. MalProgramm.exe dann heisst die Manifestdatei MalProgramm.exe.manifest) -> also speichern unter MalProgramm.exe.manifest

(Parameter nicht gesetzt, achte auf MyApplication sowie MyDescription)

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="MyApplication"
    type="win32"
/>
<description>MyDescription</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="asInvoker"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>
bei "level" können noch andere Werte eingetragen werden, jedoch weigert sich meine "noch BETA - 6000 Build" irgendwas anderes anzunehmen, das Programm startet erst gar nicht :(

Pfoto 1. Feb 2007 15:40

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Zitat:

Ich habs gerade nochmal getestet. Es geht einwandfrei.
Na das ist ja eine gute Nachricht...

Ich benutze Skin-Komponenten, brauche also kein XP-Manifest.
Müsste ja dann (eigentlich) bei mir funktionieren...

Danke für Deine schnelle Info!

Gruß
Pfoto

juergen 1. Feb 2007 19:10

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Hallo Pfoto,
leider bin ich aus zeitlichen Gründen noch nicht dazu gekommen,
D7 mit meinen notwendigen Komponenten unter Vista zu installieren.
Spätestens am Wochenende weiß ich mehr.

juergen 6. Feb 2007 21:49

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

inzwischen habe ich nun D7 unter Vista installiert bekommen und auch meine Komponenten mit einbinden können.
(habe somit auch einiges über Vista lernen "dürfen" :wink: )

Fakt ist:
- unter meinem Vista Relase Candidate 2 (!) funktioniert GetFileVersionInfo nach dem kompilieren immern noch NICHT. Als Ausgabe erscheint: unzulässige Daten
- VOR dem kompilieren ließ sich auch der Email Client (Windows Mail) nicht starten. (über ShellExecute...) Nach dem kompilieren funktionierte dieses aber.

Die Frage für mich ist nun, ob das ganze an meiner Windows-Testversion (RC 2) liegt.

Könnte vllt. jemand der schon Vista im Einsatz hat in meinem anhängenden Programm testen, ob bei ihm die Versionsnummer angezeigt wird?
Aufzurufen wäre das ganze unter | Einstellungen/Info | über diesen Rechner...
In der sich öffnenden Aboutbox wird unterhalb der Überschrift in roter Schrift die Versionsnummer angezeigt.

Achtung: werden unter | Einstellungen/Info | ... die "Einstellmöglichkeiten" ausprobiert, werden diese Einstellungen in der Regstry abgespeichert. (zu finden unter: HKEY_CURRENT_USER -> Software\SpeziellerRechner...)

raffo 7. Feb 2007 04:22

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Jürgen,

das mit dem Windows Mail liegt vielleicht daran, das er sich beim allerersten Mal ja erst einrichtet?

Also Deine Funktion der GetFileVersionInfo geht tatsächlich nicht unter VISTA. In die Registry schreibt er aber ganz brav in HKCU\Software\SpeziellerRechner.

Ich hab doch oben schon meine Version GetFileVersion gepostet, hier ist ein komplettes Projekt, das auch unter Vista funzt, egal ob unter XP oder Vista kompiliert (ab Delphi 3)!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.
Seite 2 von 3     12 3      

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