Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Herausfinden welche Version mit Inno installiert worden ist (https://www.delphipraxis.net/162323-herausfinden-welche-version-mit-inno-installiert-worden-ist.html)

v2afrank 17. Aug 2011 14:11

Herausfinden welche Version mit Inno installiert worden ist
 
Hallo,
ich habe hier ein Programm geschrieben, welches durch bedingte Compilierung in eine Vollversion und in eine eingeschränkte Version aufgeteilt ist.
Ich habe dazu ein Internetupdate gemacht, in dem unglücklicherweise beide Versionen auf den gleichen Server nachschauen ob es ein Update gibt (und auch die gleiche Updatedatei runterladen). Darum habe ich gedacht, dass ich im Inno Setup über die Check Funktion festlege welche Datei upgedatet wird. Das funktioniert auch ganz gut, ich habe jetzt aber ein Problem herauszufinden welche Version ursprünglich installiert worden ist. (Wie ich also die Checkfunktion implementieren kann). Beide Versionen legen die gleichen Dateien /Registryschlüssel an, heißen aber unterschiedlich. Sie werden auch in unterschiedlichen Verzeichnissen installiert und es ist ausgeschlossen dass ein User beide Versionen auf dem Rechner hat. Mein erster Versuch ging also über den Dateinamen der installierten Exe. Das scheitert aber daran, dass ich nicht ausschließen kann, dass der Benutzer das Instalationsverzeichnis geändert hat.
Ich denke dass ich die Version eindeutig identifiezieren kann, wenn ich an die Uninstallinformationen (UninstallDisplayName bzw. UninstallDisplayIcon) oder z.b AppPublisher rankomme. Diese Informationen stehen ja in der registry. Kann mir einer helfen wie ich die von Inno auslesen kann ?

RWarnecke 17. Aug 2011 14:43

AW: Herausfinden welche Version mit Inno installiert worden ist
 
Inno Setup schreibt entsprechende Werte in den Uninstall-Key der Registry. Dort kann man auch Versionsinformationen hinterlegen. Ich würde aber dabei über die Dateiinformationen der EXE-Datei gehen und dort für die Vollversion und die eingeschränkte Version entsprechende Werte hinterlegen.

v2afrank 18. Aug 2011 06:13

AW: Herausfinden welche Version mit Inno installiert worden ist
 
Danke, aber an die Dateiinformationen der Exe kann ich ja nicht dran kommen, da ich nicht weiß wo der User die Anwendung installiert hat. Es sei denn ich ändere das Setup so ab, dass der User erst das Verzeichnis der vorherigen Installation wählen muss. (Wenn ich so drüber nachdenke, ist das ja eigentlich auch die normale Vorgehensweise bei einem Update)
Noch mal wegen demm Uninstall Key. Liegen die immer unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall\xxxx ?

RWarnecke 18. Aug 2011 06:53

AW: Herausfinden welche Version mit Inno installiert worden ist
 
Ja, die liegen immer unter dem Key. Auch in dem Key steht das Installationsverzeichnis des Programms, wo es vom Setup installiert wurde.

himitsu 18. Aug 2011 06:59

AW: Herausfinden welche Version mit Inno installiert worden ist
 
Zitat:

Zitat von RWarnecke (Beitrag 1117707)
Ja, die liegen immer unter dem Key. Auch in dem Key steht das Installationsverzeichnis des Programms, wo es vom Setup installiert wurde.

Aber nur, wenn es das Setup dort auch abspeichert. (was ein "Ordentliches" eigentlich auch tun sollte, wenn man nicht vergißt ihm die Versionsnummer zu sagen :roll: )

v2afrank 18. Aug 2011 07:07

AW: Herausfinden welche Version mit Inno installiert worden ist
 
Daran hatte ich aber gedacht. Wenigstens etwas.
Danke für Eure Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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