amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Installer Problem [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

10.11.2005, 19:00 Uhr

Bladerunner
Posts: 1474
Nutzer
Ich bin im Moment dabei ein paar Installerscripts für diverse ScummVM Spiele zu schreiben. An einer Stelle komme ich nun aber nicht weiter.
Folgende Situation, ich will vom Installer aus ein Unterverzeichnis zum Suchpfad hinzufügen (dort befinden sich die Scumm Kompressionstools) dann soll ins Installationsverzeichniss gewechselt werden und von dort aus das kompressionstool gestartet werden.

Diese Befehlszeile in einem Shellscript ausgeführt funktioniert:
code:
path 'cd'/installdata ADD
CD ram:
compress_scumm_sou ATLANTIS:atlantis/monster.sou


So sieht der Teil im Installer Script aus:
code:
(run "path 'cd'/installdata ADD")
(run "CD ram:")
(run "compress_scumm_sou ATLANTIS:atlantis/monster.sou")


Nur leider funktioniert das eben nicht.
Wie kann ich mein Skript anpassen, damit das funktioniert?
--
Amiga
It's more than just a name :dance1:

[ - Antworten - Zitieren - Direktlink - ]

10.11.2005, 20:05 Uhr

Holger
Posts: 8116
Nutzer
@Bladerunner:
Probiers mal so:
code:
(set @execute-dir "Ram:")
(set #cmd-dir (expandpath "installdata/"))
(run (cat (tackon #cmd-dir "compress_scumm_sou") " ATLANTIS:atlantis/monster.sou"))


mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ Dieser Beitrag wurde von Holger am 10.11.2005 um 20:07 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

10.11.2005, 21:31 Uhr

Bladerunner
Posts: 1474
Nutzer
@Holger:
Danke, damit bin ich immerhin schon einen kleinen Schritt weiter. Leider funktioniert das ganze noch immer nicht so richtig, das Problem:
Diese Kompressionstools rufen zum komprimieren lame auf. Und das scheint irgendwie nicht zu klappen (ich habe lame im selben Verzeichnis wie die anderen tools, darüberhinaus hab ich lame aber auch noch in c: , es müsste *normalerweise* also eigentlich gefunden werden.)

Eine andere Sache, gibt es eine Möglichkeit dass das Script solange wartet, bis diese Aktion ausgeführt ist? Und wie kann ich den Fortschritt anzeigen lassen? Also normalerweise läuft das ganze ja in einer Shell ab und dort sehe ich dann was passiert. Vom Installer aber scheint keine Shell geöffnet zu werden, ich nehme an das muss ich dann manuell machen? Wie?
--
Amiga
It's more than just a name :dance1:

[ - Antworten - Zitieren - Direktlink - ]

11.11.2005, 10:42 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Bladerunner:
Eine andere Sache, gibt es eine Möglichkeit dass das Script solange wartet, bis diese Aktion ausgeführt ist?

Das ist eigentlich der Normalfall. Wenn es bei Dir nicht wartet, liegt entweder an der Installerversion oder an dem ausgeführten Tool.
Zitat:
Und wie kann ich den Fortschritt anzeigen lassen? Also normalerweise läuft das ganze ja in einer Shell ab und dort sehe ich dann was passiert. Vom Installer aber scheint keine Shell geöffnet zu werden, ich nehme an das muss ich dann manuell machen? Wie?
Nicht Shell, sondern Konsolenfenster, die shell ist nur ein im Hintergrund werkelndes Programm.
Du kannst z.B. die run-Zeile so ändern:
(run (cat (tackon #cmd-dir "compress_scumm_sou") " ATLANTIS:atlantis/monster.sou >CON:"))
Dann wird die Ausgabe in ein Fenster umgeleitet.
Du kannst es auch verschönern:
CON:x/y/breite/höhe/fenstertitel


Man kann auch Angaben weglassen, z.B.
CON:////compress_scumm_sou-Ausgabefenster

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

11.11.2005, 13:08 Uhr

Bladerunner
Posts: 1474
Nutzer
Zitat:
Original von Holger:
Das ist eigentlich der Normalfall. Wenn es bei Dir nicht wartet, liegt entweder an der Installerversion oder an dem ausgeführten Tool.


Das hat sich inzwischen geklärt :)

Zitat:
Original von Holger:
Nicht Shell, sondern Konsolenfenster, die shell ist nur ein im Hintergrund werkelndes Programm.
Du kannst z.B. die run-Zeile so ändern:
(run (cat (tackon #cmd-dir "compress_scumm_sou") " ATLANTIS:atlantis/monster.sou >CON:"))
Dann wird die Ausgabe in ein Fenster umgeleitet.
Du kannst es auch verschönern:
CON:x/y/breite/höhe/fenstertitel

Man kann auch Angaben weglassen, z.B.
CON:////compress_scumm_sou-Ausgabefenster


So hatte ich das anfänglich versucht und die Ausgabe lies sich nicht umleiten, warum auch immer.
Allerdings habe ich das ganze nun ohnehin abgeändert, weil ich ja auch das Problem mit dem nichtgefundenen lame hatte.
Ich lasse nun einfach ein shellscript vom Installer erstellen, das dann ausgeführt wird. Da klappt das auch mit lame und
die Ausgabe in CON: haut ebenfalls hin. Naja vieleicht nicht sonderlich elegant, aber es funktioniert ;)

--
Amiga
It's more than just a name :dance1:

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Installer Problem [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.