Re: Fragen zu Innos Setup Handling?
Zitat:
[code=pre][Setup] DefaultDirName={code:MyConst}\My Program
Code:
Wichtig ist eigentlich der fett markierte Teil, der auf die entsprechende Funktion in der "Code"-Sektion verweist. Ähnlich wie bei deinem alten Problem könntest du auch hier wieder auf die Registry zugreifen und den entsprechenden Wert auslesen. Ggf. solltest du im Setup auch
function MyConst(Default: String): String;
begin Result := ExpandConstant('{pf}'); end;
Code:
setzen, damit der User gar keine Chance hat, ein anderes Verzeichnis zu wählen. Ist für einen Patch ohnehin die beste Lösung. Es setzt aber voraus, dass du tatsächlich in der Registry genug Infos findest, um das bereits installierte Spiel zu finden.
[Setup]
DisableDirPage=yes Du musst mal in die Hilfe schauen. Es gibt noch ein paar "Disable*"-Direktiven, mit denen du bspw. auch die Auswahl der Programmgruppe usw. verhindern kannst. Zitat:
Zitat:
Code:
Aber zugegeben, schön sieht so was nicht aus. ;)
[Setup]
WindowVisible=yes WindowShowCaption=no ; <-- optional ohne Titelzeile |
Re: Fragen zu Innos Setup Handling?
Zitat:
Ich probiere es heute abend mal aus. Was? Die Hintergründe gibt es doch heute noch bei PC Spiel-Installationen. Eigentlich kenne ich gar kein Spiel, dass keinen Vollbild-Hintergrund bei der Installation hat!? ;) |
Re: Fragen zu Innos Setup Handling?
Ich kenne es eigentlich nur noch so, dass im Hintergrund Bilder aus dem Spiel angezeigt werden. Wie sagt man: billboards? Sprich: solange die Installation läuft, solange wechseln im Hintergrund die Bilder. Dieser einfarbige Hintergrund (auch wenn er einen Farbverlauf hat) ist aber mittlerweile recht selten geworden.
|
Re: Fragen zu Innos Setup Handling?
Also das war echt das letzte mal, dass ich mit Delphi in Inno irgendwas versucht habe zu coden! :mad: Ich brings nicht.
Könnt ihr mir daher den Quellcode geben? Ich meine die Funktion, mit der man einen Pfad (das ist ein Wert) eines Unterschlüssels aus einem Schlüssel rauslesen kann. Das ganze wird in den Installpfad des Installers kopiert. Ich gebs auf, ich hasse Delphi coden!! :( |
Re: Fragen zu Innos Setup Handling?
Zitat:
Schon mal mit ISTool gearbeitet? nein! na dann schau mal hier Es nimmt dir jegliche arbeit einfach ab... |
Re: Fragen zu Innos Setup Handling?
Die von dir zitierten Dinge habe ich schon seit Ewigkeiten auf dem Kasten. ;) Das ist nicht das Problem, sondern das mit dem Registrypfad!
|
Re: Fragen zu Innos Setup Handling?
Zitat:
Zitat:
Also gut: Öffne mal deine Registry (regedit.exe) und suche unter HKEY_LOCAL_MACHINE den Pfad "Software\Microsoft\Windows\CurrentVersion" heraus. (Wie du dahin kommst, wirst du wohl wissen.) Dort findest du einen Wert namens "RegisteredOrganziation", der nachfolgend ausgelesen wird. Es kann bei NT/2000/XP auch im Schlüssel "Windows NT" anstelle von "Windows" stehen. Kann, muss aber nicht. Das ist das einzige, das du beachten musst. Hier also der Skriptcode: [code=pre]
Code:
Damit hast du den Inhalt von "RegisteredOrganziation" in deiner String-Variablen. Das gleiche Prinzip machst du nun mit deinem von dir gesuchten/gewünschten Wert. Und was du dann vorhast, das könntest du noch mal erklären:
function InitializeSetup: boolean;
var MeineStringVariable : string; begin if(RegQueryStringValue(HKEY_LOCAL_MACHINE, // Root-Schlüssel 'Software\Microsoft\Windows\CurrentVersion', // Pfad zum Wert 'RegisteredOrganization', // Wert MeineStringVariable)) then // Deine String-Variable MsgBox(MeineStringVariable,mbInformation,MB_OK); end; Zitat:
|
Re: Fragen zu Innos Setup Handling?
Ich denke, du hast mich niucht verstanden. Ichmeinte aus registry einen bestimmten wert auslesen und diesen dann in "DefaultDirName=" einsetzen. Das geht mit variablen und so, aber ich bin da selber gescheitert. Der ausgelesene Wert ist ein Pfad (könnte auch Text oder Zahlen usw. sein).... verstehste jetzt?
|
Re: Fragen zu Innos Setup Handling?
Ja, aber so was findest du in der Inno Setup-Hilfe bzw. in den mitgelieferten Beispielen. Beides wird meist unterschätzt bzw. komplett ignoriert.
Eine Möglichkeit:
Code:
was bedeutet, dass das Setup den in der Registry eingetragenen Pfad der "delphi32.exe" benutzt. Wenn es diesen Eintrag nicht gibt, wird stattdessen der Standard "%programme%\My Program" benutzt.
[b][Setup][/b]
DefaultDirName={reg:HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\Delphi32.exe,Path|{pf}\My Program} Das gleiche mit dem Umweg über die [Code]-Sektion: [code=pre][Setup] DefaultDirName={code:GetRegValue|{pf}\My Program}
Code:
Hier wird der Alternativpfad als Vorgabewert (DefaultValue) übergeben.
function GetRegValue(DefaultValue: string): string;
begin // wenn nicht gefunden, ... if(not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Windows\CurrentVersion\App Paths\Delphi32.exe', 'Path', Result)) then // ... dann den Pfad %programme% zurückliefern Result := ExpandConstant(DefaultValue); end; Und? War das nun so schwer? ;) @meuternde Moderatoren: Wie wär´s mit einem Inno Setup-Highlighter? ;) |
Re: Fragen zu Innos Setup Handling?
Sagen wir es so: darauf wäre ich NIE gekommen und so sahen meine eigenen Versuche auch nicht aus. Ich danke dir für deine Kooperation. Meine fertigen Patches werden von 100en Usern benutzt und du kannst dich freuen, einen Teil dazu beigetragen zu haben. Übrigens gutes Inno-Handbuch, was du da angelegt hast, es hat mir einiges gebracht! ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01: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