You can use logon scripts to create an automated, mandatory installation scheme for installing Windows 98 on multiple computers. This allows you to install Windows 98 from a central location, without actually going to the computer being upgraded.
You can use logon script push installations on Windows 95 computers and on computers running MS-DOS or Windows 3.x with the following real-mode network clients:
Note
This method is only viable for smaller local area networks (LANs). If undue stress is placed on the network from hundreds of concurrent upgrades, the entire network can fail. However, it is a useful alternative in some situations, as when Systems Management Server is not available, staffing resources for deployment are limited, or only a few users typically log on at any one time.
This section describes logon scripts for several different configurations and explains how to set up servers for logon scripts and how to run logon scripts. For more information on logon scripts, see "Using Logon Scripts" in Chapter 18, "Logon, Browsing, and Resource Sharing."
To use logon scripts for push installations, you must do the following:
A push installation actually begins when the user logs onto the client computer.
Because logon scripts run every time the user logs on, and the setup script includes the Windows 98 Setup command, you need to be careful so that Windows 98 Setup is run only once on each computer. The easiest way to do so is to create a special Upgrade account, which all users log onto in order to install Windows 98. This method avoids activating the Setup process again after Windows 98 has been installed. However, using a common Upgrade account might not work in some corporate environments, where INI files are copied to users’ directories based on the user name specified at logon. In such cases, if Windows 98 is installed using an Upgrade account, each user’s application settings will not be migrated to Windows 98. Furthermore, you can add statements to setup scripts to copy the related INI files to C:\Windows as part of the installation process.
Another method you can use with logon scripts to avoid the problem of running Setup a second time is to add a statement to the logon scripts to check the MS-DOS version with alternate actions defined when the version is Windows 98. For more information, see "Implementing Version Checking for Automated Installations," later in this chapter.
Important
If the logon script processor stays in memory after you start Windows 98, and if the computer is not correctly configured to use extended memory, then there might not be sufficient memory available to run Setup. To solve this problem, you can increase the available memory before Setup begins by removing unnecessary terminate-and-stay-resident (TSR) programs and device drivers. For information about how to define statements in a setup script for changing the system configuration as part of installation, see Appendix D, "Msbatch.inf Parameters for Setup Scripts."
For login scripts on NetWare networks, you can use an exit command that runs Windows 98 Setup after the login script is complete. For Windows for Workgroups, you can use a Startup.grp file, as described in "Preparing a Startup.grp File," later in this chapter.
This section presents information about creating logon scripts that use the Upgrade account for installing Windows 98 on Windows 95 client computers.
Tip
Avoid using relative path names in logon scripts and setup scripts so that you can ensure the commands are run from the correct directory.
For client computers running Windows 95 on a Windows NT network where the Upgrade account is to be used to install Windows 98, the logon script must contain the following entry:
\\ntserver\distshare\setup.exe \\ntserver\distshare\msbatch.inf
If items being installed through the Msbatch.inf file require a mapped drive, the logon script must contain the following entries:
net use source_drive \\ntserver\distshare
source_drive\:setup source_drive\:msbatch.inf
Table 4.1 shows the syntax for the entries in the previous example.
Table 4.1 Logon script values for Windows 95 clients on a Windows NT network
Value | Description | ||||
---|---|---|---|---|---|
Source_Drive | Maps a drive letter for the server containing the source files. Check the lastdrive= setting in Config.sys to make sure that the drive letter specified on the preceding command line is a valid logical drive letter. If it is not, the network connection will not be made, and the Setup process will fail. | ||||
\\Ntserver\DistShare | Specifies the Windows NT server that contains the Windows 98 source files. |
For example, the logon script could be similar to the following:
net use k: \\ntserver\distshare
k:\setup.exe k:\msbatch.inf
Microsoft Client for NetWare Networks and Novell Client for Windows 95/98 (sometimes called Client 32) do not need to map a drive to the network distribution share, because both clients understand universal naming convention (UNC) syntax. You cannot call Windows 98 Setup directly as an external program, however, because the login script processor remains open in the background while Windows 98 Setup runs. This produces the error message "One or more MS-DOS-based programs running" (SU 0358). The following example will cause the error message:
#\\nwserver\install\Win98\setup \\nwserver\Win98\msbatch.inf
Therefore, you should have the login script call the program Start.exe (included with Windows 95) with the Windows 98 Setup as a parameter. For example:
#start \\nwserver\install\win98\setup \\nwserver\Win98\msbatch.inf
Start opens Windows 98 Setup as a separate process and then terminates, returning control to the login script processor. This allows Start to close normally and allows Windows to finish loading normally in the background.
The login script for client computers running the real-mode NETX or VLM NetWare clients must contain the following kinds of entries:
map source_drive:nwserver/DistShare
source_drive:setup source_drive:msbatch.inf
Table 4.2 shows the syntax for the entries in the previous example.
Table 4.2 Login script values for real-mode NetWare clients
Value | Description | ||||
---|---|---|---|---|---|
Source_Drive | Specifies the same drive letter as specified in the Startup group. | ||||
Nwserver/DistShare | Specifies the NetWare server that contains the Windows 98 source files. |
For example, for a computer running Windows 95 with a real-mode network client, the login script could be similar to the following:
map k:=nwserver1/win98
#k:setup k:msbatch.inf
In the previous example, the "#" syntax informs the login script processor that the setup command is an external command, (separate from the login script processor itself).
For more information, consult your NetWare documentation.
For NetWare networks, you can use login script variables to control when Setup is run and who runs it. The most common form of login script variables is a Boolean logic test that compares actual values against target values. This section provides a few example of login script variables. For more information about using variables to control login script execution, consult your NetWare documentation.
The following examples use the operating system version and the platform type to determine whether the computer should run Windows 98 Setup.
Example 1 (Client for NetWare Networks):
If "%OS_VERSION"="v7.00"
and "%PLATFORM"="W95"
then #start \\dist\install\Win98\setup
Example 2 (Novell Client for Windows 95/98):
If "%OS_VERSION"="v4.00"
and "%PLATFORM"="W95"
then #start \\dist\install\Win98\setup
In these examples, Setup runs only if both logic tests are true. Once Windows 98 Setup runs, the operating system version variable will have a different value and the client will not attempt to run Setup again. If the user is on a different platform, such as a Macintosh system, Setup will never run.
It might be possible for computers running Windows 95 on networks other than Windows NT or NetWare to use logon scripts for a push installation of Windows 98. The logon scripts must contain the following two elements:
The following examples show logon scripts for OS/2 and Banyan VINES:
OS/2 Server example:
\\ntserver\distshare\setup.exe \\ntserver\distshare\msbatch.inf
Banyan VINES example:
Server@Context@share\setup.exe Server@Context@share\msbatch.inf
The setup process might require that a drive be mapped. If so, you must add a line that maps a drive to the server and network share where the setup files are installed. The following examples show logon scripts for OS/2 and Banyan VINES in which the drives are mapped:
OS/2 Server example:
net use source_drive: \\ntserver\distshare
source_drive:setup source_drive:msbatch.inf
Banyan VINES example:
setdrive source_drive share@group@org
source_drive:setup.exe source_drive: msbatch.inf
Note that with the Banyan VINES Setdrive statement, there is no colon after the source drive.
This section presents information about creating logon scripts that use an Upgrade account for installing Windows 98 on client computers running Windows 3.1, Windows for Workgroups, or MS-DOS. Some of the logon script statements described in this section are related to using the Startup.grp file for Windows for Workgroups, as described in "Preparing a Startup.grp File" later in this chapter.
Tip
Avoid using relative path names in logon scripts and setup scripts so that you can ensure the commands are run from the correct directory.
For a computer running Windows 3.x or MS-DOS real-mode network client, the logon script should be similar to the following:
net start full
net use drive_letter: \\server\distshare
drive_letter:setup drive_letter:msbatch.inf
If the client computer is running on a LAN Manager or Windows for Workgroups network, the logon script must contain the net start full statement. On a Windows for Workgroups network, the real-mode network client for Windows for Workgroups or Windows 3.1 also requires the entry lmlogon=1 in the [Network] section of System.ini. This ensures that the full network redirector is loaded and the user is validated for network logon. Other logon script topics are discussed in the following section.
For client computers running Windows for Workgroups on a Windows NT network where an Upgrade account is used to install Windows 98, the logon script must contain the following entries to use a Startup.grp file:
net use source_drive \\ntserver\distshare
rename windowsdir\startup.grp *.sav
copy path\startup.grp windowsdir\startup.grp
Table 4.3 shows the values for the entries in the previous example.
Table 4.3 Logon script values for Windows for Workgroups clients on a Windows NT network
Value | Description |
---|---|
Source_Drive | Maps a drive letter for the server containing the source files. This must be the same drive letter as specified in the Startup.grp file. Check the lastdrive= setting in Config.sys to make sure that the drive letter specified on the preceding command line is a valid logical drive letter. If it is not, the network connection will not be made and the Setup process will fail. |
\\Ntserver\Distshare | Specifies the Windows NT server that contains the Windows 98 source files. |
Windowsdir | Specifies the relative path to the user’s \Windows directory. |
Path | Specifies the path to the Startup group file. |
For example, for a computer running Windows for Workgroups, the logon script could be similar to the following:
net use k: \\ntserver\distshare
rename .\startup.grp *.sav
copy \winnt\system32\repl\import\scripts\startup.grp .\startup.grp
exit
If you are upgrading computers that run Windows for Workgroups, you can create a special Startup group that is used just once to run the logon script.
The use of the Startup group is mandatory only for computers running Windows for Workgroups 3.11 with logon validation performed by Windows NT Server. In this case, the user starts Windows for Workgroups, which loads the protected-mode protocols and processes the logon script. The logon script runs on a virtual machine (VM); although Windows 98 Setup cannot be run on a VM, the logon script can be used to create a modified Startup.grp file that causes Setup to run as a Windows-based application after the logon script finishes running.
Note
For computers that use a real-mode network client, logon scripts can run Windows 98 Setup directly, without using a special Startup.grp file. Only computers that use a protected-mode network client need to use the Startup.grp method to run Setup from within Windows for Workgroups.
To prepare for push installations to upgrade earlier versions of Windows
source_drive:setup [source_drive:msbatch_format.inf]
If the setup script is named Msbatch.inf and is in the \Windows directory in the source files, you do not need to specify the script name on the command line. Otherwise, specify the drive and script name. For example:
k:\setup k:\myscript.inf
Specify the same source drive used in the logon script statements, as described in the following sections on setting up the server for push installations.
[install]
renfiles=replace.startup.grp
[replace.startup.grp]
startup.grp, startup.sav
[destinationdirs]
replace.startup.grp=10
For information about using login scripts for real-mode NetWare clients if you are using Windows 3.1, Windows for Workgroups, and MS-DOS, see "Login Scripts for Real-Mode NetWare Clients," earlier in this chapter.
This section summarizes the procedures for running logon scripts from Windows NT Server for push installations on Windows 95, Windows 3.1, Windows for Workgroups, and MS-DOS-based computers.
To prepare the server for push installations on a Windows NT network
By default, the user account is created in the domain where you logged onto the network. To create the user account in another domain, you must select that domain before creating the account. If your users log onto multiple domains, create the Upgrade user account in each domain.
The replication service replicates this from the export server to the import server, so the file is copied to \Winnt\System32\Repl\Import\Scripts on the server.
This section summarizes the procedures for running login scripts from a NetWare server for push installations on Windows 95, Windows for Workgroups, Windows 3.1, and MS-DOS-based computers.
To prepare the server for push installations on a NetWare network
This section describes running logon scripts for push installations on Windows 95, Windows 3.1, Windows for Workgroups, and MS-DOS.
The following lists the requirements for using an Upgrade account to upgrade from Windows 95:
To run a logon script for a push installation
When a user logs on, the Windows 98 installation process begins automatically, using the settings in the Msbatch.inf file specified in the logon script.
After copying files, Windows 98 restarts the computer, runs hardware detection, and then begins the Run Once operations (group conversions, and so on). When the Run Once operations are finished, Windows 98 is completely installed. Note that this stage requires the user to log onto the network, so all configuration values must be specified in the setup script to support correct logon and to allow Windows 98 Setup to connect to the shared resources containing Windows 98 source files.
When the user quits Windows 98 at this point, Setup writes all changes to the registry. The user can restart the computer and log on using the usual logon name and password.