OSCML and Client Installation Wizard Variables

The Client Installation Wizard screens can be customized to meet the needs of your organization. You can use these screens to install clients, and you can customize the screens to fit your organization. Entire screens or individual options within screens can be added or removed, and you can modify the text that is displayed to users to include custom information such as technical support phone numbers or corporate policies and procedures. You can build screens that prompt the user for information. This information can be used to control the installation of the image.


The Client Installation Wizard uses the Boot Information Negotiation Layer (BINL) service. This service listens for Dynamic Host Configuration Protocol (DHCP) requests and Client Installation Wizard requests. The BINL service directs the client to the files that are required to start the installation process. The BINL service also checks Active Directory to verify credentials; it also determines whether a client needs the remote operating system installation service and whether to create a new computer account object on behalf of the client or reset an existing computer account object.

The default screens that are used during the client logon process and the installation of the operating system are the following:

Welcome.osc . Displays Welcome screen to the user.

Login.osc . Requires the user to log on.

Choice.osc . Displays setup options to the user: Automatic , Custom , Restart , Maintenance , and Tools . The degree to which this screen and its options are displayed is controlled through Remote Installation Services (RIS) Group Policy settings.

OSAuto.osc . Determines whether a computer account object already exists in Active Directory that has the same GUID as the computer that is running the Client Installation Wizard. If a duplicate GUID is found, DupAuto.osc is displayed. If no duplicate GUID is found, OSChoice.osc is displayed. (This screen is not displayed to users.)

DupAuto.osc . Indicates that a duplicate GUID was found and instructs the user to contact the network administrator.

OSChoice.osc . Displays the list of operating system images that are available to the user who is logged on to the RIS server.

Warning.osc . Warns the user that the drive is going to be formatted.

Install.osc . Displays a summary page to the user.

These screens (sometimes referred to as OSC screens or OSCML) are modeled after Hypertext Markup Language (HTML) version 2.0 specifications. The files for these screens are simple text files that have the file name extension .osc in the format of the OSChooser Markup Language (OSCML). OSChooser stands for Operating System Chooser. You can use Notepad to view and modify the tags in these files.

When Remote Installation Setup Wizard (RISetup.exe) is run, a default set of the Client Installation Wizard screens is installed at RemoteInstall\Oschooser\< language >.

The \Oschooser portion of the RIS tree contains the .osc files. If multiple languages are installed, there is a subdirectory for each language that the server supports. All of the files that the Client Installation Wizard uses are in this directory, with the exception of Welcome.osc and Multiling.osc.

The Welcome.osc file is the first screen that every user sees, no matter what language the server uses; the screen displays the languages that are supported. When the user connects to the server, he or she can select the appropriate language. Then the Welcome.osc file in the specified % language % subdirectory appears in the user interface. If only one language is installed on the server, the screen does not display any options.


To support more than one language on a single server, you must modify the Welcome.osc file. The Multiling.osc file that is provided with Windows 2000 Server is an example of how to customize the Welcome.osc file. If more than one language is installed on the server, you can modify the Multiling.osc screen file to list the languages that you want to support. After you have modified Multiling.osc, rename it as Welcome.osc so that it replaces the existing Welcome.osc file.

You can customize the screen format to suit the needs of your organization. For example, you can modify the Login.osc file to display additional help (for example, "If problems occur during the logon process, contact the Help desk at extension 12345") when a logon error message appears.

The customized screen information is stored in a text file that is written in OSCML. Creating an OSCML file is similar to creating an HTML 2.0 file, but instead of using the <HTML> and </HTML> start and end tags, you use the OSCML start and end tags. Only the tags that are specified in this appendix are supported in OSCML.

There are other differences between OSCML and HTML 2.0. The Client Installation Wizard (.osc) files must contain text that is in the original equipment manufacturer (OEM) character set. The OEM character set supports a subset of the tags that HTML 2.0 supports, plus a few additional tags. Some HTML tags are missing in OSCML, most notably the anchor start and end tags (<A> and </A>) and the <IMG> tags. Because only text is allowed in the .osc file, the anchor and <IMG> tags are not supported and are not parsed. You can preview OSCML files in an HTML browser.

The following is a list of the tags that are supported in OSCML; each tag is described in detail after this list.


