registry-Einträge über batchscript erzeugen

rethus

Erfahrenes Mitglied
Hallo,
ich möchte ein Programm auf einen USE-Stick installieren. Das Proramm benötigt jedoch einige DLLs, deren Aufenthaltsort in der Registry abgelegt wird.

Die entsprechenden Registry-Einträge hab ich schon mal exportiert. Dort ist natürlich der Laufwerksbuchstabe bestandteil der Pfadangabe.

Ein kleines Batch-Script, zum auslesen des aktuellen Laufwerks hab ich schon zusammengebastelt:
Code:
for /f "delims=:" %%i in ('cd') do set LW=%%i

echo Der USB-Stick benutzt den Laufwerksbuchstaben %LW%
Jetzt fehlt mir nur noch eine Idee, wie ich die Laufwerksangabe in der .reg-Datei entsprechend ändere.

Kann mir jemand einen Tipp geben, wie ich mit Hilfe der Batchdatei, die das Laufwerk ausließt die Pfadangaben in der separaten Batch-Datei ändern kann?

Zuletzt hab ich dann vor, die .reg-Datei mit "regedit.exe /s meineregdatei.reg" aufzurufen, damit die Einträge geschrieben werden...

Wird das so klappen?
 
Versuch es mal hier mit:

Code:
echo Windows Registry Editor Version 5.00>>setup.reg
echo.>>setup.reg
echo [HKEY_CURRENT_USER\Software\WasWeissIch\Software]>>setup.reg
echo "Path"="F:/irgendwas/keineahnung.exe">>setup.reg
regedit /s setup.reg
del setup.reg

Gruß soyo
 
Erstmal vielen Dank für die schnelle Antwort.

Die Idee, aus der Batch-Datei eine neue reg-Datei zu erzeugen ist super.
Allerdings hab ich das Problem, das die reg-Datei über 400 Zeilen hat.

Gibt es eine alternative dazu, jede einzelne Zeile mit einem >> setup.reg zu versehen?
Vielleicht die gesamten reg-einträge als String behandeln, und alle Platzhalter (z.B.)"z:" gegen den aktuell realten Laufwerksbuchstaben zu ersetzen?

===
PS: Wenn ich die Reg-datei einspiele, kann ich das Programm ohne Probleme aus der Windowsoberfläsche starten. Wenn ich aber direkt aus der Batch-Datei das Programm nach der erzeugung der Registry-Keys starte, macht er so, als wenn die nicht importiert wurden...

Woran kann das liegen?
 
Sind denn wirklich in 400 Schlüsseln Angaben zu den Pfadangaben? So viel hat ja nicht einmal Office :suspekt:

Nun dann, hab mich damit noch nicht beschäftigt, habe aber schon eine Idee :)
 
Das Problem mit dem ändern des Laufwerksbuchstaben habe ich jetzt mithilfe des kleinen Hilfsprogramms "change.exe (911) gelöst:
Code:
change registry.reg /FROM "z:" /TO "%LW%:" /TEXT

Was bleibt ist einzig das Problem, das beim Programmaufruf aus der Konsole, angeblich die über die Registry eingetragenen Schlüssel noch nicht gefunden werden (er mekert, das er die ein oder andere dll nicht findet, die mit dem Registry-Key eingetragen wurde), startet das Programm aber anstandslos, bei einem Klick mit der Maus auf das Programmicon.

Hat jemand einen Tipp?
 
habs gelöst, hab einfach das Verzeichnis, in dem er die dll-Dateien liegen hat mit im Startparameter übergeben:

start /D k:\hierIstDasVerzeichnis/mitDen/Dlls programm.exe

So t jetzt alles.

Vielen Dankk für die Unterstützung
 
Zurück