Dateien
Mit der Definition einer Datei können Dateien mit den Metadaten verteilt werden.
Die Verteilung der Dateien einer AppDesigner-Lösung geschieht für den Client
- auf dem Sage 100 Client während des Starts der OLStart.exe und vor dem Start von MSAccess.
und auf dem Server
- auf dem Application Server unmittelbar nach dem Start des Dienstes bevor Isolationsprozesse bzw. Business-Logik gestartet wird.
Das muss geschehen bevor Sage 100-Logik geladen wird, da sonst Dateien gesperrt sein können, die man austauschen möchte.
Die Abarbeitung der zu installierenden Dateien erfolgt in der Reihenfolge, in der sie in der USysFileCache<versionnr>-Tabelle (Globale Datenbank) gespeichert sind. Dabei wird pro Datei eine Revision ermittelt und in die Tabelle (Spalte Version) geschrieben. Beim Verteilen wird eine Datei (AppDesigner.Solution.<partnerid>.<packageid>.info) angelegt. In diese Datei wird pro zu verteilender Datei die Version geschrieben. Ist diese Info-Datei bei einer Verteilung bereits vorhanden, werden Version der globalen Datenbank und Version aus der Info-Datei verglichen. Unterscheiden sich die Versionen, wird die Datei neu verteilt. Durch Löschen der .info-Datei kann eine erneute Aktualisierung der Dateien ausgelöst werden.
Kriterien für die Aktualisierung
- Unterschiedliche Versionsinformation
Die Versionsinformation ist ein Hashwert und keine Versionsnummer, so dass nur festgestellt wird, ob Dateien verschieden sind. Unterscheiden sich die installierten Dateien von denen in der globalen Datenbank gespeicherten, dann werden sie ausgetauscht. Dadurch können auch ältere Versionen wieder installiert werden. - Unterschiedliche Anzahl an Dateien in der Installation und in der Datenbank
Beim Import eine Lösung über den AppDesigner wird nichts installiert. Die zu installierenden Dateien werden lediglich in der oben genannten Tabelle zur Verteilung bereitgestellt.
Es wird gewartet, bis alle aufgerufenen Exe-Dateien beendet sind, erst dann wird die Sage 100 gestartet. Allerdings gibt es eine Ausnahme. Damit die Sage 100 nicht „hängen“ bleibt, wenn während der Installation eine der Exe-Dateien nicht beendet werden kann, ist intern ein Zeitlimit von 20 sec eingestellt. Wenn diese Zeit abgelaufen ist, wird die Sagede-Shared.Solution.Downoad.exe ebenfalls beendet. Wenn dann noch Installationsvorgänge laufen, kann es sein, dass Dateien gesperrt sind, während die Sage 100 gestartet ist. Dann wird unter Umständen solange gewartet, bis Dateien wieder frei sind, um die Installation fortzusetzen.
Bereich | Eigenschaft | Wert |
---|---|---|
Allgemeines | Name (Name) | Name des Eintrags |
Beschreibung (Description) | Eine Beschreibung der Datei | |
Kategorie (Catogary) | Dient zur Strukturierung der Einträge | |
Installation | Dateiversion (Fileversion) Ab Version 9.0.4 | Info zur Dateiversion rein informativ, d.h. keine Auswertung bei der Installation auf ältere bzw. neuere Version |
Dateipfad (FilePath) | Voller Pfad zu der Datei inklusive Dateiname. Gültiger Pfad zu einer Datei, der Pfad kann Platzhalter ($[SharedPath]) enthalten. Es kann auch auf Unterverzeichnisse im Shared-Verzeichnis verweisen werden. Soll auf die Datei "test.exe" im Unterverzeichnis "Test" verweisen werden, so kann man über den Auswahldialog gehen, oder man trägt "$[SharedPath]Test\test.exe" ein. | |
Abw. Installationsverzeichnis (DeploymentPath) Ab Version 9.0.4 | Abweichendes Installationsverzeichnis für die Dateiverteilung Gültiger Pfad zu einem Dateiverzeichnis; der Pfad kann Platzhalter enthalten | |
Installationsziel (DeploymentTarget) | Definiert wo die Datei installiert werden soll:
| |
Aktion nach Installation (DeploymentAction) | Gibt an, welche Aktion nach dem Kopieren ausgeführt werden soll:
| |
Argumente (Arguments) Ab Version 9.0.4 | Befehlszeilenargumente für das Ausführen von Exe- und Batch-Dateien nur für Dateien mit der Dateierweiterungen ".exe", ".bat" und ".cmd" verfügbar |
Ereignisse
Ereignisse enthalten die Definitionen von Zuordnungen von Event-Handler zu Events der Applikation (vormals DCM), die mit der Lösung verteilt werden sollen (vormals OL.DCM).
Eine Kombination von Einträgen in OL.DCM und Ereignissen innerhalb einer Installation ist zulässig.
Ein identischer Eintrag (alle Eigenschaften identisch) in OL.DCM und eines Ereignisses ist nicht zulässig.
Bereich | Eigenschaft | Wert |
---|---|---|
Allgemeines | Name (Name) | Name des Eintrags |
Beschreibung (Description) | Eine Beschreibung der Zuordnung | |
Ereignis | Name des Ereignisses (EventName) | Der Name eines Ereignisses, das von der Applikation ausgelöst wird, an das man sich mit diesem Event-Handler hängen möchte. |
Name der Assembly (AssemblyName) | Voller Pfad zu der Assembly inklusive Dateiname. Gültiger Pfad zu einer .Net Assembly, der Pfad kann Platzhalter ($[SharedPath]) enthalten. | |
Name der Klasse (ClassName) | Name der Klasse inklusive Namespace, die die Event-Handler-Implementierung enthält. | |
Aufrufreihenfolge (Order) | Definiert die Reihenfolge, in der Event-Handler aufgerufen werden. | |
Überprüfung der Version (CheckVersion) | Definitiert, ob die Version der Erweitungs-Assembly gegen die Version der Applikation geprüft werden soll. |
Die Beschreibung der Ereignisse der Applikation steht nur Partner des Developer Programms zur Verfügung. Die Beschreibung ist auch über das Developer Programm zu beziehen.