Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fehlender Pfad für Inno-Setup (https://www.delphipraxis.net/155572-fehlender-pfad-fuer-inno-setup.html)

RWarnecke 29. Okt 2010 14:07

Fehlender Pfad für Inno-Setup
 
Hallo zusammen,

ich habe mirmit Inno-Setup zwei Update-Setups erstellt. Dabei ist mir aufgefallen, dass wenn ich den Wert CreateAppDir auf no setze, der Registry-Key Inno-Setup : App Path geleert wird. Dieser wird aber in den Update-Setups abgefragt, wo der Installationspfad der Anwendung ist.
Jetzt suche ich nach einer anderen Möglichkeit den Installationspfad herauszubekommen. Das Programm schreibt keine Werte in die Registry und erstellt lediglich nur eine INI-Datei nach %APPDATA%\Programmname.

Eine Idee dabei war, dass ich mit dem Inno-Setup die Verknüpfung auslese und so den Pfad zur Startdatei extrahiere. Nur hier fehlt mir der Lösungsansatz.

Habt Ihr noch andere Lösungsansätze ?

hoika 29. Okt 2010 15:43

AW: Fehlender Pfad für Inno-Setup
 
Hallo,

warum ist denn CreateAppDir auf No ?


Heiko

RWarnecke 29. Okt 2010 17:42

AW: Fehlender Pfad für Inno-Setup
 
Damit ich Fehler vermeide, damit der Anwender beim Update-Setup nicht ein anderes Verzeichnis auswählt.

Sir Rufo 29. Okt 2010 19:24

AW: Fehlender Pfad für Inno-Setup
 
Zitat:

Zitat von RWarnecke;
Damit ich Fehler vermeide, damit der Anwender beim Update-Setup nicht ein anderes Verzeichnis auswählt.

Das Fenster mit der Pfadabfrage kannst du doch auch beim Update überspringen lassen.

RWarnecke 29. Okt 2010 20:23

AW: Fehlender Pfad für Inno-Setup
 
Wie überspringen ? Mit CreateAppDir=no wird es doch erst garnicht angezeigt.

Sir Rufo 29. Okt 2010 20:32

AW: Fehlender Pfad für Inno-Setup
 
Na wenn damit der RegKey gelöscht wird, dann setz den einfach nicht und Blende dafür das Fenster beim Update aus

Also laut InnoSetup-Doku
Code:
CreateAppDir = Yes
DisableDirPage = Auto

RWarnecke 29. Okt 2010 20:45

AW: Fehlender Pfad für Inno-Setup
 
Irgendwie stehe ich gerade völlig auf dem Schlauch. Mit CreateAppDir=no wird doch der Teil oder das Fenster ausgeblendet für die Verzeichnisauswahl. Dabei wird dann auch der Registry Wert gelöscht, was ich ja nicht will. Was mir jetzt so spontan einfallen würde, wäre das Stichwort NextPage. Das ich mit dieser Funktion die Seite für die Auswahl des Installationverzeichnisses überspringe und dafür den Parameter CreateAppDir weglasse. Das müsste man morgen mal ausprobieren, ob das wirklich funktioniert.

Wenn das wirklich funktioniert, bleibt nur noch die Frage offen, wie lese ich jetzt den Installationspfad aus, ohne den Registry Wert ?

Edit: Teste gerade Dein eingefügtes Beispiel. Habe es erst nach meinem Post gesehen.

Sir Rufo 29. Okt 2010 21:02

AW: Fehlender Pfad für Inno-Setup
 
Ja schon, aber du erreichst damit nicht das was du möchtest, denn
Zitat:

Zitat von CreateAppDir
Valid values: yes or no
Default value: yes
Description:
If this is set to no, no directory for the application will be created, the Select Destination Location wizard page will not be displayed, and the {app} directory constant is equivalent to the {win} directory constant. If the uninstall feature is enabled when CreateAppDir is no, the uninstall data files are created in the system's Windows directory.

für das was du möchtest gibt es halt
Zitat:

Valid values: auto, yes, or no
Default value: no
Description:
If this is set to yes, Setup will not show the Select Destination Location wizard page.

If this is set to auto, at startup Setup will look in the registry to see if the same application is already installed, and if so, it will not show the Select Destination Location wizard page.

If the Select Destination Location wizard page is not shown, it will always use the default directory name.

RWarnecke 29. Okt 2010 21:14

AW: Fehlender Pfad für Inno-Setup
 
Danke Sir Rufo, Du hast mich da schonmal ein kleines Stück weitergebracht. Gibt es denn eine Möglichkeit, alle LNK-Files vom Setup auszulesen und dann in den LNK-Files nachschauen, wo meine Programm.exe steht mit welchem Pfad ? Das möchte ich als Sicherheit einbauen, wenn mal wirklich der Registry-Key aus irgendeinem Grund gelöscht wird und um mein bestehendes Setup-Problem zu beheben, da ich jetzt schon ein Update-Setup mit dem Parameter CreateAppDir=no ausgeliefert habe.

Sir Rufo 29. Okt 2010 21:23

AW: Fehlender Pfad für Inno-Setup
 
Kann man bestimmt ein Script für bauen ...

aber mal ehrlich "falls der Registry-Eintrag entfernt wurde" wer sowas macht, oder wenn das ohne Usereingriff passiert, dann gibt es andere Probleme als das Update ;)

Ist also nur notwendig wenn der Setupbauer gepfuscht hat :mrgreen:


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