Setup-Erstellung mit Inno-Setup, Teil 2

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

André Minhorst, Duisburg

Nachdem Sie im ersten Teil dieser Beitragsreihe den Umgang mit Inno Setup gelernt und ein erstes Setup erstellt haben, vertiefen Sie im vorliegenden Beitrag Ihre Kenntnisse: Bei der Erstellung eines Setups für einen oder mehrere Assistenten bzw. Add-Ins lernen Sie, wie Sie während der Installation Registry-Einträge auf dem Zielrechner anpassen. Noch spannender wird es mit den My Inno Setup Extensions: Mit ihnen können Sie das Setup weiter verfeinern, indem Sie ihm beispielsweise Code zum überprüfen der Version des aktuell verwendeten Access hinzufügen.

Die Entwickler von Inno Setup verbessern und erweitern ihre Software ständig, sodass es seit der Erstellung des ersten Teils dieser Beitragsreihe einige wesentliche änderungen gegeben hat. Die wichtigste änderung für Sie ist, dass mit Version 4 von Inno Setup die My Inno Setup Extensions nicht mehr als einzelnes Paket, sondern als Teil von Inno Setup vorliegen.

Die Version 4 von Inno Setup befindet sich im Beta-Stadium. Da mit Erscheinen dieser Ausgabe von Access im Unternehmen möglicherweise schon die endgültige Fassung dieser Version vorliegt, werden die für diesen Beitrag verwendeten Beispiele mit Inno Setup 4.0.4-beta und ISTool 3.0.6.3 als Benutzeroberfläche erstellt.

Praxis-Tipp

Unter ISTool werden – je nach Version – unter Umständen nicht alle Features der aktuellen Version von Inno Setup auch in Menüs und Dialogen zur Verfügung gestellt. Wenn Sie dennoch ein neues Feature verwenden möchten, können Sie die entsprechenden Anpassungen am Code des Setup auch im Code-Editor unter Sections/Skript ansehen.

Hinweis

Da Inno Setup und die dazugehörenden Komponenten ständig weiterentwickelt werden, lohnt sich ein regelmäßiger Blick auf die entsprechenden Internetangebote. Als Ausgangspunkt dient hier die Seite www.jrsoftware.org – von dort aus gelangen Sie auch auf die Seiten der Anbieter von weiteren Komponenten.

Add-In-Datenbanken müssen in ein bestimmtes Verzeichnis gespeichert werden und benötigen einige Registry-Einträge, um von Access aus aufgerufen werden zu können. Normalerweise erledigt der Add-In-Manager von Access diese Aufgabe. Er speichert die Add-In-Datei automatisch im richtigen Verzeichnis und legt die Registry-Einträge an, die in einer speziellen Tabelle der Add-In-Datenbank gespeichert sind.

Hinweis

Weitere Informationen zu Add-Ins und Assistenten unter Access finden Sie in den Beiträgen Assistenten und Add-Ins selbst gebaut und Listenfeldbeschriftung per Assistent in Ausgabe 2/2003 von Access im Unternehmen.

Wenn Sie mehrere Assistenten verwenden und diese auf unterschiedlichen Rechnern installieren möchten, können Sie mit einem Setup eine Menge Zeit sparen.

Aber mit einem Setup können Sie nicht nur mehrere Assistenten gleichzeitig installieren, sondern auch noch die Anzahl der Fehlerquellen für weniger erfahrene Benutzer vermindern.

[Setup]
OutputDir=c:\Entwicklung\Assistenten
AppName=Assistenten
AppVerName=1.0
UsePreviousAppDir=false
DefaultDirName={pf}
[Files]
Source: c:\Entwicklung\Assistenten\Originaldateien\Addin1_97.mda; DestDir: {app}
Source: c:\Entwicklung\Assistenten\Originaldateien\Addin2_97.mda; DestDir: {app}
Source: c:\Entwicklung\Assistenten\Originaldateien\Addin3_97.mda; DestDir: {app}
[Types]
Name: Alle; Description: Installiert alle Assistenten.
Name: Auswahl; Description: Installiert nur die ausgewählten Assistenten.; Flags: iscustom
[Components]
Name: ErsterAssistent; Description: Installiert den ersten Assistenten; Types: Alle
Name: ZweiterAssistent; Description: Installiert den zweiten Assistenten; Types: Alle
Name: DritterAssistent; Description: Installiert den dritten Assistenten; Types: Alle
[Languages]
Name: "de"; MessagesFile: "c:\programme\inno setup 4\german.isl"

Quellcode 1

Beispielassistenten

Für das nachfolgend vorgestellte Beispielsetup mit zwei zu installierenden Assistenten verwenden Sie der Einfachheit halber drei Dummy-Assistenten, die beim Aufruf lediglich unterschiedliche Meldungsfenster ausgeben.

Hinweis

Wenn Sie das Beispiel nachvollziehen möchten, verwenden Sie einfach die drei Add-Ins Addin1_97.mda, Addin2_97.mda und Addin3_97.mda bzw. die entsprechenden Versionen für Access 2000 von der Heft-CD der aktuellen Ausgabe von Access im Unternehmen.

Funktionen des Setup

Im Gegensatz zu herkömmlichen Datenbanken werden Add-In-Datenbanken in der Regel in einem speziellen Verzeichnis gespeichert.

Diese Vorgehensweise wird durch den Add-In-Assistenten von Access vorgegeben, der zu installierende Add-Ins unabhängig vom derzeitigen Speicherort der Add-In-Datenbank im Access-Verzeichnis speichert. Das Access-Verzeichnis ist das Verzeichnis, in dem sich die eigentliche Access-Anwendung, also msaccess.exe, befindet.

Neben dem Kopieren der Add-In-Datenbank legt der Add-In-Assistent die in der Tabelle UsysRegInfo gespeicherten Einträge in der Registry von Windows an.

Das Setup soll dementsprechend nicht nur die Add-In-Datenbanken installieren, sondern muss außerdem die entsprechenden Registry-Einträge vornehmen.

Hinweis

Wenn Sie den Add-In-Manager zur Registrierung eines Assistenten oder von Add-Ins verwenden, kopiert dieser die .mda-Datei auf jeden Fall in das Systemverzeichnis von Access. Mit Inno Setup haben Sie die volle Kontrolle über die Installation von Add-Ins: Sie bestimmen sowohl das Verzeichnis als auch die Registry-Einträge.

Bekannte Setup-Elemente

Die Skript-Ausschnitte aus Quellcode 1 bilden das Grundgerüst für das geplante Setup für die drei Beispielassistenten.

Bild 1: Auswahl der zu installierenden Assistenten

Bild 2: Die Tabelle USysRegInfo

Bild 3: Anlegen des Eintrags für einen Registry-Schlüssel

Die Typen und Komponenten sind so angelegt, dass der Benutzer entweder alle oder auch nur einzelne Assistenten installieren kann. Bild 1 zeigt den Dialog des Setups, in dem die einzelnen Assistenten ausgewählten werden können.

Praxis-Tipp

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar