"SPI:"
Diese Instruktion ist für Spezialfälle vorgesehen, die hauptsächlich während der
Testphase auftreten können. Gegenwärtig existieren folgende gültigen Einträge:
'#SPI:NoKill
Verhindert das Löschen der temporären Dateien nach dem Kompilieren;
'#SPI:ForceWrite
Ohne diese Instruktion wird beim Erstellen einer Exe-Datei geprüft, ob bereits
eine solche existiert; wenn ja, wird die neue Exe-Datei mit nachgestelltem "_" und
einer laufenden Nummer vor der Endung erzeugt. Wenn "forcewrite" gesetzt ist,
wird eine bereits existierende Exe-Datei ohne Rückfrage überschrieben.
'#SPI:NoExe
Erstellt nur die temporären Dateien, aber kompiliert nicht. Das ist hilfreich,
wenn nur die Einträge in der "dropship.ini" kontrolliert werden sollen.
Die folgenden Optionen geben dem Anwender eine Möglichkeit, auf den Prozess
der Paketierung/Extraktion einzuwirken. Grundsätzlich jedoch sollten Optionen,
die von den Voreinstellungen abweichen, mit Vorsicht und nie ohne genaue
Kenntnis der Folgen verwendet werden.
#SPI:Compress=0/1/2
"Compress=1" ist die Voreinstellung. Diese wird ohne einen Eintrag wirksam und
ist in den meisten Fälle zu empfehlen.
"Compress=0" schaltet die Kompression für dieses Paket ab, was zu einer
geringeren Prozessorauslastung beim Ver- und Entpacken führt.
"Compress=2" bewirkt eine stärkere Kompression beim Verpacken, benötigt
dafür aber wesentlich mehr Zeit und sollte nur dann eingesetzt werden, wenn die
Paketgröße (Exe-Datei) eine dominierende Rolle spielt.
#SPI:STR=MyStart.rem
Normalerweise ist die "*.rem"-Datei, von der aus kompiliert wird, auch die Datei,
die in der EXE zuerst ausgeführt wird. Mit dem STR-Parameter kann man in
Spezialfällen bestimmen, daß eine andere Datei als Startdatei verwendet wird.
#SPI:NoWait
Werden durch Ihr EXE-Paket Anwendungen gestartet, die ein Datei-Handle auf
das EXE-Zielverzeichnis legen, wird dadurch u.U. verhindert, daß die EXE das
temporäre Verzeichnis löschen und sich beenden kann. Die EXE wird dann erst
ca. 6 Minuten nach Beendigung des WinRobots-Scripts beendet, und das
Zielverzeichnis bleibt stehen. Mit der o.g. Anweisung können Sie bewirken, dass
sich die EXE sofort beendet, während das WR-Script im Zielverzeichnis noch
läuft. Sie müssen dann jedoch selbst dafür sorgen, daß die erzeugten temporären
Dateien gelöscht werden. Dazu können Sie z.B. die "killdir.exe" verwenden, die
Sie im Remote-Unterverzeichnis "\Tools\" finden.
'#SPI:TGF=<Ordnerpfad>
In seltenen Fällen funktionieren in EXE-Paketen enthaltene "Setup.exe"-
Installationsprogramme nicht, weil der Pfad des Temp-Verzeichnisses zu lang ist.
In solchen Fällen können Sie temporär ein eigenes Temp-Verzeichnis erstellen,
welches an beliebiger Stelle liegen kann (Beispiel: '#SPI:TGF=c:\mytemp).
Um sicherzugehen, dass dieses Verzeichnis nicht bereits existiert, können Sie
zusätzlich angeben:
'#SPI:UTF=1
Es wird dann innerhalb des angegebenen Zielverzeichnisses noch ein definiert
einmaliges temporäres Verzeichnis angelegt.
Alternativ können Sie mit
'#SPI:UseShortTmp=1/2 festlegen, daß das Verzeichnis, in welchem die
Remote.exe entpackt wird, entweder
- bei 1 das Wurzelverzeichnis desjenigen Laufwerks ist, von dem die Exe gestartet
wird oder
- bei 2 das Wurzelverzeichnis desjenigen Laufwerks ist, auf dem sich das
Windows-Verzeichnis befindet.
Weitere Anweisungen (Erläuterungen auf Anfrage):
'#SPI:NoMutex
'#SPI:NoVBCheck
'#SPI:ForceUpdate
'#SPI:Diskfree" =<Zahl> (MB)
"CIL:"
Mit Hilfe dieser Instruktion können Sie gezielt unmittelbar vor dem
Erstellungsprozeß einzelne Einträge in der "dropship.ini" ändern. Diese Datei
wird temporär erstellt und beinhaltet die Anweisungen für den Compiler.
Der Text nach der Instruktion muß folgenden Aufbau haben:
Sektion|Eintragsname|Eintragswert.
Es können mehrere solcher Instruktionen angegeben werden.
Mit den folgenden Einträgen (Beispiel) können Sie während des Entpackens der
Exe-Datei eine Anzeige erzeugen, welche den Fortschritt des Dekomprimierens
darstellt (zweckmäßig, wenn die Exe-Datei größere Datenmengen enthält (~100
MB und mehr):
'#CIL:rempara|progressbox|1 'Fortschrittsanzeige
einschalten
'#CIL:rempara|progresstxt1|WinRobots Automation 'Überschrift
'#CIL:rempara|progresstxt2|Loading ...
'Hinweistext
'#CIL:rempara|progresstype|4
'Anzeigestil (1...4)
Wenn nur die erste Zeile eingetragen ist, werden die anderen Werte so wie im
Beispiel dargestellt ergänzt.
"RUN:"
Wenn Sie nach der Instruktion die Zeichenfolge "exe" eintragen, wird nach dem
Kompilieren sofort die neu erstellte Exe-Datei gestartet.
Wenn der Eintrag die Zeichenfolge ".rem" enthält, wird nach dem Kompilieren
die angegebene Remote-Datei ausgeführt. Wenn Sie in dieser Remote-Datei die
eben erstellte Exe-Datei anziehen wollen, tragen Sie an dieser Stelle in der
Remote-Datei die Zeichenfolge "?runexe" ein; diese wird dann durch den
tatsächlichen Pfad zur neu erstellten Exe-Datei ersetzt.
In allen anderen Fällen wird der Eintrag nach Auflösung eventuell verwendeter
Kürzel ohne weitere Bearbeitung an die "Shell()"-Funktion zur Ausführung
übergeben.
Beispiele:
'#EXE:mytest
'#RUN:exe
'#EXC:?ws\shell32.dll
'#INC:d:\mytest\mytest.exe
'#INC:?exepfad\tools\anytool.exe
'#SPI:nokill
Zusätzliche Systemvariable (im EXE-Modus)
Auf die folgenden Parameter kann ausschliesslich im "EXE-Modus" zugegriffen
werden:
$ev1$ = startrem 'Pfad der zu startenden Remote-Datei
$ev2$ = Commandline 'Kommandozeilenparameter für die Exe-Datei
$ev3$ = EXEName 'Name der Exe-Datei
$ev4$ = EXEPfad 'Pfad der Exe-Datei
$ev5$ = Mutex1 '1 oder 0 (wurde EXE-Dateiname bereits
gestartet?)
$ev6$ = Mutex2 '1 oder 0 (wurde EXE-Dateipfad bereits
gestartet?)
$ev7$ = starttime 'Startzeit der Exe-Datei
$ev8$ = startdate 'Startdatum der Exe-Datei
$ev9$ = unpacktime
Auf die entsprechenden Werte
können Sie in der Remotedatei mit den Zeichenfolgen "$ev1$" bis "$ev9$" (von oben nach unten) zugreifen.
4. Option "Keyfile erstellen"
Alternativ zur Exe-Datei können Sie mit der Option "Keyfile erstellen" ein Set
von drei Dateien erzeugen, welche die Informationen enthalten, die notwendig
sind, um eine oder mehrere Remote-Datei(en) auf einem Rechner abzuspielen,
auf dem mindestens die Starter Edition installiert ist. Diese Dateien werden im
Pfad der aktuellen Remote-Datei abgelegt mit folgenden Namen:
1. keyfile_Name der Remote-Datei.dat
2. keyfile_Name der Remote-Datei.ini
3. start_Name der Remote-Datei.ini
Nummer 1 dient als Keyfile für die aktuelle Aufgabe und muß bei Gebrauch in
"keyfile.dat" umbenannt und ins gleiche Verzeichnis wie die Remote-Datei(en)
("\Remfiles"; nicht ins Remote-Verzeichnis!) kopiert werden.
Nummer 2 enthält Informationen über die zum Abspielen erforderlichen
Dateien, wird aber selbst zum Abspielen nicht gebraucht.
Nummer 3 enthält den Namen der aktuellen Remote-Datei und muß bei
Gebrauch in "start.ini" umbenannt werden. Sie sorgt dafür, daß bei Doppelklick
auf die "Remote.exe" diese mit der aktuellen Remote-Datei gestartet wird.
Wenn die in der "keyfile_....ini"
aufgeführten Dateien zusammen mit der
"start.ini" in einem Verzeichnis und die Remote-Datei(en) mit der "keyfile.dat" im
Unterverzeichnis "\Remfiles" abgelegt werden, kann durch Doppelklick auf die
"Remote.exe" die aktuelle Remote-Datei abgespielt werden im Rahmen der
Rechte, welche die dateierzeugende WinRobots-Version hat. Dieses Verfahren ist
vorteilhaft in der Testphase bei der Exe-Erstellung oder für die Weitergabe
einfacher Remote-Dateien, die keine zusätzliche Dateien benötigen, an Rechner,
die nur mit einer Starter Edition ausgestattet sind.
HINWEIS:
Wenn das zu kompilierende Projekt komprimierte Remote-Dateien enthält,
werden diese automatisch dekomprimiert. Das ist deshalb zweckmäßig, weil
damit vermieden wird, daß die zum Dekomprimieren erforderliche DLL mit in
das Kompilat eingebunden wird, und weil die Remote-Dateien im Prozeß des
Verpackens ohnehin komprimiert werden. Insgesamt wird dadurch die Exe-Datei
um etwa 50 kB kleiner, und der Startvorgang erfolgt schneller.
© 2006 by Delphin Software