Paketierungs-Beispiel: Phrase-Express

Moderator: MVogt

Paketierungs-Beispiel: Phrase-Express

Beitragvon Theo_Gottwald » 03. Dez 2017, 22:20

Phrase-Express ist auch wieder einer der "Heise Top 10" Downloads.
PhraseExpress erspart Tipparbeit, indem es häufig benötigte Textbausteine auf Knopfdruck in beliebige Anwendungen einfügt. Textbausteine lassen sich hierzu inklusive Formatierung und Bildern in einer beliebigen Ordnerstruktur verwalten.

Quelle: heise.de Top-Downloads: Phrase-Express
Das Package-Robot Paket ist von Swen Thümmler.
Das Ziel ist zu zeigen, wie man mit geringen oder keinen Änderungen schnell so ein visuelles Paket machen kann.
Hallo Herr Gottwald,
ich habe eine Installation und Deinstallation aufgezeichnet und das Ergebnis in die Dropbox gelegt. Im Deinstallationsskript habe ich noch das Beenden des Prozesses mit TPC\ eingebaut.
Funktioniert beides bei mir unter Windows 10 und Windows 7.


Hier nun die Skripte zur Installation und Deinstallation von Phraseexpress, vielen Dank an Swen Thümmler.

Code: Alles auswählen
' +++ Install_phraseexpresssetup.rem +++
' Zweck:
' erstellt am: 03.12.2017
' von: Swen Thümmler
'========================
'#EXE:?path
' Um die Setup-Dateien in das Paket einzubinden, entfernen Sie das erste ! in der folgenden Zeile.
'#INC:?path\@
'#SPI:ForceWrite
'#SPI:VBRun
'#SPI:NoAuto
'#SPI:x64
'#FDC:Ask
'#MAN:ra
'

VAR\$$*01=ordner existiert bereits\&ja\der ordner:
DBC\$$*01

KRM\2
IEX\
   EVG\LogDirectory>$$LOG      ' Set log directory
   USM\4|$$LOG\SetupErrorLog\  ' Use silent mode with redirected error messages to error files
   DIP\150                     ' 150 ms delay between each command
EEX\
'
' Dieses Skript wurde am 12-03-2017 um 16:28:49 für Swen Thümmler erstellt.
' Von Ihrem Matrix42 Installations-Rekorder. Programm-ID:20170210'
'
' No.:1 | Time: 16:28:14 | Ticks:  0
VAR\$$PRO=10001
' Das Skript ermittelt automatisch ob das Setup-Executable in das Paket eingebunden ist oder ob das Setup im gleichen Ordner neben dem Paket liegt.
VAR\$$SEA=phraseexpresssetup.exe
GSB\LocateSetup
' Der komplette Pfad zum Setup ist nun in der Variablen $$SEB
EXS\$$SEB
VAR\$$PID=$v4$

' No.:2 | Time: 16:28:16 | Ticks:  73
VAR\$$PRO=10002
STW\TSelectLanguageForm\Setup-Sprache auswählen|w45
GCW\\1\TNewButton\OK|w45
SAW\
BCS\1||7|240

' No.:3 | Time: 16:28:18 | Ticks:  129
VAR\$$PRO=10003
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\1\TNewButton\&Weiter|w45
SAW\
BSC\1||7|240

' No.:4 | Time: 16:28:20 | Ticks:  190
' Die folgenden Textfelder wurden gefunden:
'  1. TNewStaticText\Ziel-Ordner wählen
'  2. TNewStaticText\Wohin soll PhraseExpress installiert werden?
'  3. TNewStaticText\Das Setup wird PhraseExpress in den folgenden Ordner installiere
'  4. TNewStaticText\Klicken Sie auf $dq$Weiter$dq$, um fortzufahren. Klicken Sie auf $dq$Durc
'  5. TNewStaticText\Mindestens 38,2 MB freier Speicherplatz ist erforderlich.
VAR\$$PRO=10004
STW\TWizardForm\Setup - PhraseExpress|w45
' Dieser Befehl wird zwischen mehreren gleichen Buttons eingeschoben um die Button-Klicks zu entkoppeln.
STC\TNewStaticText\Klicken Sie auf $dq$Weiter$dq$, um fortzufahren. Klicken Sie auf $dq$Durc|w45
TDL\40
GCW\\1\TNewButton\&Weiter|w45
SAW\
MEL\

' No.:5 | Time: 16:28:22 | Ticks:  254
VAR\$$PRO=10005
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\5\TNewCheckListBox\MS Outlook Integration|w45
SAW\
LBE\MS$sp$Outlook$sp$Integration
' MPO\o\85,3
BTC\0

