ObjectStore Release 5 Windows VAR Kit

Chapter 2

ObjectStore Windows Installation System

The ObjectStore Windows installation and setup system is responsible for creating and maintaining the environment ObjectStore requires in order to operate properly. If you want to replace the standard tool, you must maintain the proper environment.

Installation

Installation requires that various directories and files be created or copied to the user's system, that the system environment be modified to point to the files, and that various entries (most described in more detail in Setup in this chapter) be established in the registry or in system services databases. Also, installations that include a Server generally require that the Server be initialized. This is also described in Setup.

Licensing options
The standard ObjectStore installation system has eight licensing options. Depending on the option selected, the installation system determines whether or not to install

These three license types are represented by flags presented to the entry OS_GetInstallFlags. The flags are described in Chapter 3, API Reference. These flags serve as a basis for the routines that decompress ObjectStore zip files. That is, the files installed are copied from the zip files to the appropriate place in the user's system. These flags determine which files are actually installed.

Optional components
In addition to variations based on licensing options, the installation system allows the following components to be installed or omitted:

Each component option is also represented by a flag presented to the entry OS_GetInstallFlags, described in Chapter 3, API Reference, which serves as a basis for the routines that decompress ObjectStore zip files.

Directories
Though some of the entries described in Chapter 3, API Reference, appear to allow a variety of target directories to be used for elements of an ObjectStore installation, in practice everything should be installed in various directories under a single OS_ROOTDIR. The directory structure should be as follows:

OS_ROOTDIR \ 
      bin
      binsngl
      doc \
            pscript
      etc
      examples
      include
      lib
While the contents of most of the directories are self-evident, the etc and binsngl directories need some explanation.

etc directory
The etc directory contains ObjectStore catalog files that are used to tailor messages for specific languages. If the installation includes development modules, the etc directory includes a desktop.mak file.

binsngl directory
Note that the binsngl directory is self-contained. Applications that run on a single machine can copy these files to any directory (most likely in the user's PATH) and need establish no other settings.

Environment settings
ObjectStore relies on a variety of environment variables. (There are minimal requirements for ObjectStore/Single, as noted previously.) You need the following environment variables, under some circumstances, for the full client-Server version:
OS_ROOTDIR

Required. This is the parent directory of the bin, lib, and such directories.

OS_TMPDIR

Recommended when you are running a Server or Cache Manager service. This is the directory where these processes store their text history files, osserver.txt and oscmgr.txt. If no value is found, the files are stored in the root directory of the boot drive.

PATH

The PATH environment variable should include the ObjectStore bin directory.

INCLUDE

If this is a development machine, the INCLUDE variable should specify the ObjectStore include directory.

LIB

If this is a development machine, the LIB variable should include the ObjectStore lib directory.

The OS_ROOTDIR and OS_TMPDIR values need to be set in the system environment section on Windows NT, to ensure that they are available for the Server and Cache Manager when they run as services.

The environment values are stored in the registry on Windows NT, but they are set through AUTOEXEC.BAT on Windows 95. This can cause some problems on dual-boot machines, so the standard ObjectStore installation creates an OS_AUTO.BAT, which is called from AUTOEXEC.BAT. This construct sets the values for Windows 95, but skips them when Windows NT processes AUTOEXEC.

Registration data in the registry
The standard ObjectStore installation sets a variety of values in the registry concerning product registration. These values are used by the install and setup system and might not be needed for a VAR installation. Most values are stored in

HKEY_LOCAL_MACHINE\SOFTWARE\Object Design Inc.\ObjectStore.4.0\Registration
but one is stored in

HKEY_CURRENT_USER\Software\Object Design Inc.\ObjectStore.4.0\Registration
Note that ObjectStore.4.0 refers to the server generation, not to the current ObjectStore release number, and is used for both Release 4.x and 5.x.

Values stored in HKEY_LOCAL_MACHINE include

The value stored in HKEY_CURRENT_USER is User Name.

See OS_GetRegistration and OS_SetRegistration in Chapter 3, API Reference, for information about using these functions to retrieve and set these values.

Setup

Setup operations are typically performed on a preexisting (or just created) ObjectStore installation. Setup operations generally involve

Setting ObjectStore Server parameter values
ObjectStore Management contains descriptions of specific Server parameters in Chapter 2, Server Parameters. For Windows systems, values are stored in the registry under the key

HKEY_LOCAL_MACHINE\SOFTWARE\Object Design Inc.\ObjectStore.4.0\Server
Individual parameters are stored using value names that correspond to the parameter name (for example, "Authentication Required"). All values are stored as strings (REG_SZ).

Note that you can use the OS_GetServerParameter and
OS_SetServerParameter entries, described in Chapter 3, API Reference, to get and set individual parameters. You can also use the OS_SetServerParams entry to run the Server Parameters dialog and update the registry appropriately.

Creating or modifying RAWFS partition information
Partition information is also stored in the registry, under the same key:

HKEY_LOCAL_MACHINE\SOFTWARE\Object Design Inc.\ObjectStore.4.0\Server
The RAWFS might contain multiple components, named Partition0, Partition1, ..., PartitionN. Partitions must start from number 0 and no gaps are allowed in the sequence. Each partition descriptor has the following format:

<type> <path> <expandability>

where

<type> is either FILE (Windows NT or 95) or PARTITION (Windows NT only).

<path> is the name of a file system file (for FILE) or a partition name in the form

\\.\A:
or a physical drive name in the form

\\.\PhysicalDrive1
<expandability> is either EXPANDABLE or NONEXPANDABLE. Only file system files can be EXPANDABLE. Partitions and physical drives are always NONEXPANDABLE.

If you specify a file system file, the installation must create the file. The Server overwrites the contents of the file during initialization, but it does not create the file if it does not exist. If a file system file is designated NONEXPANDABLE, the installation must also presize the file before initializing the Server.

Note that you can use the OS_SetupRawfs entry, described in Chapter 3, API Reference, to run the standard RAWFS setup dialog and update the registry.

Note also that most changes in RAWFS configurations require you to reinitialize the Server. The only exception is when you add a new component (file, partition, or disk) to an existing RAWFS. You can do this without reinitializing.

Initializing or reinitializing the Server and Server log file
You must reinitialize the ObjectStore Server following an installation or following most changes to a RAWFS configuration. You can use the entry OS_InitLog, described in Chapter 3, API Reference, to initialize the Server. Note that there are several entries in the registry that are relevant to Server initialization under the key

HKEY_LOCAL_MACHINE\SOFTWARE\Object Design Inc.\ObjectStore.4.0\Server 
They are
Log File

Pathname of the Server log file, or a null string if the log is being maintained in the RAWFS

Log Version

300

LogInPartition

0 to indicate that the log is in the RAWFS, 1 to indicate that it is in a file

Server Initialized

1 after the Server has been initialized

Use the entry OS_InitLog, described in Chapter 3, API Reference, to initialize the Server and set the relevant values in the registry.

Setting up the Server and Cache Manager as system services
You can use the entry OS_UpdateStartup, described in Chapter 3, API Reference, to set up system services. This task requires two steps. First, you must update the system services databases. Then set the Auto Start Server value in the registry under

HKEY_LOCAL_MACHINE\SOFTWARE\Object Design Inc.\ObjectStore.4.0\Server
Note that system service updating follows different rules on Windows NT, which supports substantive system services, and Windows 95, which does not.

The following paragraphs characterize the components and sequence of an ObjectStore installation and setup.

Installation System Files

The ObjectStore installation and setup for Windows is an InstallShield application delivered in a number of different files. For ObjectStore Release 5, the files are as follows:
client.zip
debug.zip
devo.zip


Compressed forms of the ObjectStore product files.

examples.zip

ObjectStore example files.

runtime.zip
server.zip




single.zip

ObjectStore/Single files.

doc.zip

ObjectStore HTML documentation files.

pscript.zip

ObjectStore PostScript or PDF format documentation.

msvcrt.dll

Redistributed Microsoft C run-time DLL.

install.bat

Batch file replacing install.exe (executes the command setup -install).

readme.ico
uninst.ico


Program manager icons for README.txt and for uninstall (which executes setup -uninstall).

readme.txt



setup.bmp
setup16.bmp


Bitmaps of the installation splash screen
(setup is 256 color, setup16 is 16 color).

setup.exe
_inst32i.ex_
_setup.dll


InstallShield-supplied executables.

setup.ini

InstallShield startup initialization file.

setup.ins

Compiled ObjectStore InstallShield application.

_setup.lib

InstallShield support library, including both InstallShield-supplied components and Object Design-supplied components. The components are listed in the next table.

_setup.lib components
CTL3D32.DLL
CTL3D32S.DLL
_isres.dll
corecomp.ini
uninst.exe


InstallShield-supplied components

odi.bmp

Object Design logo bitmap

ostore.bmp

ObjectStore logo bitmap

oscp437.dll

Resource DLL used by os_setup.dll

os_setup.dll

Support DLL called from ObjectStore InstallShield application

Components of Installation and Setup

The major ObjectStore-supplied components for the installation and setup are SETUP.INS, OS_SETUP.DLL, and OSCP437.DLL. SETUP.INS is the main InstallShield application program. OS_SETUP.DLL provides a wide variety of ObjectStore-specific support routines, and OSCP437.DLL is a resource DLL supplying English-language resources used by OS_SETUP.DLL. OS_SETUP.DLL and OSCP437.DLL are supplied in object form. SETUP.INS is derived from the source files SETUP.RUL and
OS_SETUP.H that are supplied with this VAR kit.

OS_SETUP.DLL and OSCP437.DLL
Chapter 3, API Reference, describes the available entries in
OS_SETUP.DLL. You should use these entries when modifying the ObjectStore installation or when creating your own installation and setup. The VAR kit might contain a text file with updates for the API documentation included in Chapter 3, API Reference.

The OSCP437.DLL is used internally by OS_SETUP.DLL and should not need to be changed unless the installation is to be performed in a language other than English. Contact Object Design Technical Support for assistance if a non-English system is required.

SETUP.INS: SETUP.RUL and OS_SETUP.H
SETUP.INS is the control program for ObjectStore install, setup, and uninstall. It was generated by the InstallShield compiler from the source files SETUP.RUL (that contains code) and OS_SETUP.H (that contains definitions for the various strings displayed by InstallShield) and for a variety of constants used by SETUP.RUL.

The VAR kit includes SETUP.RUL and OS_SETUP.H in source form. The descriptions of these files are based on the initial versions used with ObjectStore Release 5. Since changes might occur in subsequent versions, Object Design has included two files:

Compare these files to SETUP.RUL and OS_SETUP.H, respectively, to see if any changes have occurred since ObjectStore Release 5.

See Chapter 4, SETUP.RUL Routines, for specific information about how these routines work.

Uninstall

Using uninstall results in the removal of all the various pieces of the ObjectStore installation from the system. This typically means the removal of

ObjectStore might also have installed updated Microsoft C++ run-time DLLs, but there is seldom a reason to remove these during uninstall.



[previous] [next]

Copyright © 1998 Object Design, Inc. All rights reserved.

Updated: 03/26/98 21:57:20