Freigeben über


Schreiben von Setuppaketen für Access-Datenbanken

Veröffentlicht: 25. Apr 2003 | Aktualisiert: 11. Nov 2004

Von Sanjay Jacob

Lernen Sie anhand einer Northwind-Beispieldatenbank, wie Microsoft Access-Entwickler benutzerdefinierte Microsoft Windows Installer-Setupprogramme (MSI) für ihre Access-MDB-Dateien erstellen.

Auf dieser Seite

Einführung Einführung
Anforderungen Anforderungen
Überlegungen zum Setupplan Überlegungen zum Setupplan
Einrichten der Verzeichnisstruktur Einrichten der Verzeichnisstruktur
Ändern der Tabelle "Directory" Ändern der Tabelle "Directory"
Ändern der Tabelle "Component" Ändern der Tabelle "Component"
Ändern der Tabelle "File" Ändern der Tabelle "File"
Ändern der Tabelle "Media" Ändern der Tabelle "Media"
Ändern der Tabelle "Feature" Ändern der Tabelle "Feature"
Ändern der Tabelle "FeatureComponents" Ändern der Tabelle "FeatureComponents"
Ändern der Tabelle "Shortcut" Ändern der Tabelle "Shortcut"
Ändern der Tabelle "Property" Ändern der Tabelle "Property"
Verwenden der Tabelle "InstallExecuteSequence" Verwenden der Tabelle "InstallExecuteSequence"
Verwenden der Tabelle "InstallUISequence" Verwenden der Tabelle "InstallUISequence"
Verwenden der Tabelle "AdminExecuteSequence" Verwenden der Tabelle "AdminExecuteSequence"
Verwenden der Tabelle "AdminUISequence" Verwenden der Tabelle "AdminUISequence"
Verwenden der Tabelle "AdvtExecuteSequence" Verwenden der Tabelle "AdvtExecuteSequence"
Hinzufügen von Übersichtsinformationen Hinzufügen von Übersichtsinformationen
Ändern der Benutzeroberfläche Ändern der Benutzeroberfläche
Überprüfen von "Northwind.msi" Überprüfen von "Northwind.msi"
Schlussfolgerung Schlussfolgerung

Einführung

Microsoft® Access-Entwickler erstellen Lösungen, die auf Clientgeräten bereitgestellt werden müssen. Je nach Komplexitätsgrad wählen Access-Entwickler für die Erstellung ihrer Setuppakete aus verschiedenen Setupverfahren aus, wie beispielsweise Batchdateien, benutzerdefinierte setup.exe-Programme, Microsoft Windows® Installer-Technologie usw. Obwohl eine große Vielzahl an Produkten für alle komplizierten Setupanforderungen zur Verfügung steht (beispielsweise Microsoft Office Developer Packaging Wizard, Microsoft Visual Studio® Installer, Wise for Windows Installer sowie InstallShield Developer oder InstallShield Express), gibt es Entwickler, die einfache und doch professionelle Setuppakete erstellen möchten, die lediglich ihre Access-Datenbank bündeln, welche später an den Kunden geliefert wird. Dieser Artikel soll Ihnen als Vorlage dienen, die Sie für diesen Zweck verwenden können.

Anmerkung Wenn Sie die Access-Laufzeit zusammen mit einer verpackten Datenbank vertreiben möchten, können Sie hierzu den Microsoft Office XP Developer Packaging Wizard verwenden.

Bei diesem Artikel wird vorausgesetzt, dass Sie eine verpackungsbereite Access-Datenbank haben und über Windows Installer 2.0 sowie das Orca.msi-Softwaretool verfügen, mit dem Sie eine Windows Installer-Datenbank (MSI) erstellen und bearbeiten können.

 

Anforderungen

  • Windows Installer wird mit Microsoft Windows Server 2003, Windows XP, Windows 2000 und Windows Millennium Edition (Windows Me) geliefert. Die Anwendung kann darüber hinaus als Service Pack für Windows NT® (Version 4.0), Windows 98 und Windows 95 erworben werden. Diese Technologie ist in Form von verteilbaren Paketen für Windows Installer (Version 2.0) auf der Website SDK Update erhältlich. Dort finden Sie zwei Pakete. Eines davon dient nur der Installation von oder Aktualisierung auf Windows Installer (Version 2.0) unter Windows Me, Windows 98 und Windows 95. Das andere Paket sollte nur für die Installation von oder Aktualisierung auf Windows Installer (Version 2.0) unter Windows 2000 und Windows NT (Version 4.0 mit Service Pack 6) verwendet werden. Sie können diese Pakete nicht für die Installation von oder Aktualisierung auf Windows Installer (Version 2.0) unter Windows Server 2003 und Windows XP einsetzen.

  • Orca. Eine MSI-Datei ist eine Windows Installer-Datei. Da diese Dateien mehrere Tabellen enthalten, werden sie manchmal auch als Windows Installer-Datenbanken bezeichnet, sollten aber nicht mit Access-Datenbanken verwechselt werden. Wie Anwendungssoftware, mit der Sie den Inhalt einer Datenbank anzeigen und ändern können, sind auch verschiedene Windows Installer-Erstellungstools bei unabhängigen Softwareanbietern erhältlich. Orca ist eines dieser Tools. Es ist ein Datenbank-Editor, mit dem Sie die in Ihrer Windows Installer-Datenbankdatei (MSI-Datei) enthaltenen Tabellen anzeigen und bearbeiten können. Sie finden Orca auf der Site Platform SDK Components for Windows Installer Developers.

  • Guidgen.exe. Dies ist ein hilfreiches Dienstprogramm, das Globally Unique Identifier (GUIDs) erstellt. Eine GUID ist ein Datentyp, der einen Klassenbezeichner (ClassID) darstellt. In den nachfolgenden Abschnitten müssen Sie an verschiedenen Stellen Ihre eigene GUID in eine bestimmte Tabellenzeile eingeben. Sie finden Guidgen.exe ebenfalls auf der Site Platform SDK Components for Windows Installer Developers.

  • Msiinfo.exe. Dieses Befehlszeilen-Dienstprogramm hilft Ihnen dabei, an die IStream-Schnittstelle Ihrer MSI-Datei zu schreiben. Genauere Angaben hierzu finden Sie im Abschnitt Hinzufügen von Übersichtsinformationen weiter unten in diesem Artikel.

In den nachfolgenden Abschnitten werden wir das Northwind.msi-Beispiel beschreiben.

 

Überlegungen zum Setupplan

Das Northwind-Beispiel, das als Download zu diesem Artikel verfügbar ist, hat folgende Merkmale:

  • Es ist ein sich selbst installierendes Windows Installer-Paket, das die Beispieldatenbank Northwind.mdb, deren unterstützende Bitmapdateien, eine Infodatei, eine bei der ersten Verwendung installierte Hilfedatei sowie Desktopverknüpfungen installiert.

  • Während der Installation kann der Benutzer festlegen, dass einzelne, für eine lokale Ausführung zu installierende Elemente so installiert werden, dass sie von der Quelle aus ausgeführt werden können, oder angeben, dass sie gar nicht installiert werden.

  • Während der Installation kann der Benutzer das Standardverzeichnis ändern, in das diese Dateien geschrieben werden, indem er die Installationsoption Custom anstatt Typical auswählt.

  • Das Hilfefeature kann Benutzern in Form einer "Installation bei Bedarf" zur Verfügung gestellt werden (eine Installation bei Bedarf macht es möglich, den Benutzern und Anwendungen Funktionalität ohne entsprechende Dateien bereitzustellen - weitere Informationen finden Sie unter Installation-On-Demand). Bei diesem Beispiel wird die eigentliche help.txt-Datei nie wirklich auf dem System installiert, bis der Benutzer auf ihre Verknüpfungsdatei klickt. Dies ist insbesondere dann von Vorteil, wenn es sich um große Dateien handelt, die nicht unbedingt für alle Benutzer installiert werden müssen.

  • Dasselbe Paket führt auch eine Deinstallation der Anwendung durch, bei der alle Anwendungsdateien vom Computer des Benutzers gelöscht werden.

  • Bei diesem Beispiel wurden alle Datenzugriffsseiten aus der Datenbank Northwind.mdb entfernt.

Die nachfolgende Tabelle listet die verschiedenen Quelldateien und ihre Zielverzeichnisse auf.

Tabelle 1. Quelldateien und Zielverzeichnisse

Datei

Beschreibung

Pfad zur Quelle (Erstellen Sie eine Verzeichnisstruktur, die dieser gleicht.)

Pfad zum Ziel (Dies sind die Verzeichnisse bei einer Standardinstallation. Ihr Endbenutzer kann dies durch Auswahl der Installationsoption "Benutzerdefiniert" ändern)

Northwind.mdb

Microsoft Access-Datenbank

<Laufwerk>:\Sample\
SourceFiles\Northwind.mdb

<Laufwerk>:\Programme\
Northwind\northwind.mdb

Samples.xls

Microsoft Excel-Arbeitsblatt - Installation bei Bedarf, als separate Funktion installiert

<Laufwerk>:\Sample\
SourceFiles\Samples.xls

<Laufwerk>:\Programme\
Northwind\XLS\Samples.xls

EMPID1.bmp

Mitarbeiterfoto

<Laufwerk>:\Sample\
SourceFiles\EMPID1.bmp

<Laufwerk>:\Programme\
Northwind\EMP1.bmp

(ähnlich für EMPID2.bmp,..,
EMPID9.bmp)

Mitarbeiterfotos

<Laufwerk>:\Sample\
SourceFiles\EMPID2.bmp,.., <Laufwerk>:\Sample\
SourceFiles\EMPID9.bmp

<Laufwerk>:\Programme\
Northwind\EMP2.bmp,..,
<Laufwerk>:\Programme\
Northwind\EMP9.bmp

Readme.txt

Informationsdatei - wird immer installiert

<Laufwerk>:\Sample\
SourceFiles\Readme.txt

<Laufwerk>:\Programme\
Northwind\Readme.txt

Help.txt

Hilfehandbuch - bei erster Verwendung installiert

<Laufwerk>:\Sample\
SourceFiles\Help.txt

<Laufwerk>:\Programme\
Northwind\Readme.txt

Das Paket installiert auch folgende Desktopverknüpfungen:

Tabelle 2. Desktopverknüpfungen

Datei

Speicherort der Verknüpfung

Zielverzeichnis der Verknüpfung (das aufgerufen wird)

s_Northwind

[Desktopordner] auf Zielgerät

<Laufwerk>:\Programme\ Northwind\Northwind.mdb

s_Samples

[Desktopordner] auf Zielgerät

<Laufwerk>:\Programme\ Northwind\Samples.xls

s_Help

[Desktopordner] auf Zielgerät

<Laufwerk>:\Programme\ Northwind\Help.txt

 

Einrichten der Verzeichnisstruktur