' No.:6 | Time: 16:28:22 | Ticks:  267
VAR\$$PRO=10006
STW\TWizardForm\Setup - PhraseExpress|w45
SWP\708,385|503,389
GCW\\5\TNewCheckListBox\MS Outlook Integration|w45
SAW\
MPO\o\84,34
BTC\0

' No.:7 | Time: 16:28:24 | Ticks:  319
VAR\$$PRO=10007
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\5\TNewCheckListBox\MS Outlook Integration|w45
SAW\
LBE\Firebird$sp$SQL$sp$Server$sp$Unterstützung$sp$(für$sp$Microsoft$sp$SQL$sp$nicht$sp$erforderlich)
' MPO\o\240,21
BTC\0

' No.:8 | Time: 16:28:25 | Ticks:  352
VAR\$$PRO=10008
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\1\TNewButton\&Weiter|w45
SAW\
BSC\1||7|240

' No.:9 | Time: 16:28:27 | Ticks:  428
' Die folgenden Textfelder wurden gefunden:
'  1. TNewStaticText\Startmenü-Ordner auswählen
'  2. TNewStaticText\Wo soll das Setup die Programm-Verknüpfungen erstellen?
'  3. TNewStaticText\Das Setup wird die Programm-Verknüpfungen im folgenden Startmenü
'  4. TNewStaticText\Klicken Sie auf $dq$Weiter$dq$, um fortzufahren. Klicken Sie auf $dq$Durc
VAR\$$PRO=10009
STW\TWizardForm\Setup - PhraseExpress|w45
' Dieser Befehl wird zwischen mehreren gleichen Buttons eingeschoben um die Button-Klicks zu entkoppeln.
STC\TNewStaticText\Klicken Sie auf $dq$Weiter$dq$, um fortzufahren. Klicken Sie auf $dq$Durc|w45
TDL\40
GCW\\1\TNewButton\&Weiter|w45
SAW\
MEL\

' No.:10 | Time: 16:28:29 | Ticks:  483
VAR\$$PRO=10010
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\5\TNewCheckListBox\Möchten Sie PhraseExpress automatisch mit Ihrem Rechner starten|w45
SAW\
LBE\Möchten$sp$Sie$sp$PhraseExpress$sp$im$sp$Netzwerk$sp$einsetzen?
' MPO\o\189,37
BTC\0

' No.:11 | Time: 16:28:30 | Ticks:  510
VAR\$$PRO=10011
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\5\TNewCheckListBox\Möchten Sie PhraseExpress automatisch mit Ihrem Rechner starten|w45
SAW\
LBE\Integration$sp$in$sp$Datei-Kontextmenüs
' MPO\o\132,49
BTC\0

' No.:12 | Time: 16:28:36 | Ticks:  679
VAR\$$PRO=10012
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\1\TNewButton\&Weiter|w45
SAW\
BSC\1||7|240

' No.:13 | Time: 16:28:42 | Ticks:  739
VAR\$$PRO=10013
STW\TWizardForm\Setup - PhraseExpress|w45
GCW\\1\TNewButton\&Fertigstellen|w45
SAW\
BCS\1||7|240

' No.:14 | Time: 16:28:49 | Ticks:  924
' Dieser Befehl veranlasst das Skript abzuwarten, bis die gesteuerte Applikation sich beendet, oder die Timeout-Zeit überschritten wird.
' Die Zahl nach dem | (Pipe Symbol) gibt das Timeout in Sekunden an. Es wird generell mit 360 Sekunden festgelegt. Bitte korrigieren Sie diese Zahl manuell falls erforderlich.
WPT\$$PID|360
JIT\Always

VAR\$$PRO=0
:Always
JIV\$$PRO!0|ErrorHandler
SRV\0
@

'================================================
' Unterprogramme
'================================================
' Stelle fest, wo das Setup-Executable sich befindet.
:LocateSetup
' Finde heraus, ob die Setup.exe im gleichen Ordner wie das Paket liegt.
VAR\$$SEB=$ev4$\$$SEA
IEF\$$SEB
   GOTO LeaveLocateSetup
EEF\
' Finde den Pfad zur Setup.exe Datei, egal ob diese in das Paket eingebunden ist oder neben dem Paket liegt.
VAR\$$SEB=?path\$$SEA
IEF\$$SEB
   GOTO LeaveLocateSetup
ELSE
   VAR\$$ERO=Setup.exe-Datei kann nicht gefunden werden. Bitte prüfen Sie die Schreibweise und ob die Datei vorhanden ist.
   GOTO Always
EEF\
:LeaveLocateSetup
RET\

