Wir gehen jetzt dahin, dass wir die Beispiel Dateien der dazugehörigen dBASE Anwendung Fish installieren möchten mit allen benötigten Dateien.
Sehen wir uns nun in unserem installierten dBASE Pfad …\dBASE\PLUS\Samples einmal um. Hier finden wir alle benötigten Dateien für diese Anwendung.
Wir wechseln nun einmal (innerhalb der jeweiligen dBASE Version) zu diesem Verzeichnis und starten das Formular Fish.wfm um alle Dateien automatisch von dBASE kompilieren zu lassen.
Benötigt werden für dieses Beispiel:
Ob wir in unserem Beispiel eine Datei oder hundert Dateien integrieren spielt erstmal eine unwesentliche Rolle das ist sowieso bei jedem anders, da jeder eine andere Applikation verteilen möchte.
Was wir machen möchten ist diese Beispielanwendung zu installieren, damit diese auch in einem anderen Verzeichnis startet.
Unsere ersten Überlegungen:
ScriptMaker benötigt eine mindest Auflösung des Monitors von: 1024 x 768 Pixel.
Nun starten wir dBASE und es erscheint nun im Befehlsfenster
eine Meldung:
on key Label F11 keyboard( "do 'C:\Programme\ScriptMaker\Bin\ScriptMaker.prg'" + chr(13) ) |
|
Das bedeutet das ScriptMaker nun aktiviert werden
kann, mittels der Funktionstaste F11 innerhalb des Befehlsfensters.
Wobei die Pfad Bezeichnung variieren kann, da
es sich um den Standartordner „PROGRAMME“ (deutsch) in der jeweiligen Landessprache
handelt. Dies ist der Pfad der mittels in Inno mit der Konstante {pf}\ScriptMaker\Bin
erreicht
wurde.
Nun erstellen wir ein kleines Startprogramm (EXE)
um diese DEO Anwendung starten zu können.
// Neues PRG-Datei: Fish.prg Local f set procedure to Fish.wfm additive f = new FISHFORM() f.mdi = false // ensure not MDI f.readModal() f.release() f = NULL close procedure Fish.wfm return |
|
Dann erstellen der EXE Datei:
In dem Befehlsfenster geben wir ein:
Nach dem klicken der F11 Taste meldet sich ScriptMaker mit einer Auswahlmöglichkeit um es zu starten.
Wir klicken jetzt auf dem Button Designer um ScriptMaker zu starten…
Nach dem starten aller Standartwerte (Fortschrittbalken wird angezeigt) erscheint ein Button auf der linken Seite um in ScriptMaker zu gelangen.
Wir sehen nun ScriptMaker welches sich auf der dem Tab Projekt befindet.
Hier fangen wir jetzt an um unsere Beispielanwendung Fish als Setup zu erstellen.
Am oberen Bildschirm können wir eine Projektnummer
und ein Projektname eingeben. Dieses ist NUR für uns damit wir wissen
um was es sich handelt.
Beim ersten Start steht dieser auf
1.0000 und der Name ist:
Neues Projekt.
Hier geben wir nun „Fish“ ein um dieses zu erstellendes Setup einen Namen zuzuweisen.
Im nächsten „Rectangle“ können wir die Einstellung seitens dBASE vornehmen. Wir können hier die Sprache der zu benutzenden Runtime auswählen und eine vorhandene dBASE Projektdatei (PRJ). Da wir keine Projektdatei für dieses Beispiel haben lassen wir es und stellen Deutsch als Runtime Sprachauswahl ein (wenn es was anderes sein sollte dann dieses).
Da ich dieses Beispiel mit der zurzeit neuesten dBASE Plus Version 2.01 mache kann bei Ihnen natürlich dB2K Runtime stehen. Ist aber für die Sprachauswahl ohne Bedeutung da ScriptMaker IMMER die aktuellsten dBASE Dateien verwendet.
Nun stellen wir die Standart Sprache des kompilierten Setup.exe ein.
Dazu klicken wir den Radiobutton Deutsch an und drücken anschließend auf dem (3. Button von oben) „A“ Button.
Es wird ein Auswahlfenster geöffnet um die deutschsprachige Datei für Inno einzuladen.
Hier wählen wir die für die aktuellste
Inno Version zuständige Sprachendatei aus: Germany304.ISL (Inno
Source Language).
Diese befindet sich im installierten ScriptMaker
Verzeichnis im Unterordner ISLv3_Messagefiles.
![]() |
Für jede ältere bzw. neuere Version benötigt Inno die korrekt dazugehörige Sprachendatei! Das heißt das wenn es eine Version 3.0.5 gibt, auch eine übersetzte Sprachdatei für diese neue Version genommen werden muss! Hierfür gibt es auch ein Utility um diese schnellst Möglich herzustellen dazu werden wir aber in einem anderem Teil zurückkommen.
|
||
Die jetzt geladene Inno Sprachdatei ist aktiviert und wird im zu erstellenden Setup Skript automatisch eingefügt.
Da ScriptMaker eine Code Sektion in dem Skript einbauen wird ist es wichtig auch ISX (My Inno Setup Extension) zu aktivieren.
Dies wird gewährleistet durch aktivieren der Checkbox und einstellen der korrekten ISX Version wenn verschiedene Versionen seitens ISX installiert wurden.
Hier sehen wir die Einstellung dass die ISX Version
3.0.4.1-beta aktiviert wurde (blauer Hintergrund) und das ISX integriert
wird durch klicken
der Checkbox ISX integrieren.
Nun haben wir die Grundeinstellungen erledigt.
ScriptMaker wird diese Einstellung nur dann abspeichern wenn
auch
im Abschluss das erstellte Skript abgespeichert wird.
Die [Setup]
Sektion
Nun wechseln wir zum nächsten Tab Setup.
Hier können wir alle Einstellungen vornehmen
die in der [Setup] Sektion
integriert werden sollen.
Dabei sind die drei Rot umrandete Eingabefelder
unbedingt erforderlich. Sollten diese irgendwann mal vergessen werden
und es wird versucht das Skript zu kompilieren wird ScriptMaker eine Fehlermeldung
ausgeben und auf dieses Feld automatisch das Fokus setzen.
Geben wir nun in dem Feld
AppName den Namen unseres Beispieles ein:
Fish.
Nach dem betätigen der Enter Taste
(Return) werden automatisch die weiter unbedingt erforderlichen
Felder mit dieser Eingabe gefüllt.
Dieses macht ScriptMaker aber nur wenn alle Eingabefelder
leer waren. Es werden keine vorhandenen Zeichen mehr überschrieben.
Nun wechseln wir zum Tab Setup-2 im Notebook auf den obersten Reitern.
Hier stellen wir die folgenden Einstellungen ein:
Compression auf
bzip 9 für maximale Komprimierung
unserer integrierten Dateien.
OutputBaseFilename auf
Fish_Setup Dies ist der Name des kompilierten
späterer Setup.exe
OutputDir steht immer Standart mäßig
auf ScriptMaker Verzeichnis Setup da wird die Datei
Fish_setup.exe hinkopiert beim erstellen.
SourceDir hier bitte das Wurzelverzeichnis
des dBASE Sample Ordners!
PrivilegesRequired auf admin da wir Registry
Änderungen durchführen (dBASE Runtime) so dass dieses Setup nur
von Administratoren installiert werden kann.
Hier können wir auch um Informationen zu den einzelnen Punkten zu erhalten IMMER die F1 Taste verwenden um für das gerade fokussierte Feld die Hilfe angezeigt zu bekommen.
Hier können auch alle möglichen Einstellungen für unser Setup einstellen wir beschränken uns aber für dieses Beispiel nur auf das wesentliche.
Da wir nun auch ein SerialKey für unser Setup einfügen möchten wechseln wir nun im Notebook auf dem obersten Reiter zu Version 3
UserInfoPage Checkbox aktivieren.
Serialnumber integrate Checkbox aktivieren
Serialnumber Hier fügen wir für
dieses Beispiel 12345 ein.
Die [Dirs] Sektion
wird hierfür nicht benötigt da hier ja nur Ordner eingefügt
werden die KEINE Dateien enthalten so wechseln wir nun weiter zu der
[Messages] Sektion.
Die [Messages]
Sektion
Da wir vorhin auf dem Tab Projekt die ISL Message Datei geändert haben müssen wir diese nun aktualisieren. ScriptMaker macht dieses nicht automatisch, da ansonsten hiermit bereits integrierte geänderte Meldungen überschrieben werden.
Dafür klicken wir auf dem Aktualisieren Button um die deutschen Texte in ScriptMaker auch zu aktivieren. Nach der Änderung wird der Button automatsch disabled.
Nun sind alle Default Texte der deutschen ISL Datei
sichtbar.
Hier können wir alle Meldungen welche beim
starten der kompilierten Fish_Setup.exe
angezeigt
werden nochmals abändern z.B. für Updates oder sonstiges.
Hier ist nur die Spezielle BeveledLabel von besondere Bedeutung dieses ist der Text der im Setup im unteren Bildschirm Bereich angezeigt wird auf den einzelnen Setup Seiten.
Hier geben wir als Beispiel den Namen unserer Anwendung und unser Copyright ein.
Nach verlassen des Custom Message mit der Tab Taste wird automatisch die Checkbox in dem Treeview aktiviert so das wir eine Übersicht unserer geänderten Meldungen erhalten.
Hier die dazugehörige Sicht innerhalb des gestarteten Setups.
Da wir auch keine Tasks, Types und Components einbauen
werden wir nun zu dem Tab Files wechseln.
Die [Files]
Sektion
Hier werden wir nun unsere benötigten Dateien einfügen.
Dafür wechseln wir im oberen Treeview auf dem Source Verzeichnis dBASE\Plus\Samples und im unterem Treeview auf {app}
Nun markieren wir im oberen Fenster unsere benötigten Dateien einzeln oder mit der STRG-Taste mehrere untereinander oder Shift für einzelne nicht hintereinander liegende Dateien auf einmal um diese in dem {app} Verzeichnis einzufügen.
Und drücken auf dem PLUS Button (orange unterlegt).
So das wir in unserem {app} Verzeichnis alle benötigten Dateien erhalten:
![]() |
Und wir fügen natürlich auch unsere neue Fish.exe Datei ein! Jetzt haben wir den Vorteil dass alle unsere WFM etc. geändert werden können und eventuell dann als Update nur dieses neue WFO Datei verteilt werden braucht!
|
||
Sollte unsere Anwendung andere Unterverzeichnisse
erhalten kann man diese einfügen unter dem Button
unter dem jeweiligen selektierten Ordner im Treeview.
Diese werden dann sofort angezeigt und können
entfernt oder auch geändert werden.
Beim laden bestehender ISS Dateien überprüft ScriptMaker automatisch alle integrierten Dateien auf Vollständigkeit. Sollten bereits Dateien von der Festplatte entfernt sein oder sich in einem anderen Verzeichnis befinden werden diese im Treeview unter Errorfiles abgelegt und eine Meldung angezeigt.
Weiterhin werden auch alle integrierten Tabellen geprüft auf vorhandene Schlüssel- und Memo Dateien und in einer Übersicht angezeigt. Hier haben wir die komplette Übersicht ob sich zum Beispiel Daten in den Tabellen vorhanden sind und gelöschte Datensätze, die vielleicht noch aus Testzwecken enthalten sind aber nicht reingehören. Hier können wir die Tabelle „zappen“ oder „packen“ um gelöschte Datensätze zu entfernen oder alle Daten zu entfernen. Ebenso können wir eine Übersicht von den enthaltenen Daten ansehen mittels „Browse“. Weiterhin gibt es Reiter um individuelle Einstellungen zu jeder Datei vorzunehmen.
Nun wechseln wir zum Tab Icons.
Die [Icons]
Section
Hier geben wir als erstes den Programm Gruppen Namen ein Beispiel Fish
Dieser erscheint dann auch automatisch in der Gruppen
Vorschau und der rote Text wechselt zur Farbe Blau.
(Ab Version ScriptMaker 3.0.2.3 für registrierte
Benutzer).
Jetzt geben wir zuerst
(1) die Gruppenbezeichnung ein und dann
wählen wir aus der Combobox (2) unsere
Fish.wfo Datei aus.
Dann holen wir uns das
Fish.ico Datei aus dem dBASE Sample Verzeichnis
mit dem betätigen des Button (3).
ScriptMaker erstellt dann automatisch den Eintrag {app}\Fish.ico.
Als letztes geben wir eine Kommentarzeile ein
(SpeedTip) (4).
Wir ändern diesen Eintrag später manuell um ein Beispiel zu sehen wie wir eine Datei starten können aus der Windows Registry mit der jeweiligen dBASE Runtime Start Datei.
Des Weiteren wollten wir Einträge erstellen für die BDE die werden wir hier nicht einfügen das machen wir anders.
Wir fügen hier nun nur noch den Eintrag zum
entfernen unserer Anwendung ein und einen Desktop Aufruf.
Wir betätigen den Button PLUS um einen
weiteren Eintrag (uninstall) zu generieren.
Dafür wählen wir in der Name: Combobox
(Gruppe)
den Eintrag „Uninstall“ aus.
Und geben in dem hellblau umrandeten Eingabefeld
(1) Uninstall ein.
Alternativ können wir natürlich hier
auch den Kommentar (Speedtip) erweitern
(4).
Einträge für den Desktop:
Dafür wählen wir in der Name: Combobox
(Gruppe) den Eintrag „Desktop“ aus.
Und geben in dem hellblau umrandeten Eingabefeld
(1) Fish ein.
Dateiname: FISH.EXE
Und hier auch den Kommentar (Speedtip)
Starten der Beispielanwendung Fish (4).
Nun wechseln wir zum unteren Tab BDE & Runtime
Die dBASE
BDE und Runtime Dateien
Hier werden wir jetzt die BDE und auch die benötigten
Runtime Dateien einfügen.
Gut auf unserem Rechner werden diese beim späteren
Aufruf nicht installiert (da sie ja bereits auf dem Rechner vorhanden sind)
aber auf jedem Rechner auf dem diese nicht vorhanden sind oder auch älter
werden diese installiert.
Hier können wir unter verschiedene Variationen auswählen um diese benötigten Dateien zu installieren.
Ich habe unter dem aktuellen dBASE Plus Verzeichnis
Runtime meine dBASEPLUSRuntimeEngine1703_de.exe
(und
die übrigen auch _en _it etc.) kopiert.
Da wir unsere Anwendung mittels
PLUSrun.exe starten möchten, da wir
ja keine andere ausführbare Datei haben, müssen wir diese
auf jeden Fall als erstes kopieren um an das installierte Verzeichnis zu
gelangen in dem dBASE installiert ist oder installiert wurde. Ansonsten
würde unser Icons Eintrag ja nicht den richtigen Pfad enthalten und
Komplikationen auftreten könnten. Das macht ScriptMaker alles automatisch
es integriert den dazugehörigen Pascal Kode für die Code Sektion
so das es kein Problem darstellt dieses zu gewährleisten.
Wie gehen wir nun vor:
Wir gehen nun auf dem oberen 2. Notebook Reiter
auf dBASE Plus Runtime (dB2K Runtime). Hier stellen wir die Runtime Engine
zur Verfügung und aktivieren den dazugehörigen Radiobutton. Wir
klicken dann die Checkbox RunBefore (Zuerst installieren) an und
die Checkbox für die BDE Group um die Gruppeneinträge
der BDE mit einzufügen in der [Icons]
Sektion.
Was macht ScriptMaker durch diese Einstellung?
ScriptMaker fügt automatisch den dazugehörigen
Pascal Kode ein und überprüft ob die Runtime bereits installiert
ist, wenn ja wird dieses als erstes ignoriert. Dann prüft es ob die
BDE vorhanden ist und ob es sich um die zurzeit aktuellsten Version handelt
(5.2.0.2) Wenn ja wird auch dieses ignoriert und die anderen Einträge
werden installiert. Wenn keine Runtime oder auch eine ältere gefunden
wird auf dem Zielrechner wird diese installiert ebenso wenn es sich um
eine ältere Version handelt.
Wird nach dem Aufruf dieser externen ausführbaren
Installation seitens des Kunden diese abgebrochen überprüft ScriptMaker
dieses und es bricht den gesamten Installationsvorgang mit einer Meldung
ab.
Da ja die Runtime und BDE vorhanden sein muss…
Sollte alles korrekt sein wird die Installation mit den anderen Einträgen fortgeführt.
Nun wechseln wir auf dem letzten Tab Script.
Das Skript
Hier sehen wir nun alle Einträge welche ScriptMaker
generiert hat.
Wir bedenken das unser Eintrag in der
[Icons] Sektion der
Fish.wfo noch nicht korrekt ist (Wird
zwar auch so gestartet dann aber unter Plus selbst) aber wir möchten
den Eintrag der wfo Datei
als Parameter verwenden und die Runtime ausführbare Datei als Start
Datei verwenden.
Dafür müssen wir uns den Pfad der installierten
Runtime holen. Dieser steht in der Registry unter dem Schlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\dBASE\PLUS\series1 RuntimePath E:\Programme\dBASE\PLUS\Runtime |
|
Oder
HKEY_LOCAL_MACHINE\SOFTWARE\dBASE\dB2K\0.1 |
|
Für dB2K.
Wir setzen nun dieses manuell in unsere
[Icons] Sektion ein:
Alter Eintrag (eine Zeile!):
Name: {group}\Fish; Filename: {app}\FISH.EXE; WorkingDir: {app};IconFilename: {app}\Fish.ico; Iconindex: 0; Comment: Starten der Beispielanwendung Fish Geänderter Eintrag {eine Zeile!}: Name: {group}\Fish; Filename: {reg:HKLM\SOFTWARE\dBASE\PLUS\series1,RuntimePath }\PLUSrun.EXE; Parameters: “““{app}\Fish.exe“““; WorkingDir: {app}; IconFilename: {app}\Fish.ico; Iconindex: 0; Comment: Starten der Beispielanwendung Fish |
|
Oder bei dB2K:
Geänderter Eintrag (eine Zeile!):
Name: {group}\Fish; Filename: {reg:HKLM\SOFTWARE\dBASE\dB2K\0.1,RuntimePath }\db2krun.EXE; Parameters: “““{app}\Fish.exe“““; WorkingDir: {app}; IconFilename: {app}\Fish.ico; Iconindex: 0; Comment: Starten der Beispielanwendung Fish |
|
Das gleiche können wir auch für den Desktop
Eintrag machen brauchen wir aber normal nicht da die gestartete
EXE Datei automatisch auch die jeweilige
Runtime startet. Dieses ist nur ein Beispiel das dieses auch möglich
ist.
Sollten Leerzeichen innerhalb des Pfades („was
wir ja nicht wissen da der Benutzer sich seinen Pfad selber auswählt)
so muss dieser Übergabe Parameter in Anführungszeichen stehen.
Dieses macht Inno so: um eine Anführungszeichen zu erhalten muss dieses
in Anführungszeichen stehen, deshalb “““.
Nun wäre unsere Installation des Beispieles
für den ersten Test bereit!
Wir können nun auf dem Tab Script
ISX starten und auf dem in der oberen Leiste grünen rechts Pfeil klicken
um dieses zu testen.
Hierbei wird das Setup erstellt und anschließend
automatisch gestartet oder wir klicken auf dem kompilieren Button auf dem
Tab Script um das soeben erstellte Inno Sourcescript zu kompilieren
und bestätigen anschließend die Frage Meldung mit Ja um
unser Setup zu starten aus ScriptMaker heraus.
![]() |
Dieses erstellte Script kann nur mit ISX kompiliert werden oder mit IsTools da hier eine Code Sektion integriert ist und diese Sektion in Inno nicht unterstützt wird!
|
||
Nach dem starten der Installation erscheinen folgende Meldungen da das Setup dieses in der integrierten Code Sektion ermittelt und festgestellt hat:
Und es wird die integrierte Runtime von dBASE daher NICHT aufgerufen.
Bei der Installation wird um die Eingabe des SerialKeys 12345 gebeten um diese bis zum Ende auszuführen.
Es erstellt nun dieses Beispiel in dem Benutzer definierten und gewählten Pfad und diese Programmgruppen Einträge.
Und ein Desktop Icon:
Wenn wir nun unsere gerade installierte Anwendung
starten erscheint seitens dBASE eine Fehlermeldung das die intern
verwendeten Grafiken nicht gefunden werden, da diese mit einem SourceAlias
programmiert wurden welche in der EXE Datei nicht gefunden werden.
Also können wir unser Setup erweitern und
diese fehlenden benötigten Grafiken auch einbinden in der [Files]
Sektion.
Diese Grafiken kopieren wir alle in demselben
Verzeichnis wie unsere Anwendung auch in {app}.
Diese sind:
In ...dBASE\
dBASE\PLUS\Media\Images\ oder in
...dBASE\dB2K\Ole Verzeichnis
Danach sollte unsere Beispielanwendung
korrekt starten.
![]() |
Ich weiss jetzt NICHT ob noch irgendetwas fehlt, da dieses nur ein Beispiel sein sollte um zu zeigen wie man eine Applikation mittels ScriptMaker und Inno erstellen kann. Jeder weiss selber alles von seiner eigenen Anwendung die er weitergeben möchte!
|
||
Link des Beispiel Skriptes für dBASE PLUS:
PLUS
Link des Beispiel Skriptes für dBASE dB2K:
dB2K
Hierbei ist zu beachten das der Pfad von dBASE korrekt ist da dieser auf dem Verzeichnis meines Computers zeigt daher bitte anpassen!
Wir wollten zusätzlich noch einen Sound integrieren
und einen BDE Alias (Database) für diese Anwendung obwohl dieses nicht
unbedingt benötigt wird. Nur um zu zeigen wie dieses zu erstellen
ist.
BDE Alias
Hier gehen wir nun auf dem unteren Reiter in ScriptMaker
auf BDE & Runtime
Und auf dem obigen Reiter BDE
Hier sehen wir im oberen Teil des Notebooks die
Möglichkeit um einen Alias einzurichten.
Hier geben wir im Namen Eingabefeld den Alias
TestAliasForFish (Database Name) ein als
Pfad lassen wir diesen auf {app} da
wir ja keine anderen Unterverzeichnisse haben (man kann aber auch hier
Unterverzeichnisse eingeben). Unter Driver geben wir dBASE ein. Und klicken
die Checkbox zum löschen an, damit wenn dieser Alias bereits bestehen
sollte vorher gelöscht wird bevor er neu erstellt wird und haben somit
einen BDE Alias erstellt.
Wenn weitere benötigt werden können
wir dieses mit dem Plus Button machen.
Nun fügt ScriptMaker alle benötigten Einstellungen und Source in unserem Script ein.
Und in der BDE ist nach dem installieren dieser Eintrag integriert.
Hier muss es sich um eine
WAV Datei handeln um diesen in der Installation
nach dem Aufruf des Setups zu starten handeln.
Wir können hier jede x beliebige
WAV Datei einbinden.
Hier zu gehen wir in der Menüleiste |
Sonstiges | Sound integrieren und klicken darauf.
Wir markieren die Checkbox Sound integrieren
um ScriptMaker anzuzeigen dieser eingefügt werden soll.
Mit dem Button lesen wir die
WAV Datei ein und klicken auf den OK
Button.
ScriptMaker fügt dann den dazugehörigen Skript Kode ein um zu gewährleisten dass dieser abgespielt wird.
Hierbei muss dieses Skript dann weil eine Code Sektion integriert wird diese mit ISX oder IsTools kompiliert werden!