Um dieses Beispiel zu reproduzieren, müssen Sie Dateien mit denselben Namen erstellen, wie in der Spalte Datei der Tabelle 1 (oben) aufgeführt, und diese in der entsprechenden Verzeichnisstruktur speichern, wie in der Spalte Pfad zur Quelle derselben Tabelle gezeigt. Es stehen Ihnen zwei MSI-Dateien zur Verfügung:

  • Eine Vorlage (Northwind.msi), mit der Sie üben können. Mithilfe eines Datenbank-Editors wie dem Orca-Tool können Sie die Setupinformationen der nachfolgenden Abschnitte in die Datei eingeben.

  • Die fertige Northwind_Complete.msi-Installationsdatei, die die Setupinformationen aus den nachfolgenden Abschnitten bereits enthält.

    Anmerkung Aufgrund der Art und Weise, wie wir die Spalte DefaultDir in Tabelle 3 (unten) strukturiert haben, müssen sich Northwind.msi und die zugehörigen Quelldateiordner im Stammverzeichnis desselben Verzeichnisses befinden. Beispiel:

    C:\Sample\Northwind.msi

    C:\Sample\Source Files\Northwind.mdb

    C:\Sample\Source Files\Samples.xls

    C:\Sample\Source Files\EMPID1.bmp

 

Ändern der Tabelle "Directory"

Der Installer bewahrt die Informationen zur Struktur des Installationsverzeichnisses in der Tabelle Directory auf. In diesem Abschnitt fügen Sie der Vorlagendatenbank, die Sie gedownloadet haben, Verzeichnisstrukturinformationen für das Beispiel Northwind.msi hinzu. Öffnen Sie die Directory-Tabelle in Northwind.msi mithilfe des Orca-Editors oder eines anderen Editors. Öffnen Sie dann eine leere Instanz von Orca, klicken Sie auf File und dann Open Northwind.msi. Wählen Sie im linken Bereich Directory aus. Klicken Sie in der Menüleiste auf Tables und dann auf Add Row. Geben Sie die folgenden Daten ein:

Tabelle 3. In die "Directory"-Tabelle einzugebende

DIRECTORY

DIRECTORY_PARENT

DEFAULTDIR

TARGETDIR


SOURCEDIR

<Laufwerk>:\Programme

TARGETDIR


NORTHWINDDIR

<Laufwerk>:\Programme

Northwnd|Northwind:Source|SourceFiles

SAMPLES

NORTHWINDDIR

XLS:

SHORTCUTDIR

[Desktopordner]


[Desktopordner]

SAMPLES


Die Elemente in den Spalten DIRECTORY und DIRECTORY_PARENT der oben abgebildeten Tabelle helfen bei der Definition der Verzeichnisstruktur. Dem Ordner SAMPLES in der vierten Zeile ist der Ordner NORTHWINDDIR übergeordnet, der wiederum dem Ordner Programme auf dem Computer des Benutzers untergeordnet ist. Die Einträge in der Spalte DEFAULTDIR legen den Namen des Verzeichnisses fest, das in der Spalte DIRECTORY angegeben ist. Genauere Informationen hierzu erhalten Sie auf der Seite Using the Directory Table.

 

Ändern der Tabelle "Component"

Der Installer installiert und entfernt Ressourcenblöcke, die auch Windows Installer-Komponenten genannt werden. In unserem Beispiel definieren wir drei Komponenten in der Tabelle Component: Northwind, Excel und Help (Sie können nach Wunsch auch andere Namen für diese Komponenten festlegen). Informationen dazu, wie Sie Ihre Komponenten definieren, finden Sie unter Organizing Applications into Compone nts und Defining Installer Components.

Geben Sie mithilfe von Orca die folgenden Daten in die leere Component-Tabelle von Northwind.msi ein:

Anmerkung Jede Komponente sollte mit einer eindeutigen Komponenten-GUID gekennzeichnet sein. Sie sollten die in der nachfolgenden Spalte COMPONENTID ihres Beispiels aufgeführten GUIDs nicht wiederverwenden. Erstellen Sie eine neue GUID mit guidgen.exe:

  1. Doppelklicken Sie auf guidgen.exe.

  2. Aktivieren Sie das vierte Kontrollkästchen Registry Format.

  3. Klicken Sie auf New Guid.

  4. Klicken Sie auf Copy.

Ihre Zwischenablage enthält jetzt eine neue GUID. Fügen Sie den Inhalt der Zwischenablage in die entsprechende Zeile der Tabelle Component ein. Stellen Sie dabei sicher, dass Ihre GUIDs nur Großbuchstaben enthalten.

Tabelle 4. In die "Component"-Tabelle einzugebende Daten

COMPONENT

COMPONENTID

DIRECTORY

ATTRIBUTES

CONDITION

KEYPATH

Northwind

{6019E3DA-95E5-4654-A3FB-2014DA9D0810}

NORTHWINDDIR

2


Northwind.mdb

Excel

{38706530-A2A7-4622-8B82-B905F74AD943}

SAMPLES

2


Samples.xls

Help

{CE1041D1-C5B7-4673-8A4D-721D9A00A5A7}

NORTHWINDDIR

2


Help.txt

Die Quell- und Zielverzeichnisse für jede Komponente werden durch den in die Spalte DIRECTORY eingegebenen Wert bestimmt. Der Installer löst den Speicherort dieses Verzeichnisses mithilfe der Informationen in der Tabelle Directory auf. Der Installer sucht jede Komponente unter Verwendung der Schlüsselpfaddateien, die in der Spalte KEYPATH angegeben sind. Die Attribute für die Remoteausführung sind in dem Beispiel so festgelegt, dass die Komponenten von der Quelle oder lokal ausgeführt werden können.

 

Ändern der Tabelle "File"

Nachfolgend sind die Dateien aufgeführt, die zu jeder unserer drei Komponenten gehören. Im nächsten Abschnitt werden wir jede dieser Dateien mit der zugehörigen Komponente verknüpfen.

Tabelle 5. In die "File"-Tabelle einzugebende Daten

COMPONENT

RESOURCES

Northwind

Northwind.mdb, s_Northwind, Readme.txt, EMPID1.jpg, EMPID2.jpg, EMPID3.jpg, EMPID4.jpg, EMPID5.jpg, EMPID6.jpg, EMPID7.jpg, EMPID8.jpg, EMPID9.jpg

Excel

Samples.xls, s_Samples

Help

Help.txt, s_Help

Nachdem die Gruppierung der Ressourcen in Komponenten festgelegt ist, können wir der Installationsdatenbank die Dateiattributinformationen mittels der Tabelle File hinzufügen.

Keine Datei des Northwind-Beispiels ist komprimiert. Informationen zum Hinzufügen von CAB-Dateien zu Paketen finden Sie unter Compressed and Uncompressed Sources.

Die folgenden Tabelleneinträge benötigen keiner weiteren Erklärung. Allerdings sind in der Spalte ATTRIBUTES die Schlüsseldateien für die Komponente durch 512 gekennzeichnet. Dies bedeutet, dass der Installer ein Fehlerdialogfeld mit den Optionen Retry oder Cancel anzeigt, wenn er aus irgendeinem Grund eine dieser Schlüsseldateien nicht installieren kann (falls sich die Quelldatei beispielsweise nicht innerhalb des Quellabbildes befindet). Bei den anderen Dateien der Tabelle werden im Falle eines Installationsfehlers die Optionen Abort, Retry und Ignore angezeigt (das heißt, der Benutzer kann die Installation erfolgreich fertig stellen, ohne die betroffene Datei installieren zu müssen).

Öffnen Sie Northwind.msi mithilfe Ihres Datenbank-Editors, fügen Sie die Tabelle File hinzu, und geben Sie dann die aufgeführten Daten in die nachfolgenden zwei Tabellen ein:

Anmerkung Ändern Sie die Dateigrößen in der Spalte FILESIZE, um die genauen Dateigrößen auf Ihrem System festzuhalten.

Tabelle 6. In die "Directory"-Tabelle einzugebende Daten (Teil 1)

FILE

COMPONENT_

FILENAME

FILESIZE

Northwind.mdb

Northwind

Northwind.mdb

1812000

Readme.txt

Northwind

Readme.txt

1000

EMPID1.bmp

Northwind

EMPID1.bmp

41000

EMPID2.bmp

Northwind

EMPID2.bmp

41000

EMPID3.bmp

Northwind

EMPID3.bmp

41000

EMPID4.bmp

Northwind

EMPID4.bmp

41000

EMPID5.bmp

Northwind

EMPID5.bmp

41000

EMPID6.bmp

Northwind

EMPID6.bmp

41000

EMPID7.bmp

Northwind

EMPID7.bmp

41000

EMPID8.bmp

Northwind

EMPID8.bmp

41000

EMPID9.bmp

Northwind

EMPID9.bmp

41000

Samples.xls

Excel

Samples.xls

217000

Help.txt

Help

Help.txt

1000

Tabelle 7. In die "Directory"-Tabelle einzugebende Daten (Teil 2)

Version

Language

ATTRIBUTES

SEQUENCE



512

1



0

1



0

1



0

1



0

1



0

1



0

1



0

1



0

1



0

1



0

1



512

1



512

1

 

Ändern der Tabelle "Media"

Mit der Tabelle Media werden die Datenträger beschrieben, die die Quellmedien für die Installation darstellen. Da die Dateien für diesen Artikel nicht komprimiert sind, können Sie in diese Spalten Ihrer leeren Media-Tabelle einfach Folgendes eingeben:

Tabelle 8. In die "Media"-Tabelle einzugebende Daten

DISKID

LASTSEQUENCE

1

1

 

Ändern der Tabelle "Feature"

Mit dem Installer können Benutzer Anwendungsfunktionsblöcke, auch Windows Installer-Features genannt, installieren oder entfernen, die über die Tabelle Feature geändert wurden.

Das Northwind-Beispiel installiert folgende Elemente in einer aus übergeordneten und untergeordneten Features bestehenden Hierarchie. In der nachfolgenden Liste sind untergeordnete Features im Vergleich zu ihrem übergeordneten Feature eingerückt. Die Features sollten in dieser Reihenfolge im SelectionTree-Steuerelement der Benutzeroberfläche angezeigt werden:

Northwind

   Help

Excel

Öffnen Sie Northwind.msi mit Ihrem Datenbank-Editor, und geben Sie diese Daten in die folgenden zwei Tabellen in der leeren Feature-Tabelle ein:

Tabelle 9. In die "Feature"-Tabelle einzugebende Daten (Teil 1)

FEATURE

FEATURE_PARENT

TITLE

DESCRIPTION

Northwind


Northwind-Datenbank

Northwind-Beispieldatenbank

Help

Northwind

Hilfedatei

Benötigen Sie Hilfe?

Excel


Excel-Arbeitsblatt

Excel-Beispielarbeitsblatt

Tabelle 10. In die "Feature"-Tabelle einzugebende Daten (Teil 2)

DISPLAY

LEVEL

DIRECTORY_

ATTRIBUTES

1

3

NORTHWINDDIR

32

5

3

NORTHWINDDIR

4

7

3

Excel

32

"Feature"-Tabellendaten, Teil 2

Wenn man in der zweiten Tabelle oben das Attribut DISPLAY auf einen ungeraden Wert setzt, bewirkt man damit, dass das Feature im SelectionTree-Steuerelement erweitert dargestellt wird.

 

Ändern der Tabelle "FeatureComponents"

Jedes Windows Installer-Feature verwendet eines oder mehrere Windows Installer-Komponenten, und die Features können Komponenten auch gemeinsam nutzen. Die Tabelle FeatureComponents definiert die Beziehung zwischen den Features und den Komponenten, die Sie in den vorhergehenden Abschnitten festgelegt haben.

Öffnen Sie Northwind.msi mit Ihrem Datenbank-Editor, und geben Sie die folgenden Daten in die leere FeatureComponents-Tabelle ein:

Tabelle 11. In die "FeatureComponents"-Tabelle einzugebende Daten

FEATURE_

COMPONENT_

Northwind

Northwind

Help

Help

Excel

Excel

 

Ändern der Tabelle "Shortcut"

Die Tabelle Shortcut und verwandte Tabellen der Installationsdatenbank enthalten Informationen, die für die Installation von Verknüpfungen benötigt werden. Weitere Informationen hierzu finden Sie unter Program Information Tables Group und Editing Installer Shortcuts. In diesem Abschnitt fügen Sie Informationen hinzu, mit denen sowohl nicht angekündigte als auch angekündigte (Help.txt) Verknüpfungen für das Northwind-Beispiel definiert werden.

Öffnen Sie Northwind.msi mit Ihrem Datenbank-Editor, und geben Sie die Daten der folgenden zwei Tabellen in die Shortcut-Tabelle ein:

Tabelle 12. In die "Shortcut"-Tabelle einzugebende Daten (Teil 1)

SHORTCUT

DIRECTORY_

NAME

COMPONENT_

s_Northwind

SHORTCUTDIR

Northwnd|Northwind

s_Northwind

s_Samples

SHORTCUTDIR

Sample

Excel

s_Help

SHORTCUTDIR

Help

Help

Tabelle 13. In die "Shortcut"-Tabelle einzugebende Daten (Teil 2)

TARGET

ARGUMENTS

DESCRIPTION

ICON

Northwind




Excel




Help




Die Daten in der Spalte DIRECTORY der ersten oben aufgeführten Tabelle sind ein Fremdschlüssel zur Directory-Spalte der Directory-Tabelle, der den Ordner angibt, in dem diese Verknüpfungen installiert werden sollen. In diesem Fall werden alle Verknüpfungen auf dem Desktop des Benutzers gespeichert. Die Daten in der Spalte NAME stellen den Namen der zu erstellenden Verknüpfung dar. Wir haben den kurzen Dateinamen für Systeme hinzugefügt, die 8.3-Dateinamenformate nicht erkennen.

 

Ändern der Tabelle "Property"

In diesem Abschnitt fügen Sie der Tabelle Property weitere Informationen hinzu, die sich auf die Installation des Northwind-Beispiels beziehen. Sehen Sie hierzu auch Program Information Tables Group.

Jedes Installationspaket benötigt fünf Eigenschaften. Diese müssen für die Property-Tabelle des Northwind-Beispiels aktualisiert werden:

  • ProductCode

  • ProductLanguage

  • Manufacturer

  • ProductVersion

  • ProductName

Zusätzlich zu diesen benötigten Eigenschaften können Sie noch weitere Eigenschaften aus der nachfolgenden Tabelle eingeben. Öffnen Sie dazu Northwind.msi mit Ihrem Datenbank-Editor, und geben Sie die nachfolgenden Daten in die Property-Tabelle ein. Eigenschaftennamen, die als Link formatiert sind, sind integrierte Installer-Eigenschaften. Bei den anderen Eigenschaften handelt es sich um vom Autor definierte Eigenschaften. Wenn Sie dieses Beispiel reproduzieren möchten, sollten Sie andere GUID-Werte für die Eigenschaften ProductCode und UpgradeCode verwenden. Außerdem müssen Sie sicherstellen, dass jeder Buchstabe in der GUID-Zeichenfolge großgeschrieben ist.

Tabelle 14. In die "Property"-Tabelle einzugebende Daten

Property

Value

ARPHELPLINK

www.office.microsoft.com

BannerBitmap

bannrbmp

ButtonText_Back

< &Back

ButtonText_Browse

Br&owse

ButtonText_Cancel

Cancel

ButtonText_Exit

&Exit

ButtonText_Finish

&Finish

ButtonText_Ignore

&Ignore

ButtonText_Install

&Install

ButtonText_Next

&Next >

ButtonText_No

&No

ButtonText_OK

OK

ButtonText_Remove

&Remove

ButtonText_Reset

&Reset

ButtonText_Resume

&Resume

ButtonText_Retry

&Retry

ButtonText_Return

&Return

ButtonText_Yes

&Yes

CompleteSetupIcon

Complete

ComponentDownload

ftp://anonymous@microsoft.com/components/

CustomSetupIcon

Custicon

DefaultUIFont

DlgFont8

DialogBitmap

dlgbmp

DlgTitleFont

{&DlgFontBold8}

ErrorDialog

ErrorDlg

ExclamationIcon

exclamic

False

0

Iagree

No

InfoIcon

info

InstallerIcon

insticon

INSTALLLEVEL

3

InstallMode

Typical

Manufacturer

Microsoft

PIDTemplate

12345<###-%%%%%%%>@@@@@

ProductCode

{18A9233C-0B34-4127-A966-C257386270BC}

ProductID

None

ProductLanguage

1033

ProductName

Northwind

ProductVersion

01.00.0000

Progress1

Installing

Progress2

installs

PROMPTROLLBACKCOST

P

RemoveIcon

removico

RepairIcon

repairic

Setup

Setup

True

1

UpgradeCode

{D5496A62-8C86-4007-9955-B3E45D4FCE03}

Wizard

Setup Wizard

 

Verwenden der Tabelle "InstallExecuteSequence"