When (!HTML2.0) appears in a tag, the tag differs from the HTML 2.0 specification and is OSCML-specific.

  • <OSCML> </OSCML> (!HTML2.0)

  • <META SERVER ACTION=" server side action ">

  • <META KEY= F1 F3 ENTER | ESC HREF=" screen name ">


  • <TITLE> Title </TITLE>

  • <FOOTER> (!HTML2.0) Footer </FOOTER> (!HTML2.0)

  • <BODY [LEFT=" left margin " (!HTML2.0)] [RIGHT=" right margin " (!HTML2.0)]>

  • <PRE [LEFT=" left margin " (!HTML2.0)] [RIGHT=" right margin " (!HTML2.0)]> </PRE>

  • <FORM ACTION=" screen name "> </FORM>

  • <INPUT [NAME=" osc var name "] [TYPE=" TEXT | PASSWORD "] [VALUE=" starting value "] [SIZE=" display size "] [MAXLENGTH=" max length "]>

  • <SELECT [MULTIPLE] [NOAUTO (!HTML2.0) [NAME=" osc var name "] [SIZE=" height "]> [<OPTION.....> <OPTION.....>] </SELECT>

  • <OPTION [SELECTED] [TIP=" help text " (!HTML2.0) ] [VALUE=" return value "]> Item description

  • <SELECT>

  • </SELECT>

  • <BR>

  • <P [LEFT=" left margin " (!HTML2.0)] [RIGHT=" right margin " (!HTML2.0)] > </P>

  • <BOLD> text </BOLD>

  • <FLASH> text </FLASH>

  • <TIPAREA [LEFT=" left margin "] [RIGHT=" right margin "] [SIZE=" height "]> (!HTML2.0)


<OSCML> (!HTML2.0) </OSCML> (!HTML2.0)

Indicates that the file is an OSCML file. The < OSCML > tag must be the first tag that is found; otherwise, OSChooser ignores all other header tags (<META>, <TITLE>, and <FOOTER>). The < /OSCML > tag must be at the end of the file. An item or text that is entered after the </OSCML> end tag is not displayed. (The space after </OSCML> is where you can place administrative comments and notes.)

<META SERVER ACTION=" server side action ">

Instructs the BINL service (BINLSVC) to perform a particular action. <META> tags are supported by HTML 2.0, but the specifics of the metadata vary from server to server. The following tags conform to HTML 2.0 and are specific to the OSChooser-BINLSVC conversation. Currently defined actions include the following:

  • ENUM directory
    Enumerates the Setup Information File (SIF) under the X:\RemoteInstall\Setup % LANGUAGE %\images\ " directory " name.
    The path under which a SIF is searched for is the following:
    \images\" directory name "\
    OSC stores the results of its search in the %OPTIONS% variable. For an example of this tag, see the Tools.osc file that is created when you run the Client Installation Wizard screens; the file is located in the RemoteInstall\Oschooser\< language > subdirectory.

    Indicates that using WARNING represents the repartition warning screen. If " Repartition=No " is in the selected SIF, this screen is skipped; the server searches for the <META KEY=ENTER .....> line and goes to that screen.

    Resets all variables to their initial state (as if you had logged on again).

  • FILTER name
    Instructs BINL to check the Group Policy object of the domain to determine what choices can be displayed to the user.

    Checks Active Directory to determine whether this globally unique identifier (GUID) duplicates an existing GUID.

<META KEY= F1 | F3 | ENTER | ESC HREF=" screen name ">

Goes to the screen name that is specified when the user presses the function key that is specified within the tag. (The .osc file name extension is appended by the server.) F1, F3, ENTER, and ESC are the only keys that are supported for use within this tag.


Instructs OSChooser to authenticate the user with the credentials that OSChooser has stored after the user has pressed ENTER. If authentication is not successful, OSChooser goes to Loginerr.osc. If authentication is successful, OSChooser goes to the screen in <META KEY=ENTER.....>. The variables that are sent from the *.osc screen are encrypted; all screens sent after this screen are encrypted as well.


All conversations prior to the start of the logon process are sent as plaintext. No screen variables except %LANGUAGE% are allowed to be sent to the server prior to the user logging on.

<TITLE> Title </TITLE>

Indicates a title line. The title is written at the top of the screen in blue text on a white background.

Indicates a footer line. The footer is written at the bottom of the screen in blue text on a white background.

<BODY [LEFT=" left margin " (!HTML2.0)] [RIGHT=" right margin " (!HTML2.0)] >

Indicates the end of the header tags and the beginning of the text that are to be shown to the user. You can set both the left margin and the right margin (in characters).

<PRE [LEFT="l eft margin " (!HTML2.0)] [RIGHT=" right margin " (!HTML2.0)] > </PRE>

Indicates that the text that follows the tag is preformatted with no text wrapping. OSChooser truncates any lines that are longer than the current margin settings. You do have the option, however, of specifying the left and right margins (in characters).

<FORM ACTION=" screen name "> </FORM>

Indicates that there are input controls on this page. It also specifies what screen is to be retrieved next. If no name is provided and the controls on the page within the file don't have "NAME=" tags in them, the resulting value for the control is the next screen that is retrieved. For an example of this tag, see Choice.osc. There can be only one <FORM.....> tag per page.

<INPUT [NAME=" osc var name "] [TYPE=" TEXT | PASSWORD "] [VALUE=" starting value "] [SIZE=" display size "] [MAXLENGTH=" max length "]>

Creates an edit control on the page. The edit control in OSCML works the same as an edit control in HTML 2.0. For an example, see Login.osc. The following are descriptions of the parameters for this tag:

  • NAME=" osc var name "
    Indicates what OSC variable is sent back when a value is entered in the edit box by the user.

    Defaults to TEXT. Specify the password type PASSWORD to make all text that has been entered appear as asterisks. The password type HIDDEN is not supported by OSChooser.

  • VALUE=" starting value "
    Allows a default value to be added by the user to the edit box.

  • SIZE=" display size "
    Specifies the number of characters that the user can enter in the edit box.


The default length of the edit box equals the value that you have entered for SIZE= plus four characters for the pair of brackets ([ ]) and for the two extra end spaces.

  • MAXLENGTH=" max length "
    Indicates the maximum length of the string that can be entered in the edit box. For an example, see custom.osc. If the value of the SIZE parameter is greater than the number of characters that remain on the line, the INPUT tag defaults to the automatic size. The automatic size is calculated by subtracting the number of characters that you have entered from the number of characters for the default length of the edit box. REMAINING is the number of character spaces from the end of the string to the right margin minus four character spaces for the pair of brackets and two extra end spaces.

<SELECT [MULTIPLE] [NOAUTO (!HTML2.0) ] [NAME=" osc var name "] [SIZE=" height "]> [<OPTION......> .. <OPTION......>] </SELECT>

Creates a list from which users can use arrow keys to select an option. An example from Choice.osc is <SELECT SIZE=10>. The following <OPTION> tags specify what the option list contains:

  • <OPTION VALUE="OSAUTO" TIP="....."> is the Automatic Setup option. You can use this option to install an operating system on your computer. It's the easiest way to install an operating system on your computer because most installation options are already configured by your network administrator.

  • <OPTION VALUE="CUSTOM"> is the Custom Setup option. You can use this option to define a unique name for the computer that is being set up and specify where the computer account is to be located in Active Directory. Use this option if you are setting up the computer for someone else in your company.

  • <OPTION VALUE="RESTART"> is the Restart a Previous Setup Attempt option. You can use this option to restart a computer on which a previous remote installation attempt has been detected.

  • <OPTION VALUE="TOOLS"> is the Maintenance and Troubleshooting option. You can use this option to gain access to tools that you can use to keep your computer up-to-date and to troubleshoot problems.


Indicates the beginning of a list. The visible size of the list defaults to 1 and can be overridden by the SIZE field. There is no user interface to indicate extra items in the list (such as scroll bars), so make sure that the list is large enough to show all your items. For an example, see Choice.osc.

This tag is often used with the %OPTIONS% variable after a <META SERVER ACTION="ENUM .....> tag has been used to list the SIFs available under a particular directory. For an example, see Tools.osc.

If the <SELECT> tag has only one <OPTION> tag, OSChooser automatically selects that option and continues. The <NOAUTO> tag prevents OSChooser from automatically selecting an option. For an example, see Tools.osc.


Indicates the end of a list.

<OPTION [SELECTED] [TIP=" help text " (!HTML2.0) ] [VALUE="r eturn value "]> Item description

Indicates what items are going to be shown in a list and is used in conjunction with the <SELECT> tag. The text that follows the <OPTION> tag is displayed in the list. The <VALUE> tag indicates what string is sent back to the server. The <TIP> tag is a way to display Help text in the <TIPAREA>. The <SELECTED> tag indicates what items must be selected first. If there is more than one <OPTION> tag designated, the last option is used. For an example, see Choice.osc.


Indicates a new line break.

<P [LEFT="l eft margin " (!HTML2.0)] [RIGHT=" right margin " (!HTML2.0)] > </P>

Indicates a new paragraph. In OSCML, this tag acts like the <BR> tag to conserve space, except that it has options that allow you to change the margins.

<BOLD> text </BOLD>

Displays the word "text" in white type. For an example, see Warning.osc.

<FLASH> text </FLASH>

Flashes the word "text" on the screen. For an example, see Warning.osc.


You can apply either the <BOLD> or <FLASH> tag to text, but not both. One tag overrides the other.

<TIPAREA [LEFT=" left margin "] [RIGHT=" right margin "] [SIZE=" height "]> (!HTML2.0)

Indicates where any tips can be displayed. All tips are wrapped to the margins. The default height of the tip area is the amount of screen area that remains, unless the amount of screen area is overridden by the SIZE parameter. For an example, see Choice.osc.


Indicates automatic installation of the operating system. This is the easiest way to install an operating system on a computer. When this tag is used, the user sees the option AUTOMATIC SETUP in the list; when that option is selected, the text that is noted by the TIP="....." is displayed in the area noted by <TIPAREA> in the *.osc file.