![]() |
Variablen Installationspfad in einer Reg.-Datei angeben
Also folgende Situation:
Ich habe ein eigenes Setup von einem Game erstellt. Wenn ich das jetzt installiere, kommt in dem AutoRun Menü, das nach der Installation erscheint, nicht der Button "Spielen" zum Vorschein sondern der Button "Installieren" (welcher aber nicht funktioniert). So nun ist die Rechnung einfach, das Spiel sucht in der Registry nach dem Installation-Pfad welches ja an sich kein Problem darstellt, einfach den Reg.-Schlüssel exportieren und im InnoSetup die Reg.-Datei angeben so dass die während der Installation geschrieben wird. Problem: Da ja nicht jeder Usern das Spiel nach zb. C:\Programme\...\... installiert sondern zb. auch nach D:\Games... kann ich nicht jedem zumuten, in der Reg.-Datei, den InstallPath von Hand anzupassen. Deshalb bräuchte ich einen variablen Wert, der automatisch die richtige Pfadangabe des Installationsordners in der Reg.-Datei schreibt. Hoffe man versteht was ich meine und bräuchte :) Gruß blizz |
Wenn der Installationspfad im Setup verfügbar ist dann kannst du das mit batch lösen.
(befehl: "reg add") Also du erstellst eine batch datei die vom Setup gestartet wird und als Parameter den Pfad mitbekommt. Diese Batch Datei erstellt dann den Schlüssel. Ansonsten sag mal was für Möglichkeiten dir in dem Setup offen stehen? |
Die Pfadangabe ist bestimmt in einer Variablen gespeichert, bzw. lässt sich in einer Variablen speichern.
Nun könntest du einfach die Reg-Datei via TextStream oder ReadLine einlesen und die Zeile entsprechend durch die Pfadangabe in der Variablen ersetzen. |
Also während des Setups kann ich sagen, das es .ini Files schreiben bzw. Reg.-Einträge in die Registry eintragen soll und das er nach der De-Installation Programme/Files ausführen soll. Installationspfade können ebenfalls, nach eigenen Wünsche, abgeändert werden.
Kommt dann in der Batchdatei nur dieser eine "reg add" Befehl oder mehr? Hab noch nich 'ne batchdatei geschrieben :o Kann mich aber an so "echo" Befehle erinnern. |
Könntest du mal dein Installationss***** posten? Damit man sehen kann, wie du mit dem Registrywert arbeitest und ob es möglich ist, eine variable Abfrage einzubauen.
Bzw. das man generell mal sieht, um welche Pfade es sich handelt. |
Klar kein Probem:
|
Dank dir, kannst du noch das Regfile posten, mit dem Wert, welcher in der Registry bei der Installation geschrieben werden soll?
Kann auch ruhig der Standardpfad sein. Ich weiss ja, dass dieser Pfad später mal zu einem vom User ausgewählten wird. (Im besten Fall) Erstmal ein wenig Überblick verschaffen - reindenken und verstehen was Anfang und Ende ist oder wie Start und Ziel im Detail definiert wird. :) //Edit: Die #defines hattest du nur zum Test drin oder? Zumindest meine IDE kann diese nicht interpretieren. |
Hier mal die Reg.-Files: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] oder [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Die #defines werden immer von InnoSetup erzeugt und werden auch mit kompiliert Das komische an den Reg.-Files ist, das ich BG_2_0_Windows_32-Bit.reg & BG_2_0_Windows_64-Bit.reg bzw. BG_2_2_Windows_32-Bit.reg & BG_2_2_Windows_64-Bit.reg nicht in InnoSetup direkt einfügen kann (die Werte habe ich manuel hinzugefügt) nur BG_2_1_Windows_32-Bit.reg & BG_2_1_Windows_64-Bit.reg ließen sich integrieren. |
Kann das sein, dass die Spiele ohne Angabe der Pfade in der Registry laufen oder fehlt der Teil bzw. das Regfile, wo die entsprechende Pfadangabe hinzeigt?
Hast du die Regfiles aus deiner Registry exportiert, nachdem du die Spiele bei dir installiert hattest? Hat deine erstellte Setuproutine am Anfang oder während der Installation durch die UAC nach Adminrechten gefragt? (Nur relevant bei Vista und Windows 7 - XP läuft sowieso bei jedem unter dem Administrator-Account :)) Wenn nicht, dann versuche mal aus Spaß das Setup mit Adminrechten zu starten, denn sobald "etwas" in HKEY_LOCAL_MACHINE schreiben möchte, werden für diesen Vorgang Adminrechte verlangt. Fragen über Fragen... :) //Edit: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] |
Macht nix solange die Fragen zum Erfolg führen, schmeißt mit Fragen nur so um euch :)
Ja die Reg.-File exportierte ich, nachdem ich Baldurs Gate II samt AddOn und Patch installiert hatte. Der erste Baldurs Gate Teil samt AddOn funktionierte ebenfalls zum Anfang nicht, nachdem ich aber aus der Registry den Schlüssel exportiert hatte und dem Setup gesagt hat, er soll während der Installation die Angaben in der Registry schreiben, funktionierte es. Hier mal die 32-Bit Reg.-File vom ersten Baldurs Gate Teil: Also da ist auch keine spezielle Pfadangabe aber ohne wollte Reg.-Eintrag wollte das Game nicht starten, mit, starte es ohne Probleme. Das Setup wird allgemein, zumindest bei mir, mit Admin-Rechten gestartet. Gruß blizz |
Zitat:
Kannst du von den anderen Teilen auch so einen Auszug, wie der im Spoiler bereitstellen? Ich denke, dann kann ich das ding hier final abändern und es dir wieder posten. |
Weiß zwar nicht ob ich das gerade richtig verstanden habe aber ich mach mal^^
Baldurs Gate 1 (für den zweiten Baldurs Gate Teil unwichtig): Baldurs Gate 2: Das sind alle Reg.-Einträge die ich habe, mehr gibt es nicht bzw. naja außer die 64-Bit Registry Einträge aber die unterscheiden sich ja nur durch den "\Wow6432Node\" Eintrag nach SOFTWARE. |
Zitat:
Super, genau das ist es, was mir noch gefehlt hat. Schade, dass ich die Spiele nicht hier habe, sonst hätte ich es gleich mal testen können. Ich hoffe es funktioniert. Füge das mal in dein Installationss***** ein und lösche vorher deine Registrydaten aus dem S***** raus. |
Hm, ne will auch noch nicht so wirklich. Es kommt immer noch der "Installieren" Button anstatt der Spielen Button zum vorschein.
|
Irgend ein Key fehlt noch oder vllt. gibt eine eine .INI Datei, in der die Pfade stehen, aber das ist jetzt mal nur ins Blaue geraten.
Ich schau mal, ob ich meine CDs finde - die müssten noch im Keller sein. Trifft sich ganz gut, dann habe ich auch mal wieder ein tolles Spiel installiert. :) |
Sorry für die späte Antwort,
jo .ini Files gibt es: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] aber daraus werde ich immo nicht so wirklich schlau :). |
Hey, hast du mal mit Process Monitor geschaut, auf welche Dateien oder Registry-Einträge der Launcher beim Start zugreift?
|
Ne das nicht aber werde es mal ausprobieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.