Die nachfolgende Tabelle InstallExecuteSequence enthält die Aktionen, die durchgeführt werden, wenn der Installer die Aktion INSTALL der obersten Ebene ausführt. Weitere Informationen finden Sie unter Installation Procedure Tables Group, Using a Sequence Table und Sequence Table Detailed Example.

Wenn Sie die mit diesem Artikel gelieferte Vorlage Northwind.msi verwendet haben, dann enthalten die Sequence-Tabellen in Ihrer Kopie von Northwind.msi bereits Vorschläge für Aktionssequenzen. Sie müssen zum Schreiben des Northwind-Installationspaketes keine Änderungen an diesen Sequenzen vornehmen.

Tabelle 15. In die "InstallExecuteSequence"-Tabelle einzugebende Daten

ACTION

CONDITION

SEQUENCE

AllocateRegistrySpace

NOT Installed

1550

AppSearch


400

BindImage


4300

CCPSearch

NOT Installed

500

CostFinalize


1000

CostInitialize


800

CreateFolders


3700

CreateShortcuts


4500

DeleteServices

VersionNT

2000

DuplicateFiles


4210

FileCost


900

InstallFiles


4000

InstallFinalize


6600

InstallInitialize


1500

InstallODBC


5400

InstallServices

VersionNT

5800

InstallValidate


1400

LaunchConditions


100

MoveFiles


3800

PatchFiles


4090

ProcessComponents


1600

PublishComponents


6200

PublishFeatures


6300

PublishProduct


6400

RegisterClassInfo


4600

RegisterComPlus


5700

RegisterExtensionInfo


4700

RegisterFonts


5300

RegisterMIMEInfo


4900

RegisterProduct


6100

RegisterProgIdInfo


4800

RegisterTypeLibraries


5500

RegisterUser


6000

RemoveDuplicateFiles


3400

RemoveEnvironmentStrings


3300

RemoveFiles


3500

RemoveFolders


3600

RemoveIniValues


3100

RemoveODBC


2400

RemoveRegistryValues


2600

RemoveShortcuts


3200

RMCCPSearch

NOT Installed

600

SelfRegModules


5600

SelfUnregModules


2200

SetODBCFolders


1100

StartServices

VersionNT

5900

StopServices

VersionNT

1900

UnpublishComponents


1700

UnpublishFeatures


1800

UnregisterClassInfo


2700

UnregisterComPlus


2100

UnregisterExtensionInfo


2800

UnregisterFonts


2500

UnregisterMIMEInfo


3000

UnregisterProgIdInfo


2900

UnregisterTypeLibraries


2300

ValidateProductID


700

WriteEnvironmentStrings


5200

WriteIniValues


5100

WriteRegistryValues


5000

RemoveExistingProducts


6700

MigrateFeatureStates


1200

FindRelatedProducts


200

 

Verwenden der Tabelle "InstallUISequence"

Die nachfolgende Tabelle InstallUISequence enthält die Aktionen, die durchgeführt werden, wenn die Aktion INSTALL der obersten Ebene ausgeführt wird und die interne Benutzeroberflächenebene auf Full UI oder Reduced UI eingestellt ist. Der Installer überspringt die Aktionen dieser Tabelle, wenn die Benutzeroberflächenebene auf Basic UI oder No UI gesetzt ist. Weitere Informationen finden Sie unter User Interface sowie User Interface Levels, Installation Procedure Tables Group, Using a Sequence Table und Sequence Table Detailed Example im Windows Installer SDK.

Wenn Sie die Vorlage Northwind.msi verwendet haben, dann enthalten die Sequence-Tabellen in Ihrer Kopie von Northwind.msi bereits Vorschläge für Aktionssequenzen. Zum Schreiben des Northwind-Installationspaketes sollten keine Änderungen mehr an diesen Sequenzen vorgenommen werden müssen.

Tabelle 16. In die "InstallExecuteSequence"-Tabelle einzugebende Daten

ACTION

CONDITION

SEQUENCE

AppSearch

400

CCPSearch

NOT Installed

500

CostFinalize

1000

CostInitialize

800

ExecuteAction

1300

ExitDlg

-1

FatalErrorDlg

-3

FileCost

900

LaunchConditions

100

MaintenanceWelcomeDlg

Installed AND NOT RESUME AND NOT Preselected

1250

PrepareDlg

140

ProgressDlg

1280

ResumeDlg

Installed AND (RESUME OR Preselected)

1240

RMCCPSearch

NOT Installed

600

UserExitDlg

-2

WelcomeDlg

NOT Installed

1230

MigrateFeatureStates

1200

FindRelatedProducts

200

 

Verwenden der Tabelle "AdminExecuteSequence"

Die nachfolgende Tabelle AdminExecuteSequence enthält die Aktionen, die der Installer ausführt, wenn er die Aktion ADMIN der obersten Ebene aufruft. Weitere Informationen finden Sie unter Installation Procedure Tables Group, Using a Sequence Table und Sequence Table Detailed Example.

Wenn Sie Northwind.msi verwendet haben, dann enthalten die Sequence-Tabellen in Ihrer Kopie von Northwind.msi bereits Vorschläge für Aktionssequenzen. Zum Schreiben des Northwind-Beispielinstallationspaketes sollten keine Änderungen mehr an diesen Sequenzen vorgenommen werden müssen.

Tabelle 17. In die "AdminExecuteSequence"-Tabelle einzugebende Daten

ACTION

CONDITION

SEQUENCE

CostFinalize

1000

CostInitialize

800

FileCost

900

InstallAdminPackage

3900

InstallFiles

4000

InstallFinalize

6600

InstallInitialize

1500

InstallValidate

