Installation eines Freeware DIFF-Tools: Inctrl5 mal anders.

Moderator: MVogt

Antworten
Benutzeravatar
Theo_Gottwald
Beiträge: 323
Registriert: 03. Okt 2009, 08:57
Wohnort: Herrenstr.11 * 76706 Dettenheim
Kontaktdaten:

Installation eines Freeware DIFF-Tools: Inctrl5 mal anders.

Beitrag von Theo_Gottwald » 24. Okt 2009, 08:24

Eines der wichtgsten Konzepte beim Package Robot ist, daß man Dinge auf ganz verschiedene Weise erledigen kann.

Der Grund dafür ist einfach:
Der Package-Robot integriert viele Tools in einem.

Mit ca. 800 Befehlen, wobei viele davon auch noch mehrfach belegt sind, hat er die Power vieler Tools.

Wenn man mit anderen Tools etwas nicht erreichen kann, gibt man auf und sucht nach einem anderen Tool zur Lösung des Problems.

Der Package Robot ist so designed, dass man immer verschiedene Möglichkeiten hat.

Findet man das Fenster auf eine bestimmte Weise nicht, wählt der Package Robot automatisch eine andere aus.

Maus- als auch Tastatursimulationen

Funktioniert ein Mausklick mit der "Direct Engine" (ermöglicht Installationen ohne angemeldeten Benutzer) einmal nicht, wechselt man zur "kompatiblen Engine" (benötigt eine Benutzeranmeldung).

Beide Engines unterstützen sowohl Maus-, als auch Tastatursimulationen.

Aufzeichnen und finden von Desktop-Objekten.

Auch hier gibt es zwei verschiedene Engines plus die Trickkiste.

Klappt etwas nicht mit der 7er (Fester-)Engine, weicht man auf die 8er (Acc.-)Engine aus - und wenn alles nicht hilft, nimmt man die Trickkiste.

Beim Package Robot bleibt man im Tool und kommt immer ans Ziel.
Daher gab es bisher auch noch keine Installationen, die mit dem Package Robot nicht umgesetzt werden konnten.
Das folgende Beispiel zeigt die genau gleiche Installation des Tools auf verschiedene Arten.

1. Die Kurzvariante
Im Folgenden (Nr.1) zunächst die kürzeste Variante, dabei wird der eingebaute "PopUp-Parallelrobot" verwendet.
Wir klicken hier einfach die ganze Installation durch, ein Pfad oder Optionen werden hier nicht gesetzt.

2. Die Variante ohne Top-Fenstersuche
Dann die Nr. 2. In diese Variante überspringen wir die Top-Fenstersuche. Dadurch wird der Code kürzer als die Variante, die wir mit der gelben Liste default aufgezeichnet hätten.

Das ergibt dann Sinn, wenn man viele gleiche Installationen zugleich ausführen muß.
Tut man dieses hat man das Problem, dass man viele exakt gleiche Fenster auf dem Dekstop hat.
Hier hilft der Befehl WMS(Windows Membership).
Durch das "WMS" findet jedes Skript genau die Fenster, die zu der eigenen EXE-Datei gehören,
und ignoriert alle anderen Fenster auch wenn diese ganz genau gleich aussehen.

3. Die Variante mit der gelben Liste
Mit Nr.3 (unten) sehen wir uns nun die gleiche Installation an, wie diese von der "gelben Liste" per default aufgezeichnet wird.

4. Die Aufzeichnung mit InstaRec
Gegenüber der Version, die der InstaRec aufzeichnet fällt auf, dass der Code sehr schlank ist und keine Extra-Kommentare enthällt.
Da mit der "gelben Liste" das "Aufzeichnen und Test"-Verfahren verwendet werden kann, weiss man zumeist sofort, ob die Installation funktionieren wird.
Beim InstaRec muß man hier und da später kleine Änderungen am Skript vornehmen, hier sind dann die Kommentare hilfreich, um die richtige Stelle schnell zu finden.
Weitere Unterschiede sind:
- InstaRec setzt automatisch: WII (Wait for InputIdle) und SAW (Set Active Window)
diese Befehle sind eigentlich nur in Ausnahmefällen nötig, da diese aber nur jeweils 4 Byte verbrauchen und der User sich darum nicht kümmern muß, geht der InstaRec damit großzügig um.

- InstaRec setzt automatisch BCS, BCS und Entkopplungen bei gleichnamigen, aufeinanderfolgenden Buttons (siehe unten).

Die "gelbe Liste" überläßt es dem fortgeschrittenen User selbst diese Befehle zu verwenden oder auch nicht.

Im Code-Abschnitt 4. sehen wir nun die gleiche Installation und Deinstallation, wie diese vom InstaRec aufgezeichnet worden ist.
Das ist zwar mehr Code, aber es hat eben auch nur von 07:25:49 bis 07:26:04 gedauert und man muß sich bei solchen Installationen keine Gedanken machen, ob es funktioniert oder nicht. Denn in der Regel funktioniert es auf Anhieb.
Das Skript erledigt nicht genau das Gleiche. Wir legen hier zusätzlich noch den Verzeichnispfad fest und machen hier somit drei Schritte mehr, das sind die Schritte: 3,4, und 5.

Der Vorteil ist hier der geringe Zeitaufwand für die Erstellung (von 7:26:16 bis 7:26:21 Uhr, das sind 5 Sekunden).
Diese Art Code ist leicht im Remeditor Schritt-für-Schritt zu debuggen. Man sieht auch genau welche Fenster und Buttons hier verwendet werden.

Das Fazit:
Welcher Weg gewählt wird ist im Prinzip egal - wenn es am Ende funktioniert.
Es entscheidet der Admin ,welche Installationsart er für das jeweilige Programm-Setup wählen möchte.

Die Regel ist hier, dass man für einfache Installationen stets mit dem "InstaRec" am Schnellsten ist.

Sind spezielle Elemente vorhanden, die mit dem InstaRec nicht aufgezeichnet werden können, verwendet man die "Gelbe Liste"
und von da die 8er Engine (bei WEB-Controls) oder zur Not auch einmal die Trickkiste (bei Java und bei grafischen Oberflächen).

Ans Ziel kommt man mit dem MPR immer.

Auch hier gibt es eine Faustregel:
Wenn sich die Installation auch manuell - also von Hand - ausführen läßt, wird es auch mit dem Package Robot funktionieren.

Hier nun die Beispielskripte.

Code: Alles auswählen

'-----------------------------------------------------------------
' 1.  Die Kurzvariante
'-----------------------------------------------------------------
' +++ Inctrl5.rem +++
' Zweck: Installiert das DIF-Tool "inctrl5"
' erstellt am: 24.10.2009
' von: Theo Gottwald
'========================
'
' Parallelrobot verwenden
VAR$$^01=glbswizardinctrl5 installation&next >
WBC$$^01

EXX?pfadinstall.exe

GAC2button&finish
BCS

@

'-----------------------------------------------------------------
' 2. Die Variante ohne Top-Fenstersuche
'-----------------------------------------------------------------

' +++ Install_Inctrl5.rem +++
'
' Zweck: Installiert oder Deinstallaiert Inctrl5
' erstellt am: 05.11.2003
' von: Theo Gottwald
'========================
'
OPT2
' Hier prüfen wir ob das Tool bereits installiert ist.
' Falls so führen wir statt der Installation die Deinstallation aus.

IAIInCtrl5
   GOTO uninst
EAI

' Hier fängt die Installation an.
EXE?pfadinstall.exe
WMS

GAC2button&next >+1
MSC2staticthis installation program will install inctrl5.$crlf$

GAC2button&next >+1
MSC2staticplease select the directory where inctrl5 files ar

GAC2button&next >+1
MSC2staticenter the name of the start menu folder  to add in

GAC2button&next >+1
MSC2staticyou are now ready to install inctrl5.$crlf$$crlf$press the

GAC2button&finish+1

@

' Das hier ist bereits die Deinstallation.

:uninst

EXUInCtrl5

GAC1button&next >+1
MSC1staticwelcome to the inctrl5 uninstall program.

GAC1button&finish+1

@


'-----------------------------------------------------------------
' 3.  Aufgezeichnet mit der "gelben Liste"
'-----------------------------------------------------------------
' +++ Version 3.rem +++
' Zweck: 
' erstellt am: 24.10.2009
' von: Theo
'========================
'#SPI:ForceWrite
'#EXE:?pfad
'#INC:vbrun
'#SPI:NoAuto
'
EXX?pfadinstall.exe
WMSPexe

STWglbswizardinctrl5 installation|w120
GCW2button&next >|w120
MEL

STWglbswizardinctrl5 installation|w30
GCW2buttonb&rowse...|w30
MEL

STW#32770select destination directory|w30
GCW1edit*|w30
RSTC:ProgrammeInCtrl5|0,-1

STW#32770select destination directory|w117
GCW1buttonok|w117
MEL

STWglbswizardinctrl5 installation|w30
GCW2button&next >|w30
MEL

STWglbswizardinctrl5 installation|w240
GCW2button&next >|w240
MEL

STWglbswizardinctrl5 installation|w240
GCW2button&next >|w240
MEL

STWglbswizardinctrl5 installation|w54
GCW2button&finish|w54
MEL

@

'-----------------------------------------------------------------
' 3.  Aufgezeichnet mit dem MPR-InstaRec
'-----------------------------------------------------------------

' +++ Install_INSTALL.rem +++
' Zweck: 
' erstellt am: 24.10.2009
' von: Theo
'========================
'#SPI:ForceWrite
'#EXE:?pfad
'#INC:vbrun
'#SPI:NoAuto
' 
' ***** Package Robots Version 8.5 *****
' ***** instaRec iEngine Ver.4.3V ******
' 
' You can change these variables which are used inside the script.
VAR$$000=?progsInCtrl5
' 
' No.:1 | Time: 07:25:49 | Ticks:  0
'USM1 ' Uncomment this command to use silent mode (no error messages from Robot).
VAR$$PRO=1
' Please change '$ev4$' to '?pfad' if you have included the Setup within the EXE-File.
VAR$$PFA=$ev4$

EXE$$PFAINSTALL.EXE

