Software-Verteilung

Die Anwendung zusammenstellen

Die Zusammenstellung einer OpenDCL-Applikation unterscheidet sich kaum von jeder anderen AutoLISP-Applikation. Die meisten Entwickler entscheiden sich, den AutoLISP-Quellcode in ein schnell ladbares LISP-Format (*.fas) oder ein kompiliertes und gepacktes Format (*.vlx) für den Einsatz beim Endanwender zu konvertieren. Möglicherweise ist dieser Vorgang bei in-House-Applikationen nicht nötig oder nicht erwünscht.

Bei der Zusammenstellung aller AutoLISP-Dateien ist es auch erforderlich, alle zugehörigen Dateien, wie OpenDCL-Projektdateien, Datendateien und unterstützende Dateien (z.B. Symbole, externe Bilder, Dias) mit einzubinden. Achten Sie dringend darauf, dass keine hardcodierten Verzeichnisse im Quellcode verwendet werden, damit die Applikation fehlerfrei läuft, wo immer sie installiert wurde.

Ein allgemein verbreitetes Verfahren, die zugehörigen Dateien zu verwalten, ist, den Installationsordner der Applikation nicht als hardcodierten Verzeichnispfads zu verwenden, sondern ihn zu den AutoCAD-Supportpfaden hinzuzufügen. Diese Herangehensweise ist allerdings zuweilen riskant, da Fehler entstehen könnten, wenn aus irgendeinem Grunde das Verzeichnis aus der Liste der AutoCAD-Supportpfade entfernt wurde oder der Wert der Supportpfad-Variable die maximal mögliche Länge überschreitet. Eine solide Lösung ist es, den Pfad in die Windows Registrierung als Registry-Eintrag der Applikation zu schreiben. Dieser Pfad kann dann (beispielsweise in Form einer globalen Variable) der gewünschten Datei zur Laufzeit vorangestellt werden.

Viele Entwickler wollen ihre OpenDCL-Projekte packen, so dass der Endanwender oder Dritte ihren Inhalt nicht sehen oder ändern können. Das normale Vorgehen, die *.odcl-Dateien separat von den verknüpften AutoLISP-Dateien zu halten, macht dies unmöglich. OpenDCL stellt deshalb eine Lösung zur Verfügung, wodurch die OpenDCL-Projektdaten direkt in den AutoLISP-Quellcode als Daten integriert werden können. Dies ermöglicht, dass diese Dateien in einer einzigen *.vlx, die sowohl den AutoLISP-Quellcode als auch die OpenDCL-Projektdaten enthält, zusammen einkompiliert werden können. Das Einbetten der Projektdaten erfordert aber, dass ein OpenDCL-Projekt im OpenDCL-Studio mit einer *.lsp-Dateierweiterung gespeichert wird. Durch die manuelle Eingabe der Dateierweiterung *.lsp wird OpenDCL Studio die Projektdaten in einem nichtcodierten, reinen Textformat abspeichern, so dass der Inhalt direkt in den AutoLISP-Quellcode kopiert und anschließend mit der Funktion (dcl_Project_Import) geladen werden kann.

Die OpenDCL Laufzeitumgebung einbeziehen

Mit der OpenDCL-Applikation muss auch die OpenDCL-Laufzeitumgebung ausgeliefert werden. Um die Interoperabilität zwischen verschiedenen OpenDCL-Applikationen auf dem System des Endanwenders sicherzustellen, muss die Laufzeitumgebung von OpenDCL mit dem Windows Installer installiert werden. Eine Möglichkeit, dies zu realisieren, ist die OpenDCL Laufzeitumgebung mit der MSI-Datei mit auszuliefern und die MSI-Datei während der Installation auszuführen. Besser wäre es jedoch, die Installation der Laufzeitumgebung mit der Installation der Applikation zusammenzuführen. Das geschieht mit Hilfe des OpenDCL Runtime Merge Modules (*.MSM), die in das Installationsskript der Applikation importiert werden kann. Die Unterstützung für diese Module variiert in Abhängigkeit von der verwendeten Installer-Technologie. Werden von der verwendeten Installer-Technologie keine Merge-Module unterstützt, kann die MSM-Datei in diesem Fall nicht zur Anwendung kommen.

Beide Methoden für die Bereitstellung der OpenDCL Laufzeitumgebung stellen sicher, dass die OpenDCL-Installationsdateien korrekt referenziert werden, so dass durch die Deinstallation einer OpenDCL-Applikation die Laufzeitumgebung nicht entfernt wird, sofern eine andere Applikation darauf weiterhin zugreifen kann bzw. die Laufzeitumgebung erst dann entfernt wird, wenn sie nicht länger benötigt wird.