1400

 

Verwenden der Tabelle "AdminUISequence"

Die Tabelle AdminUISequence enthält Aktionen, die der Installer aufruft, wenn er die Aktion ADMIN der obersten Ebene ausführt und die interne Benutzeroberflächenebene auf Full UI oder Reduced UI eingestellt ist. Der Installer überspringt die Aktionen dieser Tabelle, wenn die Benutzeroberflächenebene auf Basic UI oder No UI festgelegt ist. Weitere Informationen finden Sie unter User Interface sowie User Interface Levels, Installation Procedure Tables Group, Using a Sequence Table und Sequence Table Detailed Example.

Wenn Sie die Vorlage Northwind.msi verwendet haben, dann enthalten die Sequence-Tabellen in Ihrer Kopie von Northwind.msi bereits Vorschläge für Aktionssequenzen. Zum Installieren des Northwind-Beispiels sollten keine Änderungen mehr an diesen Sequenzen vorgenommen werden müssen.

Tabelle 18. In die "AdminUISequence"-Tabelle einzugebende Daten

ACTION

CONDITION

SEQUENCE

AdminWelcomeDlg

1230

CostFinalize

1000

CostInitialize

800

ExecuteAction

1300

ExitDlg

-1

FatalErrorDlg

-3

FileCost

900

PrepareDlg

140

ProgressDlg

1280

UserExitDlg

-2

 

Verwenden der Tabelle "AdvtExecuteSequence"

Die nachfolgende Tabelle AdvtExecuteSequence enthält die Aktionen, die der Installer aufruft, wenn der die Aktion ADVERTISE der obersten Ebene ausführt. Weitere Informationen finden Sie unter Installation Procedure Tables Group, Using a Sequence Table und Sequence Table Detailed Example.

Wenn Sie die Vorlage Northwind.msi verwendet haben, dann enthalten die Sequence-Tabellen in Ihrer Kopie von Northwind.msi bereits Vorschläge für Aktionssequenzen. Zum Schreiben des Northwind-Beispielinstallationspaketes sollten keine Änderungen mehr an diesen Sequenzen vorgenommen werden müssen.

Tabelle 19. In die "AdvtExecuteSequence"-Tabelle einzugebende Daten

ACTION

CONDITION

SEQUENCE

CostFinalize

1000

CostInitialize

800

CreateShortcuts

4500

InstallFinalize

6600

InstallInitialize

1500

InstallValidate

1400

PublishComponents

6200

PublishFeatures

6300

PublishProduct

6400

RegisterClassInfo

4600

RegisterExtensionInfo

4700

RegisterMIMEInfo

4900

RegisterProgIdInfo

4800

 

Hinzufügen von Übersichtsinformationen

Die nachfolgenden Übersichtsinformationseigenschaften müssen in jedem Installationspaket definiert werden. Verwenden Sie ein entsprechendes Softwaretool, um auf die IStream-Schnittstelle des Summary Information Stream (Übersichtsinformationsstream) zuzugreifen. Sie können zum Festlegen dieser Eigenschaften beispielsweise das Tool Msiinfo.exe verwenden, das auf der Site Platform SDK Components for Windows Installer Developers enthalten ist - nachfolgend finden Sie ein Beispiel dafür. Wenn Sie diese Eigenschaften nicht festlegen, dann besteht das Paket die Paketüberprüfung nicht (siehe Package Validation).

Tabelle 20. Übersichtsinformationen (erforderlich)

ÜBERSICHTSINFORMATIONSEIGENSCHAFT

DATEN

ANMERKUNGEN

Template
(Plattform und Sprache)

;1033

Die von der Datenbank verwendete Plattform und Sprache. Wenn Sie das Feld für die Plattform leer lassen, bedeutet dies, dass das Paket plattformunabhängig ist. Die Eigenschaft ProductLanguage der Datenbank wird normalerweise für diese Übersichtseigenschaft verwendet. Die Language ID des Beispiels gibt an, dass das Paket amerikanisches Englisch verwendet.

Revision Number
(Paketcode)

{E61815F9-31FC-4023-B8AF-21EC30C5B085}

Dies ist die Paketcode-GUID, die das Beispielpaket eindeutig kennzeichnet. Wenn Sie dieses Beispiel reproduzieren, müssen Sie mithilfe eines Dienstprogramms wie GUIDGEN eine andere GUID für Ihr Paket generieren. Allerdings enthalten die mit GUIDGEN erstellten GUIDs Kleinbuchstaben.
Anmerkung Ein gültiger Paketcode darf nur Großbuchstaben enthalten.

Page Count
(Minimale Installer-Version)

110

Für Windows Installer (Version 1.0) sollte diese Eigenschaft auf die Ganze Zahl 100 gesetzt werden. Für Windows Installer (Version 1.1) sollte diese Eigenschaft auf die Ganze Zahl 110 gesetzt werden.

Word Count
(Quelltyp)

0

Für den globalen Quelltyp für das Paket sind lange Dateinamen angegeben, und er ist als nicht komprimiert definiert. Weitere Informationen hierzu finden Sie unter Compressed and Uncompressed Sources sowie in der Beschreibung der ATTRIBUTES-Spalte der File-Tabelle.

Bei den verbleibenden Eigenschaften des Übersichtsinformationsstreams handelt es sich um die Eigenschaften, die Sie sehen, wenn Sie die Eigenschaften von Northwind.msi mithilfe von Windows Explorer anzeigen. Obwohl diese Eigenschaften nicht unbedingt benötigt werden, können sie nach Wunsch für das Northwind.msi-Beispiel festgesetzt werden:

Tabelle 21. Übersichtsinformationen (optional)

ÜBERSICHTSINFORMATIONSEIGENSCHAFT

DATEN

ANMERKUNGEN

Titel

Installationsdatenbank

Informiert Benutzer darüber, dass diese Datenbank für eine Installation und nicht für eine Transformation oder ein Patch vorgesehen ist.

Subject

Northwind

Dateibrowser können diesen Eintrag als das mit dieser Datenbank zu installierende Produkt anzeigen.

Keywords

Installer, MSI, Datenbank

Dateibrowser, die über Schlüsselwortsuchfunktionen verfügen, können nach diesen Worten suchen.

Author

Microsoft Corporation

Name des Produktherstellers

Comments

Diese Installer-Datenbank enthält die Logik und Daten, die für die Installation von Nordwind erforderlich sind.

Informiert Benutzer über den Zweck dieser Datenbank.

Creating Application

Orca

Die Anwendung, mit der die Installationsdatenbank erstellt wurde. In unserem Fall wird der Orca-Datenbank-Editor als Beispiel angegeben.

Security

0

Die Beispieldatenbank ist nicht lese- oder schreibgeschützt.

Um MsiInfo zum Hinzufügen der Übersichtsinformationen zu unserem Beispiel verwenden zu können, ändern Sie das Verzeichnis, das die Northwind.msi-Datenbank enthält, und geben folgende Befehlszeile ein. Sie sollten die unten angezeigte ID des Beispielpakets nicht wiederverwenden:

Msiinfo.exe Northwind.msi -T "Installationsdatenbank" -J Subject -A
 "Microsoft Corporation" -K "Installer, MSI, Datenbank" -O
 "Diese Installer-Datenbank enthält die Logik und Daten, die für die Installation
 von Nordwind erforderlich sind."
 -P ;1033 -V {A2F283AD-65DE-4259-B36F-C976C1C80A61} -G 100 -W 0 -N Orca -U 0

Weitere Informationen zu den Übersichtsinformationen finden Sie unter About the Summary Information Stream, Using the Summary Information Stream und Summary Information Stream Reference.

Eine vollständige Liste aller Übersichtsinformationseigenschaften und ihre Beschreibungen finden Sie unter Summary Information Stream Property Set bzw. in Summary Property Descriptions.

 

Ändern der Benutzeroberfläche

Zusätzlich zu den Informationen, die in den vorhergehenden Abschnitten beschrieben wurden, enthält Northwind.msi auch Daten für eine Beispielbenutzeroberfläche. Wenn Sie die Northwind.msi-Vorlage verwendet haben, dann sind diese Informationen auch in Northwind.msi enthalten. Sie finden die Informationen für die Beispielbenutzeroberfläche in den nachfolgend aufgelisteten Tabellen - es sind keine weiteren Aktionen Ihrerseits notwendig:

  • Tabelle ActionText

  • Tabelle Binary

  • Tabelle Control

  • Tabelle ControlEvent

  • Tabelle Dialog

  • Tabelle Error

  • Tabelle EventMapping

  • Tabelle RadioButton

  • Tabelle TextStyle

  • Tabelle UIText

Der Datenbank-Editor Orca besitzt eine Vorschauoption für Dialogfelder, mit der Sie die Dialogfelder der Benutzeroberfläche ansehen können, die durch die in den oben aufgeführten Dateien enthaltenen Daten definiert wird.

Das Beispielinstallationspaket Northwind.msi ist jetzt bereit für die Paketüberprüfung. Sie sollten ein neues Paket stets überprüfen, bevor Sie es zum ersten Mal installieren. Genaue Erklärungen hierzu finden Sie im nächsten Abschnitt.

 

Überprüfen von "Northwind.msi"

Autoren von Installationspaketen sollten ihre Pakete immer zuerst überprüfen, bevor sie sie zum ersten Mal installieren, und dies auch bei jeder an dem Paket vorgenommenen Änderung wiederholen. Bei einer Überprüfung wird die Datenbank nach Fehlern durchsucht, die für sich genommen u.U. gültig scheinen, aber im Kontext der gesamten Datenbank inkorrektes Verhalten verursachen können. Durch die Installation eines Paketes, das die Überprüfung nicht bestanden hat, kann das System des Benutzers beschädigt werden. Sehen Sie hierzu die Abschnitte Package Validation und Internal Consistency Evaluators.

Sie können das Beispielpaket mithilfe von Orca überprüfen (klicken Sie im Menü Tools auf Validate).

Eine Beschreibung der Fehler- und Warnmeldungen, die eine Überprüfung zurückgeben kann, finden Sie unter ICE Reference. Korrigieren Sie alle Paketfehler, und wiederholen Sie die Überprüfung so oft wie nötig, bis das Paket sie ohne Fehler besteht.

Wenn das Beispielpaket die Überprüfung bestanden hat, können Sie es durch Klicken auf das Northwind.msi-Symbol oder über die Befehlszeile mithilfe der Befehlszeilenoptionen (siehe Command Line Options) installieren.

Damit ist die Beispielinstallation abgeschlossen.

 

Schlussfolgerung

Dieser Artikel zeigt Access-Entwicklern anhand eines Beispiels, wie professionelle Datenbanksetuppakete unter Verwendung verschiedener Tools erstellt werden. Die Windows Installer-Technologie kann auf diejenigen, die zum ersten Mal entwickeln, recht entmutigend wirken. Glücklicherweise gibt es eine Reihe hervorragender Tools auf dem Markt, die auch komplexen geschäftlichen Anforderungen gerecht werden. Diese Informationen sollten Access-Entwicklern ohne Erfahrung mit der Installer-Technologie ermöglichen, die notwendigen Schritte eines benutzerdefinierten Setups zu erlernen.