'================================================
' Error-Handler: (Fehlerbehandlung) Schreibt die Fehlermeldung ($$ERT) in die Error-Log Datei.
'================================================
:ErrorHandler
' Stelle fest, ob das $$LOG-Verzeichnis schon angegeben wurde.
VRT\$$LOG\
VBT\$$LOG
JIF\$$LOG|Lab_valid
VAR\$$LOG=#?#?#
:Lab_valid
VAR\$$PAT=$$LOG\
' Wenn kein Ausgabepfad für die Fehlerdatei angegeben wurde, verwende den Pfad wo das Paket selbst liegt.
NEF\$$PAT
   VAR\$$PAT=$ev4$\
EEF\
NEV\$$ERO
   VAR\$$ERO=Der Aussprung erfolgte aus Block Nr.$$PRO
EEV\
VAR\$$ERT=$date$-$time$$crlf$
VAR\$$ERT=$$ERTEin Fehler ist aufgetreten in Zeile:$errlin$.$crlf$
VAR\$$ERT=$$ERT$$ERO$crlf$
VAR\$$ERT=$$ERTDie Fehlermeldung lautet: $crlf$<$errtxt$>$crlf$
' Mache einen Screenshot vom letzten Fenster, oder dem gesamten Desktop.
VAR\$$ERF=$$PAT\SetupErrorLog.jpg
SCS\$$ERF
' Schreibe die Error-Log Datei. (ATF\=Append).
VAR\$$ERF=$$PAT\SetupErrorLog.txt
ATF\$$ERF<$$ERT
' Verlasse die Fehlerbehandlung(Exit Error-Handler).
SRV\$$PRO
END\1


Und hier die Deinstallation:

Code: Alles auswählen
' +++ Uninstall_PhraseExpressv120148.rem +++
' Zweck:
' erstellt am: 03.12.2017
' von: Swen Thümmler
'========================
'#EXE:?path
'#SPI:ForceWrite
'#SPI:VBRun
'#SPI:NoAuto
'#SPI:x64
'#FDC:Ask
'#MAN:ra
'

VAR\$$*01=entfernen\&ja\möchten sie auch ihr persönlic
DBC\$$*01

KRM\2
IEX\
   EVG\LogDirectory>$$LOG      ' Set log directory
   USM\4|$$LOG\SetupErrorLog\  ' Use silent mode with redirected error messages to error files
   DIP\150                     ' 150 ms delay between each command
EEX\
:try
IEP\phraseexpress.exe
   TPC\iep
   CAS\
   GOTO try
EEP\
'
' Dieses Skript wurde am 12-03-2017 um 16:25:45 für Swen Thümmler erstellt.
' Von Ihrem Matrix42 Installations-Rekorder. Programm-ID:20170210'
 '
' No.:1 | Time: 16:25:29 | Ticks:  0
VAR\$$PRO=10001
' Durch Auskommentieren können Sie unterschiedliche Verfahren verwenden.
EXU\PhraseExpress|u
'EXS\?progs\PhraseExpress\unins000.exe
VAR\$$PID=$v4$

' No.:2 | Time: 16:25:31 | Ticks:  65
VAR\$$PRO=10002
STW\#32770\PhraseExpress entfernen|w45
GCW\6\1\Button\&Ja|w45
SAW\
BCS\1||7|240

' No.:3 | Time: 16:25:33 | Ticks:  137
VAR\$$PRO=10003
STW\#32770\Entfernen|w45
GCW\6\1\Button\&Ja|w45
SAW\
BCS\1||7|240

' No.:4 | Time: 16:25:40 | Ticks:  298
VAR\$$PRO=10004
STW\#32770\PhraseExpress entfernen|w45
GCW\2\1\Button\OK|w45
SAW\
BCS\1||7|240

' No.:5 | Time: 16:25:45 | Ticks:  442
' Dieser Befehl veranlasst das Skript abzuwarten, bis die gesteuerte Applikation sich beendet, oder die Timeout-Zeit überschritten wird.
' Die Zahl nach dem | (Pipe Symbol) gibt das Timeout in Sekunden an. Es wird generell mit 360 Sekunden festgelegt. Bitte korrigieren Sie diese Zahl manuell falls erforderlich.
WPT\$$PID|360
JIT\Always

VAR\$$PRO=0
:Always
JIV\$$PRO!0|ErrorHandler
SRV\0
@

:ErrorHandler
' Wenn das Skript hier landet, ist ein Fehler aufgetreten
' der Returncode des Skripts entspricht dann der Blocknummer, wo der Fehler aufgetreten ist.
SRV\$$PRO
END\1
Benutzeravatar
Theo_Gottwald
 
Beiträge: 291
Registriert: 03. Okt 2009, 08:57
Wohnort: Herrenstr.11 * 76706 Dettenheim

Zurück zu Package Robot

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast