Setup network installation
multi user operating systems become more important today so it would be good if our setup program would offer better support for these operating systems.
For better support of the multi user systems we will differentiate between three installation models. These models are the single user installation, the multi user installation and the network installation.
Single user installation ( Windows 98/ME )
In a single user installation the product will be installed in one single step on the computer of the user. All necessary system configuration ( like writing something into the registry, installing fonts, creating program groups, etc. ) will be done for this single user. After the installation the product is ready for use.
When someone else uses the product on this computer, he will use the same (user) configuration.
Multi user installation (Windows NT, 2000, XP, UNIX)
The system administrator installs the product into a common location on the computer which can be accessed by every user. During this installation, most of the system configuration will be done like font installation or file types registration or the creation of program groups and links to the program files etc. for all users.
Before a user can use the product for the first time, he has to run the user installation to copy all the user specific data into a user specific folder. When he tries to start the product without running the user installation first, the user installation will be started by the product automatically. When the user installation has finished, the product will be started again.
The difference to the single user installation is that different users of the same computer share the same product installation but use their own user data.
Network installation (all OS, setup – net)
The system administrator installs the complete product on a network volume that is accessible for all users. No system specific or user specific installation will be done. All files and information necessary for user installation (e.g. fonts ) will be stored beside the product so they are available later for the user installation.
A user who wants to use the product has to start the setup program in the network installation to install the user specific data on his workstation. This will install the fonts, register the file types, etc. After this installation the user can use the product. When the user tries to start the product without running the user installation first, the user installation will be started by the product automatically. When the user installation has finished, the product will be started again.
In difference to the multi user installation the network installation doesn't make any system configuration nor installs any system files on the user's computer. This will be done later when the user runs the user installation.
Typical layout of an installation
We will always use the network installation as a base for all three kinds of installation. The network installation will be done using the default directories appropriate for the operating system. Optional you can choose another directory if you want.
Windows NT / 2000 / XP
<program files>\<product name>\...
UNIX / Linux
The user installation uses the system default directories, too. These directories are:
Windows NT / 2000 / XP
<document and settings>\<user>\<local settings>\Sun Microsystems\<product name>\...
UNIX / Linux
When performing a single user installation, both installations will be done into the same base directory the user chooses. This could look like:
Windows NT / 2000 / XP
<program files>\<product name>\user\...
UNIX / Linux
Starting the product after a multiuser or network installation
The product has to check on startup, whether the user has already done a user installation. To do this the product has to read its version key from the bootstrap.ini file which should reside next to the executable of the product. In the next step the product looks for this key in the file sversion.ini / .sversionrc ( this file is located in the <documents and settings>\<user>\<application data> directory for Windows and in the $home directory for UNIX / Linux ). There a three possible scenarios.
a.) The key couldn't be found in the sversion.ini or there is no sversion.ini
When the key couldn't be found then probably the user hasn't done the user installation. Therefor the product launches the user installation and quits. The setup launches the product after the successful user installation.
b) The path behind the key is invalid
When the key could be found in both file but the path behind the key in the sversion.ini file is wrong, then something probably went wrong, therefor the setup program should be started in repair mode. So the product launches the setup, quits and after the successful repair the setup launches the product again.
c) The path behind the key is valid
The product launches as usual.
Starting the setup program in a multi user or network installation
When the setup is started inside a multi user or network installation, the setup can't decide automatically whether it should be used to modify or repair the current installation or if it is used to perform a user installation or modify or repair a user installation.
When the setup finds the version key in the sversion.ini it will present the user the option to repair or deinstall or modify the user installation.
When the setup can't find the version key it will present the user the option to do a user installation.
To repair or modify or deinstall the multi user / network installation the setup has to be called with the option -net. For better access to this option the setup should install an additional link ( or program shortcut ) in the multi user / network installation that starts the setup with this option. To prevent unauthorized access to this installation, the setup could ask for a password the system administrator provides during installation and that could be stored MD5 encoded in the installation database.
For a network or a multi user installation privileged access rights might be required.
The user installation of a network installation might require privileged rights for the user's workstation, too, for the installation of fonts etc.
When you try to repair an installation, the setup doesn't know, whether it should repair the user or the network ( or multi user ) installation.
When the multi user / network installation has changed, it might be necessary to redo the user installation.
Choose the installation method automatically? E.g. use single user installation for Windows 98/ME and the multi user installation for all other Windows versions or use always the multi user installation ( this uses a little bit more space on your harddrive for the user installation data? Use the network installation when installing on UNIX or Linux?
We prefer always doing a multi user / network installation with an immediately following user installation when necessary.