' No.:2 | Time: 07:25:53 | Ticks:  93
VAR$$PRO=2
STWGLBSWizardInCtrl5 Installation|w30 ' GLBSWizardInCtrl5 Installation
GCW42Button&Next|w30' &Next
WII4
SAW
BCS1||240

' No.:3 | Time: 07:25:55 | Ticks:  173
VAR$$PRO=3
STWGLBSWizardInCtrl5 Installation|w30 ' GLBSWizardInCtrl5 Installation
GCW102ButtonB&rowse...|w30' B&rowse...
WII3
SAW
MEL

' No.:4 | Time: 07:25:57 | Ticks:  213
VAR$$PRO=4
STW#32770Select Destination Directory|w30 ' #32770Select Destination Directory
SWP363,246|384,284
GCW31Edit*|w30' C:
WII2
SAW
RST$$000|0,-1


' No.:5 | Time: 07:25:58 | Ticks:  242
VAR$$PRO=5
STW#32770Select Destination Directory|w30 ' #32770Select Destination Directory
GCW71ButtonOK|w30' OK
WII1
SAW
BCS1||240

' No.:6 | Time: 07:25:59 | Ticks:  278
VAR$$PRO=6
STWGLBSWizardInCtrl5 Installation|w30 ' GLBSWizardInCtrl5 Installation
GCW32Button&Next|w30' &Next
WII1
SAW
BCS1||240

' No.:7 | Time: 07:26:00 | Ticks:  316
' The following statics have been found: 
'  1. StaticSelect Start Menu Folder
'  2. StaticEnter the name of the Start Menu Folder$SP$$SP$to add InCtrl5 icons to
VAR$$PRO=7
STWGLBSWizardInCtrl5 Installation|w30 ' GLBSWizardInCtrl5 Installation
' This command is used between equal buttons to prevent problems.
SPCStaticEnter the name of the Start Menu Folder$SP$$SP$to add InCtrl5 icons to|w30
GCT ' This command localizes the current Top-Window.
GCW32Button&Next|w30' &Next
WII2
SAW
BCS1||240

' No.:8 | Time: 07:26:01 | Ticks:  337
' The following statics have been found: 
'  1. StaticReady to Install!
'  2. StaticYou are now ready to install InCtrl5.$CRLF$$CRLF$Press the Next button t
VAR$$PRO=8
STWGLBSWizardInCtrl5 Installation|w30 ' GLBSWizardInCtrl5 Installation
' This command is used between equal buttons to prevent problems.
SPCStaticYou are now ready to install InCtrl5.$CRLF$$CRLF$Press the Next button t|w30
GCT ' This command localizes the current Top-Window.
GCW32Button&Next|w30' &Next
WII1
SAW
BCS1||240

' No.:9 | Time: 07:26:02 | Ticks:  370
VAR$$PRO=9
STWGLBSWizardInCtrl5 Installation|w30 ' GLBSWizardInCtrl5 Installation
GCW32Button&Finish|w30' &Finish
WII2
SAW
BCS1||240

' No.:10 | Time: 07:26:04 | Ticks:  434
VAR$$PRO=10
SRV%uFFFD ' This command will set the return code.
END

:Always
SRV$$PRO' If this command is executed an error has happened
' and the return code from the script will be the block number of the last block.
END


' Die Deinstallation zeichnet der InstaRec wie folgt auf:


' +++ Uninstall_INSTALL.rem +++
' Zweck: 
' erstellt am: 24.10.2009
' von: Theo
'========================
'#SPI:ForceWrite
'#EXE:?pfad
'#INC:vbrun
'#SPI:NoAuto
' 
' ***** Package Robots Version 8.5 *****
' ***** instaRec iEngine Ver.4.3V ******
' 
' No.:1 | Time: 07:26:15 | Ticks:  0
'USM1 ' Uncomment this command to use silent mode (no error messages from Robot).
VAR$$PRO=1
' Please choose the Line that suits best to your needs.
' EXUInCtrl5|u
EXSC:PROGRA~1INCTRL5UNWISE.EXE$SP$C:PROGRA~1INCTRL5INSTALL.LOG

' No.:2 | Time: 07:26:17 | Ticks:  7
VAR$$PRO=2
STW#32770Uninstall InCtrl5|w30 ' #32770Uninstall InCtrl5
SWCButton&Next|w30 ' Ebene: 1 "&Next >"
WII1
BSC1||240

' No.:3 | Time: 07:26:18 | Ticks:  28
VAR$$PRO=3
STW#32770Uninstall InCtrl5|w30 ' #32770Uninstall InCtrl5
GCW11Button&Finish|w30' &Finish
WII1
SAW
BCS1||240

' No.:4 | Time: 07:26:21 | Ticks:  109
VAR$$PRO=4
SRV%uFFFD ' This command will set the return code.
END

:Always
SRV$$PRO' If this command is executed an error has happened
' and the return code from the script will be the block number of the last block.
END
Dateianhänge
Inctrl5.zip
INCTRL 5 (Diff-like Tool)
(568.44 KiB) 59-mal heruntergeladen

Antworten

Zurück zu „Package Robot“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast