Buy Online  
Buy Audio CD's
MarCom Solutions NET ISP

MarCom Solutions MS Windows 2000 Page
. .  MarCom Home
 MarCom News
 MarCom Products
 MarCom Services
 MarCom Other
 Buy Goods Online
 Special Offers
 Internet Links
 MarCom Contacts
 Feedback
 Search The Web
 Search Our WebSite
 Advertise Here
 Information Request
.
. .

MarCom Solutions NET ISP

MarCom Solutions Windows 2000 Implementation

As Microsoft Windows 2000 is migrated into more and more business critical situations we will include any pertinent information in this section.

.
.
.
Buy MS Windiows 2000 Here MS Windows 2000
MarCom Solutions Windows 2000 Guide

Deployment Guide: Automating the Windows 2000 Upgrade

Operating System White Paper Abstract This deployment guide provides information and tips and tricks that will help you to automate the Microsoft® Windows® 2000 operating system upgrade process. It is designed for Information Systems professionals who are responsible for installing Windows 2000 Professional or one of the Windows 2000 Server Family products on many computers.

Introduction

This deployment guide provides information and tips and tricks that will help you to automate the Microsoft® Windows® 2000 operating system upgrade process. It is designed for Information Systems professionals who are responsible for installing Windows 2000 Professional or one of the Windows 2000 Server Family products on many computers. The term upgrade as it is used in this guide means replacing the operating system in place using the upgrade features of Windows 2000. A migration or clean install means formatting the disk and reinstalling the operating system and all applications. Windows 9x is used throughout this guide to collectively refer to Microsoft Windows 95 and Microsoft Windows 98. Most of the information presented is equally applicable to desktops and servers. Where there is a difference, specific reference will be made to the appropriate information. This guide also does not focus specifically on the upgrade to Windows 2000 Advanced Server or Windows 2000 Datacenter Server. The Windows 2000 installation directory for Intel architecture computers is named i386. For Alpha architecture computers, this directory is named Alpha. Wherever reference is made to the i386 directory, the reader may substitute Alpha to refer to Alpha architecture computers. This guide does not discuss "clean" installations on new computers, on freshly formatted disks, or in a new directory on an existing installation. Information on hard disk duplication, including cloning, can be found at http://www.microsoft.com/windows In addition, this guide does not discuss the upgrade of server infrastructures or upgrading to the Windows 2000 Active Directory™ directory service. You should use this guide in conjunction with the Windows 2000 Planning and Design Guide in the Windows 2000 Server Resource Kit.

What You Need to Know

The first choice you will have to make is whether to upgrade existing installations or to perform a clean install of Windows 2000. You can upgrade from the following versions of the Microsoft Windows and Microsoft Windows NT® operating systems. You can upgrade to Windows 2000 Professional from the following operating systems: Windows 95. All released versions including OSR2.x. See note 1. Windows 98 Windows NT 3.51 Workstation Windows NT 4.0 Workstation Windows 2000 Professional. See note 2. You can upgrade to Windows 2000 Server from the following operating systems: Windows NT 3.51 Server Windows NT 4.0 Server Windows NT 4.0 Terminal Server. See note 3. Windows 2000 Server. See note 2. You can upgrade to Windows 2000 Advanced Server from all of the operating systems listed under the upgrade to Windows 2000 Server (above), as well as the following operating systems: Windows NT 4.0 Enterprise Edition Windows 2000 Advanced Server. See note 2. Upgrades are not supported from the following operating systems: Windows 3.x, including Windows for Workgroups Versions of Windows NT prior to version 3.51 BackOffice® Small Business Server Non Microsoft operating systems Notes Windows 95 supports network-based installations where the desktop operating system is shared from a server. Windows 2000 does not support this method of installation. If you are running network-based installations of Windows 95, you must perform a clean installation of Windows 2000 and reinstall the computer's applications. Pre-release versions of Windows 2000 prior to Beta 3 do not support upgrades. Upgrading from Windows NT 3.51 Server with Citrix is not supported. The decision on whether to upgrade or to perform a clean install is based on many factors, including. The level of configuration management and change control you are able to exert over your systems. If your environment is closely managed, with applications shared across the network and all user data centrally stored, then an upgrade could be the best option for you. If, however, your configuration state is not well controlled, a clean install could be the best option. Reformatting the hard disk and installing Windows 2000 and all of the applications results in a completely known configuration. Thereafter, you can use the improved manageability features of Windows 2000 and the Active Directory to closely control the configuration and ensure that a known state is maintained as new applications and updates are installed. Note If you upgraded (as opposed to performing a clean install) from Windows 3.x or Windows for Workgroups to Windows 9x, you should consider performing a clean installation of Windows 2000. It is likely that there are legacy issues associated with these upgrades that you could continue to inherit if you upgrade to Windows 2000. In this case, you might decide that a clean installation of Windows 2000 is preferred. User settings and application data. Even if all of a user's data and applications are stored centrally, there are user settings and application data stored on the local computer—for example, user preferences stored in the system registry. When performing a clean installation, these settings and data must be preserved and reapplied to the system after the installation. Not all of this data is easily identified, and extensive testing is required to ensure that you have identified everything that needs to be preserved. For example, many applications store data outside of the system registry in .ini files or proprietary configuration stores. The operating systems you have in your current environment: Windows 9x or a previous version of Windows NT. Upgrading from previous versions of Windows NT (version 3.51 and later) is inherently easier than upgrading from Windows 9x. This is due to the commonality between the operating system kernel architecture, device driver models, registry database, security architecture, and file systems. Upgrading from existing Windows 9x installations can present additional issues that need to be resolved. The mixture of desktop operating systems and types of network operating systems. It may well be the case that a mixture of upgrades and clean installs is appropriate within your environment. Much of the information presented in this guide is equally applicable to clean installations of Windows 2000 Professional and the Windows 2000 Server Family. There are several different ways of executing Setup. In essence, these approaches can be grouped into two types of installation: push and on-demand. In general, a push install is one where Setup is executed on the target computer (known as the client) under the direction of a master computer, for example Microsoft Systems Management Server (SMS). An on-demand install is where the Setup command line is executed on the client computer in response to some action initiated at that client computer—for example from a logon script or a batch job on a network boot disk. The common methods of executing Setup are as follows: By executing Winnt32.exe from a command line in Windows 9x and Windows NT. Using a network management installation package distributed by SMS or similar products. From a bootable CD-ROM mounted on the client computer. From a network boot disk, usually initiated by a support engineer. Through a shortcut or batch job attached to an email message. From a command issued in a user logon script. The last two methods are not preferred as, in general, they do not provide any control of the day or time when Setup executes or the number of concurrent installations being performed. If you were to place a command line to upgrade to Windows 2000 in a user's logon script, when would that script execute? You may find that you have 300 users all logging in at more or less the same time—for example, first thing in the morning—thus causing a large demand for server resources and network bandwidth. The same is true of an object or shortcut attached to an email message. You have no control over when the upgrades are performed. The preferred method of initiating the upgrade is to distribute the package with a network management software package or at the desktop with an upgrade initiated by a support engineer. By initiating the upgrade through an installation package distributed with SMS or other network management software, you can control how many concurrent upgrades are performed and when they occur. You can also take advantage of load balancing between multiple distribution servers and make optimal use of your available network bandwidth. Having an engineer initiate the upgrade from a network boot disk or CD-ROM allows you to retain full control over the upgrade, and ensures that an engineer is available should anything go wrong. If you choose to use engineers, you should be sure that they are face to face with the customer so that they have a positive impact on user satisfaction. However, this is obviously more expensive than performing the upgrades centrally. The creation and distribution of SMS packages is beyond the scope of this guide, but, in essence, SMS packages distribute a command line to client computers. The issues of load balancing, timing of the execution of this command line, use of available bandwidth, and so on, are controlled by SMS. This guide focuses on how to create a Windows 2000 Setup distribution point and the associated answer file for unattended Setup. The command line used to initiate an unattended upgrade is thus common to all of the distribution mechanisms and to push and on-demand installs. Only the manner in which the Setup command line is executed varies. While the upgrade from previous versions of Windows NT is easier than upgrading from Windows 9x, the following features and applications cannot be properly upgraded: Applications that depend on file system filters, for example anti-virus software and disk quota software. This is due to changes in the Windows Installable File System model. For detailed information, please refer to http://www.microsoft.com/hwdev/ntifskit/ Networking protocols and clients that do not have updates on the Windows 2000 CD. Updated components can be found in the Winntupg folder of the i386 directory. Custom power management solutions and tools. Windows 2000 support for Advanced Configuration and Power Interface (ACPI) and Advanced Power Management (APM) replace these. You should remove the custom tools and solutions before upgrading. Custom Plug and Play solutions. These are no longer necessary as Windows 2000 provides full Plug and Play support. You should remove the custom solutions before upgrading. Contact the software vendor to determine the availability of Windows 2000 compatible upgrades. The following Windows 9x features and applications cannot be upgraded: System utilities and features not supported in Windows 2000. For example, compressed drives that use DriveSpace or third-party applications and disk utilities, such as ScanDisk, disk defragmenters, and anti-virus programs. Compressed drives must be decompressed before upgrading. Applications and utilities that use virtual device drivers (VxDs) and .386 drivers. Check the [386Enh] section of the System.ini file to see if your system is loading any of these virtual drivers. Note that some device drivers make use of VxDs to provide property pages in property dialogs. Third-party Control Panel applications. These are often installed by device driver installation programs to provide additional functionality not provided out of the box with Windows 9x—for example, device-specific capabilities for display adapter drivers. You should test Control Panel application functionality as part of your Windows 2000 evaluation. Network components that do not ship on the Windows 2000 compact disc. Some of these components may have updates in the WIN9XUPG folder of the i386 directory. Custom power management solutions and tools. Windows 2000 ACPI and APM support replaces these. You should remove the custom tools and solutions before upgrading. Custom Plug and Play solutions. These are no longer necessary as Windows 2000 provides full Plug and Play support. You should remove the custom solutions before upgrading. If the functionality provided by these features is not replaced by Windows 2000 and is still required, contact the software vendor to determine the availability of Windows 2000–compatible versions. Because of the way that application developers design their Setup routines, many applications install differently on Windows 9x than on Windows 2000. For example, applications can: Maintain registry data in different locations between Windows 9x and Windows 2000 or Windows NT Make calls to Windows 9x–specific application programming interfaces Install different files when installed on Windows 9x than when installed on Windows 2000 or Windows NT To address these issues, software vendors and corporate developers can implement upgrade packs that can move registry keys, install new versions of files, or move files within the file system. These upgrade packs are used during Windows 2000 Setup to resolve these incompatibilities. The upgrade pack contains a migration dynamic-link library (DLL) that Setup calls to update the application installation. The migration DLL mechanism is fully extensible. More information for developers is available in the latest Windows Platform SDK or at http://msdn.microsoft.com/developer/windows2000/default.asp Because Windows 9x upgrades can require more planning and testing than upgrades from Windows NT, Windows 2000 Setup provides a "report only" mode that can generate compatibility reports and store them in a central location. You can then analyze these reports to determine whether you need migration DLLs and/or new versions of applications. The upgrade process from Windows 9x is discussed in more detail later in this guide.

Detecting Incompatibilities in Windows NT 3.51 and 4.0

You can use the Dosnet.inf file to control the detection of incompatible components and the way in which Setup continues if it finds them. Setup processes the Dosnet.inf file at the beginning of the Setup operation. You can configure the file to instruct Windows 2000 Setup to either cancel the upgrade or to allow the upgrade to proceed if incompatibilities are encountered. If the incompatible component is a service, Setup can be instructed to continue and disable the incompatible service. You can modify this file to include known incompatible components not detailed in Windows 2000. Details of these features of Dosnet.inf are provided later in this guide.

Detecting Incompatibilities in Windows 9x

The way in which Setup detects incompatibilities in Windows 9x is more complex. For hardware, Setup compares all Plug and Play IDs in the Windows 9x registry against a database of the Plug and Play devices supported on the Windows 2000 CD. If a device is not supported and it is not the device controlling the boot device, a wizard page appears prompting the user to provide Windows 2000 drivers for these devices. Setup also checks entries in the computer's Config.sys file to determine if there are any 16-bit device drivers referenced. If any are found, a warning is added to the compatibility report. For software, Setup scans the computer and determines whether any programs use Windows 9x–specific APIs that are not available in Windows 2000. It also compares all of the executable files against a database of known issues. When Setup finds an incompatibility, an entry is written to the compatibility report in the following categories: Programs that do not work under Windows 2000. These programs must be upgraded or replaced. Upgrade packs might be supplied for these applications. Programs that work but with minor issues. Some programs work but exhibit minor problems; for example, the Microsoft Magic School Bus Human Body may exhibit display problems showing full screen animations. Programs that must be removed before upgrading. Some programs affect Windows 2000 Setup and can prevent a successful upgrade. These applications must be removed before upgrading. Programs that are removed by Setup. Some programs are no longer required due to additional functionality in Windows 2000. For example, Adobe Type Fonts are now managed through the Control Panel Fonts application. The Adobe Type Manager Control Panel application is therefore removed during Setup. Programs that should be reinstalled. Some programs may install in a different manner under Windows 9x than under Windows 2000. These programs will work when reinstalled after Windows 2000 Setup has completed. For example, to run correctly, Microsoft Close Combat 1.0 must be reinstalled after Windows 2000 Setup. This is because there is no upgrade pack for Microsoft Close Combat. These problems are reported when you run Windows 2000 Setup in the check upgrade only mode. See the Release Notes for Windows 2000 for details of applications that can prevent the upgrade from being successful. During the early stages of upgrade planning, it is vital that you conduct an audit of your software and hardware for compatibility with Windows 2000. This audit is used to identify applications and hardware that need to be upgrade or replaced. Systems management software, such as Microsoft Systems Management Server, often provides this functionality. In addition, Windows 2000 Setup provides a report only mode that can be used to start the compatibility checking process.

Checking Windows 9x Systems

When run under Windows 9x, Windows 2000 Setup can save the generated report to a central location. To do this, use the following command line. Winnt32.exe /unattend:answer_file where answer_file is a fully qualified file name of a minimal Windows 2000 Setup answer file, as follows: [Unattended] Win9xUpgrade=yes [Win9xUpg] ReportOnly=Yes SaveReportTo=report_file report_file is the fully qualified file name of the report file to generate. Note that you can use %computername% anywhere in the path. Windows 2000 Setup expands this to the computer name of the system where the upgrade check is being performed. For example: SaveReportTo=\\server\share\%computername%.txt When Windows 2000 Setup is run on a system with the computer name "Caroline", this generates a report file whose fully qualified filename is \\server\share\caroline.txt If the answer file is not provided, Windows 2000 Setup saves the compatibility report to a file called Upgrade.txt in the Windows directory of the local hard disk. Note that Setup can only check for known incompatibilities. You should therefore test all of your programs to determine if they are compatible with Windows 2000.

Checking Windows NT Systems

When executed under Windows NT, Windows 2000 Setup does not give the option to save the report file centrally. The report is saved to Winnt32.log in the Windows directory. The file can be stored centrally using the following commands in a batch file. Note the switch used, CheckUpgradeOnlyQ (rather than CheckUpgradeOnly). This causes Winnt32 to generate the log file without displaying the Compatibility Check wizard. winnt32.exe /CheckUpgradeOnlyQ copy %windir%\winnt32.log \\server\share\%computername%.txt del %windir%\winnt32.log

Executing the Winnt32 Command Line for Audit

The audit is fairly quick on Windows NT systems but may take some time on Windows 9x systems. For this reason, you may choose to execute the check on Windows NT systems in a user logon script. However, you shouldn't execute the audit more than once; therefore, the script must contain some logic to enforce the run once requirement. For example, you might save a dummy file to the central location to indicate that the audit had been completed. The script would then test for the existence of this dummy file before executing Winnt32. Alternatively, you can distribute the command line and Unattend.txt file with Microsoft Systems Management Server. Doing so enables you to exert more control over how and when the compatibility checking is conducted. Note that when Windows 2000 Setup is started in a report-only mode, the user cannot continue with the upgrade or installation. Ideally, the hardware and software you plan to use with Windows 2000 should be on the Windows 2000 compatibility lists. These can be found at http://www.microsoft.com/windows/compatible/default.asp and http://www.microsoft.com/hwtest/hcl If you are using hardware or software that does not appear in these lists, you should contact the vendor to determine the availability of Windows 2000–compatible versions or updates. You may also find that the hardware or software is compatible but has simply not been tested. Confirm this with your own testing and with the assistance of the vendor. If you plan to purchase new hardware or software, you should ensure that it is compatible to get the most reliable and easy-to-use Windows 2000 experience. You should consider making this one of the criteria that your purchasing department uses when making buying decisions. Before upgrading to Windows 2000, you should have or know the following information: Know what hardware and software your organization uses. You can obtain this information by auditing your users' desktops or through a compatibility check. Determine how you are going to upgrade or replace incompatible hardware and software. Know the minimum hardware requirements for Windows 2000. These are detailed in the release notes on the Windows 2000 CD and can be found at http://ntbeta.microsoft.com/support/updates.asp Map the topography of your network. The geography of your sites and the available bandwidth between them is important when choosing to do push or on-demand installations. You should also note the number of users at each site. Remember to include remote users, both mobile users with laptop computers, and home-based users. Note how many servers you have at each site and determine how much available storage you have. Know how the timing of upgrades is determined and whether the central IT functions or local management controls this. Also, be aware of the following issues (which are commonly overlooked): Physical access to computers including power-on passwords set in CMOS. Planned outages and disruptions. National holidays and religious festivals that can impact international deployments. Scheduled reporting periods; for example, end-of-year (both calendar and fiscal) and end-of-month reporting. These often vary between departments and political divisions of organizations. Staff vacations. In general, it is not ideal to upgrade a user's computer when that user is on vacation. Applications deployed at the departmental or geographic level. You will almost certainly find applications that are not part of the core suite. A thorough audit will help to identify these. You should be sure to read all of the release notes and Readme files on the Windows 2000 CD. Also, ensure that you have the Windows 2000 Resource Kit. The Resource Kit contains many new and updated tools and utilities that can help you during the Setup and customization phases of installing Windows 2000.

Planning the Upgrade

Microsoft Consulting Services (MCS) consultants are often asked questions such as "What is it that organizations do that leads to a successful upgrade?" While this guide does not go into the detail of the planning process, it does provide the following quick suggestions. If you consider these points and manage the issues they address, your upgrade project has a better chance of running smoothly. The Microsoft Solutions Framework (MSF) provides models for project team formation and project planning. It is important to note that MSF is not a methodology. As its name implies, it is a framework and is based upon the best practices of Microsoft's development groups and MCS. MSF deployment planning is based on a milestone-driven approach with flat teams of peers. There is little hierarchy in the MSF team model. More information on MSF can be found at http://www.microsoft.com/SolutionsFramework/AboutMSF.htm Microsoft Consulting Services can assist you in implementing an MSF based approach. You should perform a thorough lab-based evaluation of Windows 2000. Assemble a representative sample of the PC hardware in use at your site in a test lab. Comprehensive testing on each hardware platform, combined with testing of application installation and operation, can greatly increase both the confidence of the project teams and that of the business decision makers, and ultimately leads to a higher quality deployment. Remember though that Microsoft has invested a great deal of time and money testing industry-wide hardware and software. Supplement this testing with your own. Execute limited scale pilots. The primary purpose of pilot projects should not be to test Windows 2000. Rather, you should carry out early pilots, probably of no more than 50 users, to provide feedback to the project team. This feedback is used to determine the features that you need to enable or disable within Windows 2000. This is particularly relevant if you upgrade from Windows 9x where features such as domain-based machine accounts, local security, and file system security have not previously been addressed. The user population chosen for pilots should represent a cross-section of your business, both in terms of job function and IT proficiency. Indeed, so important is this feedback that you need not necessarily test the upgrade mechanism. You may choose to upgrade pilot systems manually from CD or from a network installation point. When you have made all of the necessary design decisions, use a final pilot to test the upgrade mechanism. The pilot results should be carefully compiled. You can use the results data to estimate upgrade times, the number of concurrent upgrades you can sustain, and peak loads on the user support functions. Plan and test how you are going to roll out upgrades, both to Windows 2000 and to applications. The Microsoft Windows Installer Service is new to Windows 2000 and can be an effective part of this strategy. Further information can be found at http://www.microsoft.com/windows/professional/technical/whitepapers Additional information on change and configuration management is available at http://www.microsoft.com/windows/server/Technical/management/default.asp Note that Microsoft Systems Management Server is ideal for maintaining networks of Windows 2000 computers. Department heads, line managers, and support functions should be involved at all stages of the process. Advertise your project and send regular updates on progress to all areas of the business. Early visibility of your project encourages useful feedback, often on issues you may not have considered. In addition, if managers are involved in the process, they are more likely to see the project in a positive light and assist you whenever they are able. Make sure that users have training available and that support personnel are adequately trained and able to support the upgrade, including the pilots. It is almost certain that MCS and Microsoft Solutions Providers have seen the issues you are faced with. Make use of their services to reduce risk and cost to your project. Details of MCS and Microsoft Solutions Providers can be found at http://www.microsoft.com/enterprise/support/support/consult/consult_home.htm http://www.microsoft.com/enterprise/support/support/partner/partner_home.htm Involve MCS at the early stages of your decision making process. They will be able to make you aware of issues particular to your environment, and can help you to make the correct decisions around deployment. MCS is of less value when engaged in the later stages of a project to troubleshoot issues and when proposed changes to designs are harder and more expensive to implement. Microsoft Solutions Providers are ideally placed to help you with the longer-term implementation of your plan and have experience and knowledge that you can use effectively. In summary, any investment you make in planning will pay back many times over. Troublesome upgrades and deployments are nearly always a result of insufficient planning.

Upgrade Tools and Mechanisms

The $OEM$ directory and other customization features are mentioned in the following chapters. These features are described in detail in the section, "Customizing the Windows 2000 Installation," in this document. Either Winnt.exe or Winnt32.exe starts Windows 2000 Setup. (Winnt.exe starts Setup under 16-bit Microsoft operating systems only, and is not considered further in this guide.) The command line options for Winnt32.exe that are most commonly used during an upgrade are described below. For a complete list of options, type winnt32 /? at a command prompt. The purpose of using answer scripts and the Winnt32.exe command line options is to fully automate the upgrade process. There should be no user input. Remember that Winnt32.exe executed from a supported Windows 9x or Windows NT installation can perform an upgrade, retaining installed programs and user settings and preferences. winnt32 [/s:sourcepath][/unattend[:answer_file]][/m:folder_name] Parameters /m:folder_name Specifies that Setup copies replacement files from an alternative location. Instructs Setup to look in the alternative location first, and if files are present, to use them rather than the files from the default location. /s:sourcepath Specifies the location of the Windows 2000 files. To copy files from multiple servers simultaneously, specify multiple /s sources. If you use multiple /s switches, the first specified server must be available or Setup will fail. /unattend Upgrades your previous operating system in unattended Setup mode. All user settings are taken from the previous installation, so no user intervention is required during Setup. Using the /unattend switch to automate Setup affirms that you have read and accepted the End User License Agreement (EULA) for Windows 2000. Before using this switch to install Windows 2000 on behalf of an organization other than your own, you must confirm that the user (whether an individual or a single entity) has received, read, and accepted the terms of the Windows 2000 EULA. /unattend:[answer_file] Performs an installation in unattended Setup mode. The answer file provides your custom specifications to Setup. The unattended answer file can provide all the information needed to automate Windows 2000 Setup. All existing user settings and preferences, for example mapped drives, desktop preferences and printers, are preserved. It is beyond the scope of this guide to include a complete reference to the unattended answer file (the default file is Unattend.txt). Details can be found in the Windows 2000 Resource Kit and in Unattend.doc on the Windows 2000 CD. Note Some sections are not relevant during an upgrade, and are therefore ignored. This process is similar to that used in deploying previous versions of Windows NT. To create a distribution point Create a folder on a server. Share this folder across the network. Remove create and write permissions for default users. Create a user group for those people who will customize the distribution point, and add permissions to allow this group to customize the distribution point. Copy the contents of the i386 directory to the shared folder. Use Setup Manager to create the unattended answer file. The default name for this file is Unattend.txt. Note All drivers included with the Windows 2000 CD are now contained in a single file, Driver.cab. This file is installed to %windir%\driver cache\i386 and the files within it are listed in Drvindex.inf. This was been done for several reasons, including: Installing new devices on laptops does not require access to the CD or the original network installation point. This reduces the disk footprint on distribution shares with large cluster sizes. Thousands of files have been replaced by one .cab file. This reduces installation time across a network. It is far more efficient to copy one large file than many small files. Most printer drivers use the Windows 2000 core printer drivers. If a new printer driver is installed, there is not requirement to have access to the Windows 2000 CD or the original network installation point. To execute the unattended upgrade, connect to the shared folder and execute the following command line: Winnt32.exe /s:folder_name /unattend:folder_name\answer_file where folder_name is the name of the shared folder containing the distribution point and answer_file is the name of the answer file you created with Setup Manager. For example, the following commands connect to a distribution folder shared as "i386" on a server named "WIN2000" and execute the unattended Setup. Note the use of colons following each command line switch. net use x: \\WIN2000\i386 x:\winnt32 /s:x:\ /unattend:x:\unattend.txt You may experience problems executing Winnt32 from a Windows 9x system when the distribution folder share point is mapped to the root of a drive letter. Setup may stop with an error message indicating that it could not access the Windows 2000 source files. To ensure that this does not occur, create the distribution point in a subfolder of the shared folder and specify this path in the commands. In the next example, the shared folder is named INSTALLS and the subfolder containing the distribution point is named i386. net use x: \\WIN2000\INSTALLS x:\i386\winnt32 /s:x:\i386 /unattend:x:\i386\unattend.txt. By using the using OemFilesPath and OemPnPDriversPath keys in the [Unattended] section of the answer file, you can create a read-only distribution share point. You can then use this to safeguard the installation, ensuring that the distribution point cannot be accidentally modified. Specific access permissions to the OEM files and Plug and Play drivers can then be granted to individuals and user groups who require access. Note that you can specify both the Win9xUpgrade and NtUpgrade keys in the answer file. Setup uses only the appropriate key. The presence of the [Win9xUpg] section is also ignored when you perform an upgrade from Windows NT. This means that you can use a single answer file for both upgrades.

Upgrading Windows 9x Systems

You can use Windows 2000 to upgrade all released versions of Windows 95, Windows 95 OSR2, and Windows 98. The unattended answer file can be used to control how the Windows 9x upgrade is performed. If you are upgrading a Windows 9x system and you know that all of the hardware and software is supported under Windows 2000, you may perform an unattended upgrade simply by using the following command line: winnt32.exe /unattend /s:source files where source_files is the location of the distribution share point. Note that an answer file is not required in this case. If you need to exercise more control over the upgrade process, for example you might want to process custom upgrade packs or additional Plug and Play device drivers, then you can use an answer file to control the upgrade. The most important answer file sections and keys used during upgrades are as follows. (Refer to the Windows 2000 Resource Kit for details of all available options.) Note that there are significant changes from previous versions of Windows NT. Use of the $OEM$ structure is now supported during upgrades (along with the processing of Cmdlines.txt) as is the ability to make additional Plug and Play device drivers available to Setup. The following sections and keys of the unattended Setup answer file can be used to take advantage of these features.

[Unattended]

OemPreinstall. Use this key to install additional software or customize the upgrade process. Details of the OemPreinstall mechanisms are provided later in this guide. The $OEM$ structure and Cmdlines.txt file are both processed during an upgrade. Win9xUpgrade. This key is used in conjunction with the Win9xUpg section of the answer file. OemFilesPath. This key specifies the path to the $OEM$ folder (containing OEM files) if it does not exist under the i386 folder of the distribution share point. The path can be a UNC name. OemPnpDriversPath. Specifies the path to folders that contain Plug and Play drivers that do not ship on the Windows 2000 CD. The folders must contain all files necessary to install the particular devices—drivers, catalog, and .inf. For example, if you have a folder called drivers with subfolders called audio and net, you will specify OemPnPDriversPath = "drivers\audio;drivers\net" in the answer file. Setup will add %systemdrive% to each of the folder names and add those paths to the Plug and Play device search path. When using this parameter, ensure that the folders are available during GUI Mode Setup; you can use the $OEM$\$1 directory structure mechanism for this.

[Win9xUpg]

MigrationDLLs. This key specifies the location of upgrade packs that Setup needs to copy and process during an upgrade to Windows 2000. If multiple paths are specified, commas must separate the paths. Setup will search each of these paths (including its subfolders) for upgrade packs. Multiple upgrade packs can be located at a single path, but each upgrade pack must exist in its own subfolder of that single path. Do not put more than one upgrade pack in a single folder. An upgrade pack consists of a migration DLL (Migrate.dll) and any additional files that may be required to properly upgrade a particular software component from Windows 9x to Windows 2000. Corporate developers can use this mechanism to provide in-house upgrade packs for custom applications. Migration DLLs are standard Win32 DLLs. Windows 2000 Setup calls these DLLs during the upgrade process using standard published entry points. The migration DLL may then modify the system registry, install, move or remove files, recreate shortcuts to an applications components and carry out any other processing that is required to upgrade an application to work with Windows 2000. Full details for developers can be found at: http://msdn.microsoft.com/developer/windows2000/default.asp To add custom upgrade packs, install the migration DLL and any associated files it requires into a subfolder of a path referenced in the MigrationDLLs key. You do not need to supply any additional information in the answer file. Windows 2000 Setup will automatically search for and then call the migration DLL. Examples of upgrade packs can be found on the Windows 2000 CD in the i386\Win9xUpg folder. A single migration DLL can support multiple languages. You do not need to develop separate DLLs for each language upgrade you need to perform. Migration DLLs can be written so that they are called by Setup once for each user (based on the existence of user profiles). This enables upgrade packs to process per-user settings for all users of the computer. UserPassword. This key informs Setup of the passwords to create for specific local accounts. Because Setup cannot migrate the Windows passwords of users when upgrading a system, it must create passwords for non-domain accounts during the migration process. With this key, an administrator can predetermine what those passwords will be for specific users. There are some security concerns associated with using this key because the password is stored as plain text within the answer file. However, after the upgrade is completed, all the password keys are deleted from the copy of the answer file left on the computer. The original copy of the answer file you started Setup with is not modified. If a local account needs to be created for a user who does not have a UserPassword entry and no DefaultPassword is specified, Setup will create a random password. After the first reboot, Setup displays a dialog that asks you to pick a single password for both the administrator account and any other local user accounts it created with random passwords. The same password applies to everyone until the administrator logs on and changes the password(s). DefaultPassword. This key provides a default password for all local accounts created during a migration process. Because Setup cannot migrate the Windows passwords of users when upgrading a system, it must create passwords for non-domain accounts during the migration process. When Setup needs to assign one of these passwords, it will first check to see if there is a UserPassword (see above) entry for that user. If not, it will use the value of this key if specified. There are some security concerns associated with using this key because the password is stored as plain text within the answer file. However, after the upgrade is completed, all the password keys are deleted from the copy of the answer file left on the computer. The original copy of the answer file you started Setup with is not modified. If a local account needs to be created for a user who does not have a UserPassword entry and no DefaultPassword is specified, Setup will create a random password. After the first reboot, Setup displays a dialog that asks you to pick a single password for both the administrator account and any other local user accounts it created with random passwords. The same password applies to everyone until the administrator logs on and changes the password(s). ForcePasswordChange. This key informs Setup to automatically require a password change on all local accounts it creates during the migration process. When a user first logs on using one of these accounts, the user will be informed that the current password has expired and the user will be forced to select a new password before logging on. Note that the default setting for this option is Yes. MigrateUsersAsAdmin. This key informs Setup to add all accounts that it creates during migration to the Local Administrators group, giving those users full control over the computer. Note that the default setting for this option is Yes. MigrateUsersAsPowerUsers. This key informs Setup to add all accounts that it creates during migration to the Power Users group, giving those users full control over the computer. MigrateDefaultUser. This key informs Setup to migrate the default Windows 9x user account settings to the default Windows 2000 user account. Note that the default setting for this option is No. UseLocalAccountOnError. This key directs Setup to create a local account if a network account cannot be automatically determined or resolved. This is only valid on computers with the Microsoft Networking Client software installed. Note that the default setting for this option is No. However, Windows 9x only keeps the domain of the last logged user in its registry. It does not keep the domains of other users who may have logged on to the computer. Therefore, Windows 2000 Setup searches all trusted domains on the network by default and automatically uses a domain account when an exact match is found. If a user is not found on any trusted domain or if the user account is found on two or more domains on the network, a dialog box is presented to the person performing the upgrade to resolve the conflict. This dialog box is also presented if network errors occur. Specifying UseLocalAccountOnError=Yes in the answer file will ensure a complete unattended installation. This will cause Setup to create a local account whenever a network account cannot be automatically resolved. Having a local account implies that the user may not have his or her original network privileges. In addition, if a computer cannot be added to the computer domain during installation of the network on Windows 2000, all user accounts will become local accounts. UserDomain. This key specifies the user domain for a user. Multiple UserDomain lines can be used to specify different domains for different users. When specified, this key prevents Setup from searching all trusted domains on the network for a matching user account. (The search process can be time-consuming if there are a large number of trusted domains on the network.) If the account is not found in the specified domain (either because the account does not exist or the domain is not accessible), a dialog box is presented, and the user must resolve the account unless the UseLocalAccountOnError key is set to Yes.

Installation Directory

It is not possible to specify the installation directory during the upgrade. Windows 2000 will be installed in the same directory where Windows 9x was installed. For example, if Windows 95 is installed in c:\windows and this installation is upgraded to Windows 2000, Windows 2000 will also be installed in c:\windows. The TargetPath key in the [Unattended] section of the answer file is ignored.

Machine Accounts

Unlike Windows 9x, Windows 2000 computers that are to participate in a Microsoft network domain require a machine account on the domain in which they are to participate. This is so that the domain controller servers can identify the computer and grant access to domain resources. Without this machine account, users have to logon to the local workstation domain or workgroup and then explicitly authenticate themselves when connecting to domain resources. Machine accounts are not required for Windows 2000 computers to access non-Microsoft network servers. There are three ways to create machine accounts for Windows 9x computers being upgraded to Windows 2000: Create the machine account on the domain before the upgrade is performed. Create the machine account during the winnt32 phase of Setup. Create the machine account after the upgrade has been performed. Each of these three methods can be done manually or automatically.

Creating Machine Accounts Before Performing the Upgrade

Note If you are not running Microsoft Windows NT servers, desktop computers do not need machine accounts. Domain administrators can create machine accounts manually through the Server Manager administration tool on a Windows NT or Windows 2000 domain server. However, to do this manually would be an extremely time consuming process for anything more than a few computers. It is therefore preferable to automate the process of creating machine accounts. To automate the machine accounts, you need a listing or database of the machine names and the domains in which the machine accounts will be created. There are several ways in which this machine account creation can be automated. The Active Directory Services Interface (ADSI) offers a flexible solution. Important Despite its name, ADSI supports more directories than the Active Directory. For example, it supports NTDS, NDS, and LDAP–compliant stores. You can therefore use ADSI to interface to the directory in a Windows NT domain. ADSI abstracts the underlying Directory Services by using a standard programming model that can be used from Windows Scripting Host, Microsoft Visual Basic, and other development tools that support automation of COM objects. For more information on ADSI, refer to: http://www.microsoft.com/NTServer/nts/exec/overview/ADSIfaqs.asp Using ADSI, a script or utility program can be written to extract the computer names and domain names from the database and automatically create the machine accounts. The database of computer names and domains can be compiled as part of the audit, for example using SMS. Note Creating machine accounts before upgrading is the preferred method.

Creating Machine Accounts During the Upgrade

There are three main ways in which a machine account can be created during the upgrade. By specifying the domain to join in the unattended answer file By allowing the user to provide the necessary information By using the Netdom Resource Kit utility in a run-once command line The disadvantage of all three of these methods is that a user name and password for an account that has permissions to create machine accounts is required. In the case of using the answer file or automating the Netdom utility, these names and passwords could be stored centrally. In any case, you should consider the security implications of storing these details in a file or allowing end-users to create their own machine accounts. If you supply a domain account and password in the unattended answer file, Setup will automatically remove these from the local copies of the answer file left on the computer after the upgrade. It may therefore be acceptable to create a special account for your upgrades and remove this account once the upgrades are completed.

Creating the Machine Account after Setup has Completed

If a machine account is not created before or during the upgrade, the computer will not be able to join a domain. Instead, it will join a workgroup. Joining a workgroup can be controlled using the unattended answer file. A domain does not authenticate users logging onto a Windows 2000 computer in a workgroup. Rather, they are authenticated by the computer's local or workstation domain using a user account local to the computer. To gain access to domain resources, users will have to explicitly authenticate themselves to the domain using their domain account. One of the great advantages of the domain model is that a single logon can be used to authenticate users to the local computer, the logon domain (the one containing the users domain account) and any domains that trust the logon domain. In this way, users can be granted seamless access to multiple resources across several domains. A computer can join a domain (and create a machine account) once Setup has completed. To join a domain Right-click the My Computer icon. Select Properties from the context menu. Click the Network Identification tab, and then click Change. The Network Identification Wizard will guide you through the process of joining a domain. Alternatively the Netdom utility could be used from a command line or script. Note that the user (or script) will need to have the user name and password for an account with the appropriate permissions. It is also possible to create utilities that make a request to create a machine account to a central server computer without having to provide a user name and password. For example, within Microsoft there are web-based utilities on the Microsoft intranet that allow users to maintain their own machine accounts. The server application is granted the appropriate permission to do this, removing the need for the client computer (or user) to know the account details. However, this does mean that anyone with physical access to a computer on the network and a domain user account can create a machine account and thus connect an unauthorized computer. For these reasons, it is preferable to create the machine account before the upgrade. Doing so will ensure that the upgrade is fully unattended and that user profiles are correctly migrated.

User Accounts and Profiles

During the upgrade, any user profiles on the Windows 9x computer are migrated to Windows 2000 profiles. Windows 2000 maintains two types of user accounts: domain accounts and local accounts. In addition, accounts can be members of groups: either global groups accessible to all computers in the domain, or local groups accessible only to the computer on which they are defined. If a domain controller of the domain containing the user's domain account cannot be contacted during the upgrade, either because the domain controller is not available or there is a problem with the networking on the computer, Windows 2000 Setup cannot create a profile for that domain account. If this happens, the Windows 9x profile is migrated to a local user account profile. For this reason, you should ensure that the computer is connected to the domain and that the domain controllers are available during the upgrade. Once Setup is complete, it is possible to copy this local account profile to the user's domain account profile but desktop settings and other preferences might not be preserved. To copy a profile Right-click the My Computer icon. Select Properties from the context menu. Click the User Profiles tab. Select the profile you want to copy, and click Copy To. Windows 2000 does not allow you to use a user account name that is the same as one of the built-in accounts or groups. For example, a Windows 9x user account named "Administrators" is not allowed under Windows 2000. This account will therefore be renamed during Setup. During an unattended upgrade, Windows 2000 will generate compatible names. The names to be used are written to the compatibility report. Make sure that the computer is connected to the network and that the domain controller is available during the upgrade. When upgrading laptops, it is best to schedule this when the user is able to connect to the corporate network.

Choosing the File System

You can determine how Windows 2000 Setup treats the file system by using the FileSystem key in the Unattended section of the answer file. Windows 2000 recognizes FAT16, FAT32 and NTFS. Using the FileSystem key, you can either leave the file system alone or convert it to NTFS. As Windows 9x does not support NTFS, the choice is whether to leave the file system as FAT or convert to NTFS. There are many advantages to using NTFS. Amongst these are: Increased robustness—NTFS is a transactional file system and can automatically recover from many errors. Increased security—access to files can be secured and files and folders can be encrypted. Support for large media. Faster access. Microsoft recommends that you format all Windows 2000 partitions with NTFS, with the exception of the system partition of an Alpha architecture computer and dual boot configurations. Please refer to the Windows 2000 Resource Kit or Release Notes for a more thorough comparison of these file systems.

Upgrading Windows NT Systems

Windows 2000 can be used to upgrade Windows NT 3.51 and 4.0 servers and workstations. The unattended answer file can be used to control how the Windows NT upgrade is performed. If you are upgrading a Windows NT system and you know that all of the hardware and software is supported under Windows 2000, you may perform an unattended upgrade simply by using the following command line: winnt32.exe /unattend /s:source files where source_files is the location of the distribution share point. Note that an answer file is not required in this case. If you need to exercise more control over the upgrade process—for example, if you want to process additional Plug and Play device drivers—you can use an answer file to control the upgrade. The most important answer file sections and keys used during an upgrade are explained below. Refer to the Windows 2000 Resource Kit or the Unattend.doc file on the Windows 2000 CD for details of all available options. Note that there are significant changes from previous versions of Windows NT. OemPreinstall. Use this key to install additional software or customize the upgrade process. Details of the OemPreinstall mechanisms are provided later in this guide. The $OEM$ structure and cmdlines.txt file are both processed during an upgrade. NTUpgrade. This key determines whether Setup upgrades an existing Windows NT system or performs a clean install into a new directory. OemFilesPath. This key specifies the path to the $OEM$ folder (containing OEM files) if it does not exist under the i386 folder of the distribution share point. The path can be a UNC name. OemPnpDriversPath. Specifies the path to folders that contain Plug and Play drivers that do not ship on the Windows 2000 CD. The folders must contain all files necessary to install the particular devices—drivers, catalog, and .inf. For example, if you have a folder called drivers with subfolders called audio and net, you will specify OemPnPDriversPath = "drivers\audio;drivers\net" in the answer file. Setup will add %systemdrive% to each of the folder names and add those paths to the Plug and Play device search path. When using this parameter, ensure that the folders are available during GUI Mode Setup. You can use the $OEM$\$1 directory structure mechanism for this. Windows 2000 Setup uses Dosnet.inf to determine which services, drivers or applications are incompatible with Windows 2000. When Winnt32 is executed, Dosnet.inf is loaded and parsed, and Setup determines what actions to take based upon the entries in this file.

Layout of Dosnet.inf

Dosnet.inf is similar to any other .inf file. It contains sections denoted by angle brackets and keys within those sections to control Setup processes. Among others, the two sections used to control detection of incompatibilities are: [ServicesToDisable] [ServicesToStopInstallation] Winnt32 uses entries in these sections to search for incompatibilities. There are four ways to detect and report incompatibilities: Registry entries Existence of files Existence of a Windows NT Service (the preferred method) The action Winnt32 takes depends on the entry and the section where it is placed. If the entry is in ServicesToDisable and the entry refers to a Windows NT Service, the user is warned (if the upgrade is not running in an unattended mode) and the service is disabled. If the entry is not a service, the user is warned that there is a possible incompatibility, but no further action is taken. If the entry is in ServicesToStopInstallation, the user is warned and the upgrade is halted. This occurs for all four types of entry. Setup cannot continue until the incompatibility has been resolved, usually by removing the component or applying an upgrade. Note that with the exception of disabling services, no change is made to the system; for example, files are not deleted, registry keys are not updated, and so on.

Entries Used to Detect Incompatibilities

To detect the presence of a particular registry key or value, add the following entry to either section. r, key_name, value_name, expected_value, html_file, text_file, %description% f, file_name, version, html_file, text_file, %description% s, service_name, html_file, text_file, %description% where: key_name is the registry key to search for. Note that the hive name should be the full name rather than the abbreviation: Correct. HKEY_LOCAL_MACHINE Incorrect. HKLM value_name is the value name to search for under the key specified in key_name. expected_value is the registry value to search for. If it is found, then the appropriate action is taken according to which section the entry appears in. html_file is the name of a .htm file that will be displayed when the entry is found. text_file is the name of a .txt file that will be displayed when the entry is found. %description% is the "friendly" name of the incompatibility displayed to the user. As with all .infs, this friendly name is expanded with a corresponding entry in the [Strings] section of Dosnet.inf. [Strings] Description = "A description of the incompatibility" file_name is a fully qualified file name of a file to detect. version is the file version of file_name to detect—for example, 5.1. If this version is not detected, no action is taken. You can use multiple file entries to detect multiple versions. service_name is the name of a Windows NT service as it appears in the registry. It is the name as shown in the Services Control Panel utility. If the service is to be disabled, Winnt32 writes an entry to Winnt.sif for text mode Setup to disable the service. Note that most device drivers run as services. The html_file and text_file are used to give more information to the user if they click on the incompatibility, and then click Details on the wizard page. The HTML file can be used to point the user to updates to resolve the incompatibility. To display the .htm file, you must have Internet Explorer 3.0 or greater installed. Otherwise, the text file is displayed instead. These parameters must be specified, even if they point to dummy files, or the entry cannot be processed. The default location for files is rooted at the source files directory. For example, the default Dosnet.inf contains information on compatibility issues in the COMPDATA subfolder of the i386 folder. To specify a file in the COMPDATA subfolder, use compdata\myfile.htm. You can also use %systemroot% and %windir% when locating files and services. Dosnet.inf is loaded and parsed when performing an upgrade check in the report only mode. You can therefore modify this file to include your own known incompatibilities in advance of performing the audit. For more information on detecting incompatibilities, please refer to: http://www.microsoft.com/HWDev/desinit/NTSetup.htm When Windows 2000 is installed on an NTFS partition, the partition will be automatically converted to NTFS 5. You can choose to upgrade FAT partitions or leave them as they are through the use of the FileSystem key in the [Unattended] section of the answer file.

How Windows 2000 Setup Works

As with previous releases of Windows NT, there are three distinct phases to Windows 2000 Setup: The Winnt32 phase The text mode phase The GUI mode phase Each of these is described separately, below. The Winnt32 phase loads Dosnet.inf, runs the compatibility check, and prepares the system for text mode Setup. If Winnt32 is being run with the /checkupgradeonly switch, Winnt32 exits after the compatibility check. When Winnt is run to perform an installation from real mode, the user has the option of creating four boot floppies that are used to begin the installation. During an upgrade or unattended installation, this does not happen. Instead, Winnt32 copies these same files to a temporary folder called $win-nt$.~bt, on the installation hard disk. These files are used to boot the computer after the reboot at the end of the Winnt32 phase. If you need to add support for custom boot devices, you can do this by using the $OEM$ structure and some required keys in the answer file. See the next section of this guide for details. A Boot.ini file is created, and loads Bootsect.dat in n$win_nt$.~bt after the reboot at the end of the Winnt32 phase. Bootsect.dat contains a bootstrap loader for the text mode phase of Setup. Winnt32 can also copy the Windows 2000 source files to a temporary directory called $win_nt$.~ls, on the installation hard disk. If the upgrade is being performed from a CD ROM supported by Windows 2000, this copying does not take place (this saves time and temporary storage space on the hard disk). This directory is a copy of the i386 directory, and its subdirectories, from the distribution share point.

Windows 9x Upgrade Specific Actions

When upgrading Windows 9x systems, the Winnt32 phase of Setup does the following: Prompts the user for migration DLLs and files to resolve Windows 2000 incompatibilities Scans the Windows 9x system for installed applications and devices. Notes any incompatibilities with Windows 2000. Scans the Windows 9x installation for all user profiles, including the default user profile. Presents a report to the user (if the upgrade is not running in an unattended mode) of device and application incompatibilities.

Windows NT Upgrade Specific Actions

When upgrading Windows NT systems, the Winnt32 phase of Setup does the following: Loads and parses Dosnet.inf Presents a report to the user (if the upgrade is not running in an unattended mode) of device and application incompatibilities. Prepares Winnt.sif (a Setup translated form of the answer file) to disable any services that are listed in the ServicesToDisable section of Dosnet.inf. This phase begins after the first reboot following the Winnt32 phase. The text mode phase installs the Windows 2000 operating system kernel and prepares the computer for the GUI mode phase of Setup. Windows 2000 is installed into the same directory as the operating system being upgraded and the computer is prepared to boot into the final, GUI mode phase of Setup. The root directory now contains Ntldr, Ntdetect.com, TxtSetup.sif and Pagefile.sys. The Boot.ini is set to start the new Windows 2000 installation with a timeout of 0 seconds (to prevent the user from selecting an alternative boot system). This timeout will be modified to the default of 30 seconds during the GUI mode phase. The system is then rebooted. GUI mode Setup detects devices and enumerates Plug and Play devices. A list of devices to be installed is compiled for use later in this phase. All .inf files are now pre-compiled to .pnf files, and the system then attempts to load and initialize previously detected devices. Services that will be running once Setup is complete are also started. It is during this phase that Setup customizes Windows 2000 with the answer supplied by the answer file or typed in by the user during the upgrade. This includes things such as the user and keyboard locales, the regional settings, time zone, and so on. Note that most settings are retained from the previous installation when performing an upgrade. The goal is to make Windows 2000 closely match the previous installation following the upgrade. Application migration is performed. Any migration DLLs provided during a Windows 9x upgrade are called and processed. Windows 2000 networking is installed and the network is started. The computer joins the domain, if appropriate. DLLs are registered and their corresponding registry keys are created. The system registry hives are created and saved into %windir%\system32\config. Windows 9x profiles are migrated. Windows 9x cabinet files are removed if present. All final file copies are completed and the temporary directories are removed. The system is now installed and the computer reboots, ready for the first logon.

Customizing the Windows 2000 Installation

There are several mechanisms through which you can customize the Windows 2000 upgrade process. If the [Unattended] section of the answer file has the key OemPreinstall = Yes, the $OEM$ directory structure and the Cmdlines.txt file are processed. If the /unattend switch of Winnt32 is specified with no answer file, this structure will not be processed. The $OEM$ structure can be used to install additional software or to replace Windows 2000 components. To create a $OEM$ structure you can use the Windows 2000 Setup Manager or create the folders and subfolders manually. The root of the $OEM$ structure is at a subfolder named $OEM$ of the i386 directory. The complete structure with the use of each subfolder is illustrated in Figure 1, below. Note that you can use the OemFilesPath key in the [Unattended] section of the answer file to modify the location of the $OEM$ structure. Figure 1 $OEM$ Structure

$OEM$ Folder

This folder, which you create in the distribution folder directly below the i386 folder, contains all the additional files required. The $OEM$ folder can include the optional file Cmdlines.txt, which contains a list of commands to be run during GUI-mode Setup. These commands can, for example, run a Windows 95 style .inf file, an application Setup command, Sysdiff.exe, or other executable file.

$OEM$\Textmode Folder

This folder contains the hardware-dependent files that Setup Loader and text mode Setup install on the target computer during text mode Setup. These files can include OEM hardware abstraction layers (HALs), SCSI device drivers and TxtSetup.oem, which directs the loading and installing of these components. For x86-based computers, be sure to include the TxtSetup.oem file and all the files listed in it (HALs and drivers) in the [OEMBootFiles] section of Unattend.txt.

$OEM$\$$ Folder

This folder contains the system files (either new files or replacements for retail files) that are copied to the various subfolders when Windows 2000 is installed. The structure of this folder must match the structure of a standard Windows 2000 installation, where \$OEM$\$$ matches \%Windir%, \$OEM$\$$\System32 matches \%Windir%\System32, and so on. Each subfolder should contain the files that need to be copied to the corresponding system folder on the target computer.

$OEM$\Drive_letter Folder

Each $OEM$\Drive_letter folder contains a subfolder structure that is copied to the root of the corresponding drive in the target computer during text mode Setup. For example, files you put in an $OEM$\C folder are copied to the root of the C drive. You can also create subfolders in these folders. For example, $OEM$\D\Misc creates a Misc folder on drive D. Text mode Setup can only copy files with short filenames in 8.3 format. Files that have to be renamed should be listed in $$Rename.txt.

$OEM$\$1 Folder

This folder is equivalent to the %systemdrive% environment variable. For example, if the operating system is installed on drive C, $OEM$\$1 points to drive C. The use of a variable makes it possible to rearrange drive letters without creating errors in applications that point to a hard-coded drive letter.

$OEM$\$1\Drivers Folder

This folder replaces the \Display and \Net folders used in a Windows NT 4.0 distribution share point. It contains additional drivers not included with Windows 2000.

$$Rename.txt File

The $$Rename.txt file changes short file names to long file names during Windows 2000 Setup. This file lists all the files in a particular folder that need to be renamed. Each folder containing short file names that should be renamed must contain its own $$Rename.txt file. To use the $$Rename.txt file, put the file in a folder that contains files that need to be converted. Please refer to the Windows 2000 Resource Kit for the syntax of and additional information about the $$Rename.txt file. Plug and Play devices that are not mass storage devices and are not included on the Windows 2000 CD can be easily pre-installed by following the steps below. This method works for audio, video, modem, and printer devices. To pre-install a Plug and Play device Create a subfolder in the distribution folder for any special Plug and Play drivers and their .inf files. For example, you can create a folder called PnPDrvs: $OEM$\$1\PnPDrvs Add the path to the list of Plug and Play search drives by adding the following line to the Unattend.txt file: OEMPnPDriversPath = "PnPDrvs" If you have subfolders in the PnPDrvs folder, you must specify the path to each subfolder. The paths must be separated by semicolons. For example, if the PnpDrvs folder contains the subfolders "Net" and "Audio," the answer file should contain the following line: OEMPnPDriversPath = "PnPDrvs\Net;PnPDrvs\Audio" The Cmdlines.txt file contains the commands that GUI mode Setup executes when installing optional components, such as applications. For example, the commands specified in this file can run an .inf file using the Rundll32.exe command, run Sysdiff.exe, or perform some other action you need performed. If you plan to use Cmdlines.txt to install an application, be sure to place the application you are installing in the $OEM$ subfolder of the distribution folder. The syntax for Cmdlines.txt is as follows: [Commands] "command_1" "command_2" "command_3" . . . "command_x" where command_1, command_2, command_3, and so on refer to the commands you want to run (and the order that they should be run) when GUI-mode Setup calls Cmdlines.txt. Note that all commands must appear in quotation marks.

Limitations of and Usage Notes on Cmdlines.txt

When using Cmdlines.txt, you should be aware of the following: Cmdlines.txt runs as a service rather than as a logged on user with network capability. Therefore, any user-specific information is written to the default user registry, and all subsequently created users also get that information. Cmdlines.txt requires that the files necessary for an application or utility to run be placed in the distribution folders. When installing applications by using Cmdlines.txt, you should install the application either in quiet (unattended) mode or through Sysdiff. The user should not have to interact with or answer questions about the application. If you are applying a Sysdiff package, you should use the /m parameter with Sysdiff. For example, if you are logged on as Administrator when you install an application and you create a difference file, some data might be placed in the Profiles\Administrator folder. However, during GUI-mode Setup, this folder may not exist. The /m switch places the per-user data in the default user profile structure. You can use a batch file to install applications from the Startup group as described in the following procedure. To use a batch file Create a batch file containing lines similar to the following example: Start /wait path\Setup Start /wait Del C:\Winnt\Profiles\All Users\Startup\filename.lnk Exit where path is the path to the executable file that starts the installation. Setup is the name of the executable file that starts the installation. Filename.lnk is the name of the shortcut to the batch file. Copy the batch file to the distribution folder or another folder that can be accessed during Setup. Create the filename.lnk (shortcut) file, in 8.3 format, pointing to the batch file in the distribution folder. Copy the filename.lnk file from the source computer to the $oem$\$1\docume~1\alluse~1\startm~1\programs\startup folder. When the computer is restarted and runs in GUI mode Setup, the application is installed, and then the filename.lnk file is deleted from the Startup group.

For More Information

For the latest information on Windows 2000, check out Microsoft TechNet or visit our World Wide Web site at http://www.microsoft.com/windows/ , the Windows NT Server Forum on MSN™, and The Microsoft Network online service (GO WORD: MSNTS). © 1999 Microsoft Corporation. All rights reserved. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. Microsoft, Active Directory, BackOffice, IntelliMirror, MSN, Windows, the Windows logo, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners. Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-6399 • USA 0699

In Association with amazon.co.uk
.
. .
In Association with amazon.co.uk
. .

MarCom Solutions For The Future
. . MarCom News
1.  MarCom Solutions Opens Online Store
2.  Purchase Software, Hardware, Books Online
3.  MarCom Solutions ISP
more news...
.
.
.
MarCom Business
1.  Get The Best Advertising Price
MarCom Solutions
2.  Implementing MS Windows 2000
Microsoft
3.  Business Partners
Affiliates
more business...
.
.
.
MarCom Special Offers
1.  Web Hosting Package
MarCom Solutions ISP
2.  Web Design Package
Dreamweaver
3.  Training Manual Package
MS Office 2000
more offers...
. .

.

About MarCom Solutions  |  Special Offers  |  Buy Online  |  Contacts  |  Disclaimer  |  FAQ

.

Copyright © 2000 MarCom Solutions Limited. All rights reserved.