Export (0) Print
Expand All
Expand Minimize

Writing Setup Packages for Your Access Databases

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
 

Sanjay Jacob
Microsoft Corporation

November 2002

Applies to:
     Microsoft® Access
     Microsoft Windows® Installer 2.0

Summary: Learn how Microsoft Access developers can create custom Microsoft Windows Installer (.msi) setup programs for their Access .mdb files using the Northwind sample database as an example. How to include supporting files (help files, readme documents, and so on) into the setup package is also illustrated. (21 printed pages)

Download Odc_accstppkg.exe.


Contents

Introduction
Requirements
Considerations for the Setup Plan
Setting Up Your Directory Structure
Modifying the Directory Table
Modifying the Component Table
Modifying the File Table
Modifying the Media Table
Modifying the Feature Table
Modifying the FeatureComponents Table
Modifying the Shortcut Table
Modifying the Property Table
Using the InstallExecuteSequence Table
Using the InstallUISequence Table
Using the AdminExecuteSequence Table
Using the AdminUISequence Table
Using the AdvtExecuteSequence Table
Adding Summary Information
Modifying the User Interface
Validating Northwind.msi
Conclusion

Introduction

Microsoft® Access developers build solutions that need to be deployed on client machines. Depending on the degree of complexity, Access developers choose from a variety of setup approaches from batch files to custom setup.exe programs to Microsoft Windows® Installer technology in order to create their setup packages. While there is a wide variety of products to suit every complicated setup requirement (for example, the Microsoft Office Developer Packaging Wizard, Microsoft Visual Studio® Installer, Wise for Windows Installer, and InstallShield Developer or InstallShield Express), there are developers who want to create simple yet professional setup packages that bundle up only their Access database that they later ship to their client. The purpose of this paper is to provide you with a template that you can use for this purpose.

Note   If you want to distribute the Access run time along with a packaged database, the Microsoft Office XP Developer Packaging Wizard serves that need.

This article assumes that you have an Access database ready for packaging, Windows Installer 2.0, and the Orca.msi software tool that is capable of creating and editing a Windows Installer (.msi) database.

Requirements

  • ` The installer ships with Microsoft Windows Server 2003, Windows XP, Windows 2000, and Windows Millennium Edition (Windows Me). The installer is also provided as a service pack to Windows NT® version 4.0., Windows 98, and Windows 95. This technology is available as redistributable packages for Windows Installer version 2.0, from the SDK Update site. Two packages are available at this site. One package should only be used to install or upgrade to Windows Installer version 2.0 on Windows Me, Windows 98 and Windows 95. The other package should only be used to install or upgrade to Windows Installer version 2.0 on Windows 2000 and Windows NT, version 4.0 with Service Pack 6. These should not be used to install or upgrade Windows Installer version 2.0 on Windows Server 2003 and Windows XP.
  • Orca. A .msi file is a Windows Installer file. Since these files contain a set of tables, they are sometimes referred to as Windows Installer databases and are not to be confused with Access databases. Analogous to application software that allows you to view and modify the contents of a database, several Windows Installer creation tools are available from independent software vendors. Orca is one such tool. A database editor, Orca lets you view and edit the tables contained in your Windows Installer database file (.msi file). Orca is provided in the Platform SDK Components for Windows Installer Developers.
  • Guidgen.exe. A helpful utility that generates Globally Unique Identifiers (GUIDs) A GUID is a data type that represents a Class Identifier (ClassID). There are a number of places in the sections below where you will need to enter your own GUID into a particular table row. Guidgen.exe is also provided in the Platform SDK Components for Windows Installer Developers.
  • Msiinfo.exe. This is a command-line utility that helps you write to the IStream interface of your msi file. More detail is explained in the Adding Summary Information section later in this article.

In the following sections, we will describe the Northwind.msi sample.

Considerations for the Setup Plan

The Northwind sample, included as a download accompanying this article, has the following specifications:

  • This is a self-installing Windows Installer package that installs the sample Northwind.mdb, its supporting bitmap files, a readme file, a help file installed on first use, and desktop shortcuts.
  • During setup, users have the option of selecting individual features to be installed to run locally, to run-from-source, or to not be installed.
  • During setup, users have the option to change the default directory these files get written to by selecting a "Custom" installation instead of "Typical" installation.
  • The help feature can be presented to users as an install-on-demand feature (installation on demand makes it possible to offer functionality to users and applications in the absence of the files themselves—see Installation-On-Demand for more information). In this example, the help.txt file is never physically installed on the system until the user clicks its shortcut file—this is an especially useful feature if you have large files that don't necessarily get installed for all of your users.
  • The same package also uninstalls the application, removing all application files from the user's computer.
  • In this sample, all data access pages have been removed from Northwind.mdb.

The table below lists the various source files and their destination target.

Table 1. Source files and destination targets

FileDescriptionPath to source (create a directory structure that looks like this)Path to target (these are the directories in a typical installation. Your end user can change this by opting for a "Custom" installation)
Northwind.mdbMicrosoft Access database<drive>:\Sample\

SourceFiles\Northwind.mdb

<drive>:\ProgramFiles\

Northwind\northwind.mdb

Samples.xlsMicrosoft Excel Worksheet—installed on demand, installed as a separate feature<drive>:\Sample\

SourceFiles\Samples.xls

<drive>:\ProgramFiles\

Northwind\XLS\Samples.xls

EMPID1.bmpEmployee picture<drive>:\Sample\

SourceFiles\EMPID1.bmp

<drive>:\ProgramFiles\

Northwind\EMP1.bmp

(similarly for EMPID2.bmp,….,

EMPID9.bmp)

Employee pictures<drive>:\Sample\

SourceFiles\EMPID2.bmp,…., <drive>:\Sample\

SourceFiles\EMPID9.bmp

<drive>:\ProgramFiles\

Northwind\EMP2.bmp,….,

<drive>:\ProgramFiles\

Northwind\EMP9.bmp

Readme.txtInformational file—always installed<drive>:\Sample\

SourceFiles\Readme.txt

<drive>:\ProgramFiles\

Northwind\Readme.txt

Help.txtHelp manual—installed on first use<drive>:\Sample\

SourceFiles\Help.txt

<drive>:\ProgramFiles\

Northwind\Readme.txt

The package also installs these desktop shortcuts:

Table 2. Desktop shortcuts

FileShortcut locationShortcut target

(what gets invoked)

s_Northwind[Desktop Folder] on target machine<drive>:\ProgramFiles\

Northwind\Northwind.mdb

s_Samples[DesktopFolder] on target machine<drive>:\ProgramFiles\

Northwind\Samples.xls

s_Help[DesktopFolder] on target machine<drive>:\ProgramFiles\

Northwind\Help.txt

Setting Up Your Directory Structure

To reproduce this example, create files of the same name as those found in the File column of Table 1 (above) and that reside in a corresponding directory structure as shown in the Path to source column of the same table. Two msi files are provided:

  • A template, Northwind.msi, for you to practice with. Using a database editor like the Orca tool, you may modify the file with the setup information in the sections below.
  • The completed Northwind_Complete.msi installation file pre-populated with setup information from the sections below.
Note   Because of the way we have structured the "DefaultDir" column in Table 3 (below), Northwind.msi and its source files folder must be located at the root of the same directory. For example:
C:\Sample\Northwind.msi
C:\Sample\Source Files\Northwind.mdb
C:\Sample\Source Files\Samples.xls
C:\Sample\Source Files\EMPID1.bmp

Modifying the Directory Table

The installer keeps information about the installation directory structure in the Directory Table. In this section, you add directory structure information for the Northwind.msi sample to the template database you downloaded. Use the Orca database editor or another editor, to open the Directory table in Northwind.msi. Open a blank instance of Orca, select File, then Open Northwind.msi. In the left-hand pane, select Directory. In the menu bar, select Tables, then Add Row. Enter the following data:

Table 3. Data to be entered in directory table

DIRECTORYDIRECTORY_PARENTDEFAULTDIR
TARGETDIR SOURCEDIR
<drive>:\ProgramFilesTARGETDIR.
NORTHWINDDIR<drive>:\ProgramFilesNorthwnd|Northwind:Source|SourceFiles
SAMPLESNORTHWINDDIRXLS:
SHORTCUTDIR[DesktopFolder].
[DesktopFolder]SAMPLES.

The items in the DIRECTORY and DIRECTORY_PARENT columns of the above table help to define the tree structure. Thus, the parent of the SAMPLES folder in the fourth row is NORTHWINDDIR which is the child of the Program Files folder on the user's machine.

The DEFAULTDIR column entries define what should be the name of the directory specified in the DIRECTORY column. For more details, refer to the Using the Directory Table page.

Modifying the Component Table

The installer installs and removes blocks of resources referred to as Windows Installer Components. In our example we define three components in the Component Table; Northwind, Excel and Help (you can define other names for the components if you so choose). For information about how to define your components, see Organizing Applications into Components and Defining Installer Components.

Using Orca, enter the following data into the blank Component table of Northwind.msi:

Note   Every component should be identified with a unique component GUID. Do not reuse the GUIDs shown below in the COMPONENTID column in your sample. Use guidgen.exe to create a new GUID:
  1. Double-click guidgen.exe.
  2. Select the fourth checkbox Registry Format.
  3. Click New Guid
  4. Click Copy.
Your clipboard now contains a new GUID. Paste the contents of the clipboard into the appropriate row in the Component table. You will want to ensure that your GUIDs only contain uppercase letters.

Table 4. Data to be entered in component table

COMPONENTCOMPONENTIDDIRECTORYATTRIBUTESCONDITIONKEYPATH
Northwind{6019E3DA-95E5-4654-A3FB-2014DA9D0810}NORTHWINDDIR2 Northwind.mdb
Excel{38706530-A2A7-4622-8B82-B905F74AD943}SAMPLES2 Samples.xls
Help{CE1041D1-C5B7-4673-8A4D-721D9A00A5A7}NORTHWINDDIR2 Help.txt

The source and target directories for each component is specified by the value entered into the DIRECTORY column. The installer resolves the location of this directory using the information in the Directory table. The installer uses the key path files specified in the KEYPATH column to detect each component. The remote execution attributes are set in the sample so that the components can be run from source or run locally.

Modifying the File Table

Shown below are the files that go into each of our three components. We will associate each of the files with its containing component in the next section.

Table 5. Data to be entered in file table

COMPONENTRESOURCES
NorthwindNorthwind.mdb, s_Northwind, Readme.txt, EMPID1.jpg, EMPID2.jpg, EMPID3.jpg, EMPID4.jpg, EMPID5.jpg, EMPID6.jpg, EMPID7.jpg, EMPID8.jpg, EMPID9.jpg
ExcelSamples.xls, s_Samples
HelpHelp.txt, s_Help

Now that the grouping of resources into components has been specified, file attribute information can be added to the installation database via the File Table.

None of the files in the Northwind sample are compressed. See Compressed and Uncompressed Sources for information on adding cabinet files to packages.

The table entries below are self-explanatory. However, in the ATTRIBUTES column, those files that are key files for the component are labeled as 512, meaning that if the installer is unable to install the file for some reason (for example, if the source file cannot be located within the source image), then an error dialog box will appear with the options Retry or Cancel. For the other files in the table below, the options in case of an install error will be Abort, Retry, and Ignore (that is, the user will have the option to complete the install successfully without installing that file).

Use your database editor to open Northwind.msi, add the File Table, and then enter the data in the following two tables:

Note   Change the file sizes in the FILESIZE column to reflect accurate file sizes on your system.

Table 6. Data to be entered in directory table (part 1)

FILECOMPONENT_FILENAMEFILESIZE
Northwind.mdbNorthwindNorthwind.mdb1812000
Readme.txtNorthwindReadme.txt1000
EMPID1.bmpNorthwindEMPID1.bmp41000
EMPID2.bmpNorthwindEMPID2.bmp41000
EMPID3.bmpNorthwindEMPID3.bmp41000
EMPID4.bmpNorthwindEMPID4.bmp41000
EMPID5.bmpNorthwindEMPID5.bmp41000
EMPID6.bmpNorthwindEMPID6.bmp41000
EMPID7.bmpNorthwindEMPID7.bmp41000
EMPID8.bmpNorthwindEMPID8.bmp41000
EMPID9.bmpNorthwindEMPID9.bmp41000
Samples.xlsExcelSamples.xls217000
Help.txtHelpHelp.txt1000

Table 7. Data to be entered in directory table (part 2)

VersionLanguageATTRIBUTESSEQUENCE
  5121
  01
  01
  01
  01
  01
  01
  01
  01
  01
  01
  5121
  5121

Modifying the Media Table

The Media Table is used to describe the set of disks making up the source media for the installation. Since this article uses uncompressed files, simply enter the following into these columns in your empty Media table:

Table 8. Data to be entered in media table

DISKIDLASTSEQUENCE
11

Modifying the Feature Table

The installer enables users to install and remove blocks of an application's functionality referred to as Windows Installer Features, modified via the Feature Table.

The Northwind sample installs the following in a hierarchy of parent and child features. In the following list, child features are indented relative to their parent feature. The features should display in this order in the SelectionTree control of the user interface:

Northwind

   Help

Excel

Use your database editor to open Northwind.msi and enter the data in the following two tables into the empty Feature Table:

Table 9. Data to be entered in feature table (part 1)

FEATUREFEATURE_PARENTTITLE DESCRIPTION
Northwind Northwind databaseSample Northwind database
HelpNorthwindHelp fileLooking for answers?
Excel Excel worksheetSample Excel worksheet

Table 10. Data to be entered in feature table (part 2)

DISPLAYLEVELDIRECTORY_ ATTRIBUTES
13NORTHWINDDIR32
53NORTHWINDDIR4
73Excel32

Feature Table Data Part 2

In the second table above, setting the DISPLAY attribute to an odd value ensures that the feature appears expanded in the SelectionTree control.

Modifying the FeatureComponents Table

Each Windows Installer Feature uses one or more Windows Installer Components, and features may share components. The FeatureComponents Table defines the relationship between the features and components that you defined in the sections above.

Use your database editor to open Northwind.msi and enter the following data into the empty FeatureComponents table:

Table 11. Data to be entered in FeatureComponents table

FEATURE_ COMPONENT_
NorthwindNorthwind
HelpHelp
ExcelExcel

Modifying the Shortcut Table

The Shortcut Table and related tables of the installation database hold information needed to install shortcuts. For more information, see the Program Information Tables Group and Editing Installer Shortcuts. In this section you add information that specifies both non-advertised and advertised (Help.txt) shortcuts for the Northwind sample.

Use your database editor to open Northwind.msi and enter the data in the following two tables into the Shortcut table:

Table 12. Data to be entered in FeatureComponents table (part 1)

SHORTCUT DIRECTORY_NAMECOMPONENT_
s_NorthwindSHORTCUTDIRNorthwnd|Northwinds_Northwind
s_SamplesSHORTCUTDIRSampleExcel
s_HelpSHORTCUTDIRHelpHelp

Table 13. Data to be entered in FeatureComponents table (part 2)

TARGETARGUMENTSDESCRIPTIONICON
Northwind   
Excel   
Help   

In the first table above, the data in the DIRECTORY column is a foreign key into the Directory column of the Directory table specifying the folder to install these shortcuts into. In this case, all shortcuts go onto the user's desktop. The data in the NAME column represents the name of the shortcut to be created. We have added the short filename for systems that do not recognize 8.3 filename formats.

Modifying the Property Table

In this section you add additional information to the Property Table specific to the installation of the Northwind sample. See also the Program Information Tables Group.

There are five properties that are required in every installation package, and these must be updated for the Northwind sample's Property table:

  • ProductCode
  • ProductLanguage
  • Manufacturer
  • ProductVersion
  • ProductName

In addition to the required properties above, you may enter additional properties from the table below. To do so, use your database editor to open Northwind.msi and enter the following data into the Property table. Property names that are links are built-in installer properties. The other properties are author-defined properties. If you intend to reproduce this sample, use different GUID values for the ProductCode and UpgradeCode properties. You also want to ensure that every letter in the GUID string is uppercase.

Table 14. Data to be entered in property table

PropertyValue
ARPHELPLINKwww.office.microsoft.com
BannerBitmapbannrbmp
ButtonText_Back< &Back
ButtonText_BrowseBr&owse
ButtonText_CancelCancel
ButtonText_Exit&Exit
ButtonText_Finish&Finish
ButtonText_Ignore&Ignore
ButtonText_Install&Install
ButtonText_Next&Next >
ButtonText_No&No
ButtonText_OKOK
ButtonText_Remove&Remove
ButtonText_Reset&Reset
ButtonText_Resume&Resume
ButtonText_Retry&Retry
ButtonText_Return&Return
ButtonText_Yes&Yes
CompleteSetupIconComplete
ComponentDownloadftp://anonymous@microsoft.com/components/
CustomSetupIconCusticon
DefaultUIFont DlgFont8
DialogBitmapdlgbmp
DlgTitleFont{&DlgFontBold8}
ErrorDialogErrorDlg
ExclamationIconexclamic
False0
IagreeNo
InfoIconinfo
InstallerIconinsticon
INSTALLLEVEL3
InstallModeTypical
ManufacturerMicrosoft
PIDTemplate12345<###-%%%%%%%>@@@@@
ProductCode{18A9233C-0B34-4127-A966-C257386270BC}
ProductIDNone
ProductLanguage1033
ProductNameNorthwind
ProductVersion01.00.0000
Progress1Installing
Progress2installs
PROMPTROLLBACKCOSTP
RemoveIconremovico
RepairIconrepairic
SetupSetup
True1
UpgradeCode{D5496A62-8C86-4007-9955-B3E45D4FCE03}
WizardSetup Wizard

Using the InstallExecuteSequence Table

The InstallExecuteSequence Table below lists the actions that are executed when the installer executes the top-level INSTALL action. See the Installation Procedure Tables Group, Using a Sequence Table, and the Sequence Table Detailed Example.

If you used the template Northwind.msi provided in this article, the sequence tables in your copy of Northwind.msi already contain suggested action sequences. No changes to these sequences are necessary to author the Northwind installation package.

Table 15. Data to be entered in InstallExecuteSequence table

ACTIONCONDITIONSEQUENCE
AllocateRegistrySpaceNOT Installed1550
AppSearch 400
BindImage 4300
CCPSearchNOT Installed500
CostFinalize 1000
CostInitialize 800
CreateFolders 3700
CreateShortcuts 4500
DeleteServicesVersionNT2000
DuplicateFiles 4210
FileCost 900
InstallFiles 4000
InstallFinalize 6600
InstallInitialize 1500
InstallODBC 5400
InstallServicesVersionNT5800
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
RMCCPSearchNOT Installed600
SelfRegModules 5600
SelfUnregModules 2200
SetODBCFolders 1100
StartServicesVersionNT5900
StopServicesVersionNT1900
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

Using the InstallUISequence Table

The InstallUISequence Table below lists actions that are executed when the top-level INSTALL action is executed and the internal user interface level is set to full UI or reduced UI. The installer skips the actions in this table if the user interface level is set to basic UI or to no UI. See User Interface and User Interface Levels, Installation Procedure Tables Group, Using a Sequence Table, and the Sequence Table Detailed Example in the Windows Installer SDK.

If you used the template Northwind.msi, the sequence tables in your copy of Northwind.msi already contain the suggested action sequences. No changes to these sequences should be necessary to author the Northwind installation package.

Table 16. Data to be entered in InstallExecuteSequence table

ACTIONCONDITIONSEQUENCE
AppSearch 400
CCPSearchNOT Installed500
CostFinalize 1000
CostInitialize 800
ExecuteAction 1300
ExitDlg -1
FatalErrorDlg -3
FileCost 900
LaunchConditions 100
MaintenanceWelcomeDlgInstalled AND NOT RESUME AND NOT Preselected1250
PrepareDlg 140
ProgressDlg 1280
ResumeDlgInstalled AND (RESUME OR Preselected)1240
RMCCPSearchNOT Installed600
UserExitDlg -2
WelcomeDlgNOT Installed1230
MigrateFeatureStates 1200
FindRelatedProducts 200

Using the AdminExecuteSequence Table

The AdminExecuteSequence Table below lists actions that the installer executes when it calls the top-level ADMIN action. See the Installation Procedure Tables Group, Using a Sequence Table, and the Sequence Table Detailed Example.

If you used Northwind.msi, the sequence tables in your copy of Northwind.msi already contain the suggested action sequences. No changes to these sequences should be necessary to author the Northwind sample installation package.

Table 17. Data to be entered in AdminExecuteSequence table

ACTIONCONDITIONSEQUENCE
CostFinalize 1000
CostInitialize 800
FileCost 900
InstallAdminPackage 3900
InstallFiles 4000
InstallFinalize 6600
InstallInitialize 1500
InstallValidate 1400

Using the AdminUISequence Table

The AdminUISequence Table lists actions that the installer calls when it executes the top-level ADMIN action and the internal user interface level is set to full UI or reduced UI. The installer skips the actions in this table if the user interface level is set to basic UI or no UI. See User Interface and User Interface Levels, Installation Procedure Tables Group, Using a Sequence Table, and the Sequence Table Detailed Example.

If you used the template Northwind.msi, the sequence tables in your copy of Northwind.msi already contains the suggested action sequences. No changes to these sequences should be necessary to install the Northwind sample.

Table 18. Data to be entered in AdminUISequence table

ACTIONCONDITIONSEQUENCE
AdminWelcomeDlg 1230
CostFinalize 1000
CostInitialize 800
ExecuteAction 1300
ExitDlg -1
FatalErrorDlg -3
FileCost 900
PrepareDlg 140
ProgressDlg 1280
UserExitDlg -2

Using the AdvtExecuteSequence Table

The AdvtExecuteSequence Table below lists actions the installer calls when it executes the top-level ADVERTISE action. See the Installation Procedure Tables Group, Using a Sequence Table, and the Sequence Table Detailed Example.

If you used the template Northwind.msi, the sequence tables in your copy of Northwind.msi already contains the suggested action sequences. No changes to these sequences should be necessary to author the Northwind sample installation package.

Table 19. Data to be entered in AdvtExecuteSequence table

ACTIONCONDITIONSEQUENCE
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

Adding Summary Information

The following summary information properties must be defined in every installation package, using a software tool to access the IStream interface of the Summary Information Stream. For example, you can use the tool Msiinfo.exe provided in the Platform SDK Components for Windows Installer Developers to set these properties—an example is reproduced below. If these properties are not set, the package will not pass Package Validation.

Table 20. Sumary information (required)

SUMMARY INFORMATION PROPERTYDATANOTES
Template

(Platform and Language)

;1033Platform and language used by the database. Leaving the platform field empty indicates the package is platform independent. The ProductLanguage property from the database is typically used for this summary property. The sample's Language ID indicates that the package uses U.S. English.
Revision Number

(Package Code)

{E61815F9-31FC-4023-B8AF-21EC30C5B085}This is the package code GUID that uniquely identifies the sample package. If you reproduce this sample, use a utility such as GUIDGEN to generate a different GUID for your package. The results of GUIDGEN contain lowercase characters.

Note   Use uppercase letters for a valid package code.

Page Count

(Minimum Installer Version)

110For Windows Installer version 1.0, this property should be set to the Integer 100. For Windows Installer version 1.1, this property should be set to the Integer 110.
Word Count

(Type of Source)

0The global source type for the package is long file names and uncompressed. See Compressed and Uncompressed Sources and the description of the ATTRIBUTES column of the File table for more information.

The remaining summary information stream properties are what you would see when you view the properties of Northwind.msi using Windows Explorer. While they are not required, if desired, these can be set for the Northwind.msi sample:

Table 21. Sumary information (optional)

SUMMARY INFORMATION PROPERTYDATANOTES
TitleInstallation DatabaseInforms users that this database is for an installation rather than a transform or a patch.
SubjectNorthwindFile browsers can display this as the product to be installed with this database.
KeywordsInstaller, MSI, DatabaseFile browsers that are capable of keyword searching can search for these words.
AuthorMicrosoft CorporationName of the product's manufacturer.
CommentsThis installer database contains the logic and data required to install Northwind.Informs users about the purpose of this database.
Creating ApplicationOrcaApplication used to create the installation database. The sample specifies the Orca database editor as an example.
Security0The sample database is unrestricted read-write.

To use MsiInfo to add the summary information to the sample, change to the directory containing the database Northwind.msi and use the following command line. Do not reuse the example package ID shown below:

Msiinfo.exe Northwind.msi -T "Installation Database" -J Subject -A 
"Microsoft Corporation" -K "Installer, MSI, Database" -O "This 
installer database contains the logic and data required to install 
Northwind." 
-P ;1033 -V {A2F283AD-65DE-4259-B36F-C976C1C80A61} -G 100 -W 0 -N Orca -U 0

For more details about summary information, see About the Summary Information Stream, Using the Summary Information Stream, and Summary Information Stream Reference.

See the Summary Information Stream Property Set for a complete list of all the summary information properties and Summary Property Descriptions for their descriptions.

Modifying the User Interface

In addition to information discussed in previous sections, Northwind.msi also contains data for a sample user interface. If you used the template Northwind.msi, then this information is present in Northwind.msi as well. The information for the sample user interface is already contained in the following tables—no further action is required:

  • ActionText table
  • Binary table
  • Control table
  • ControlEvent table
  • Dialog table
  • Error table
  • EventMapping table
  • RadioButton table
  • TextStyle table
  • UIText table

The database editor Orca includes a dialog preview option that you can use to preview the dialogs of the user interface that is specified by the data in the above tables.

The sample installation package Northwind.msi is now ready for package validation. Always run validation on a new package before attempting to install the package for the first time. This is discussed in the next section.

Validating Northwind.msi

Authors of installation packages should always run validation on their packages before attempting to install the package for the first time and rerun validation whenever making any changes to the package. Validation scans the database for errors that may appear valid individually but that cause incorrect behavior in the context of the whole database. Attempting to install a package that fails validation can damage the user's system. See the sections Package Validation and Internal Consistency Evaluators.

You can validate the sample package using Orca (on the Tools menu click Validate).

For a description of the error and warning messages returned by validation, see the ICE Reference. Correct all the errors in the package and rerun validation as necessary until the package passes validation without errors.

Once the package passes validation, you can install the sample package by clicking on the Northwind.msi icon or from the command line using the Command Line Options.

This completes the sample installation.

Conclusion

Using an example, this article demonstrates to Access developers how to create professional database setup packages using a variety of tools. Windows Installer technology can be daunting to the first time developer. Fortunately, there are a variety of excellent tools on the market that suit complex business needs. This information should get Access developers new to Installer technology up and running with a custom setup.

Show:
© 2014 Microsoft