Creating Network Component .inf File for Unattended Setup

Last reviewed: February 4, 1998
Article ID: Q155099
The information in this article applies to:
  • Microsoft Windows NT Server version 4.0
  • Microsoft Windows NT Workstation version 4.0

SUMMARY

For a network component (adapters, services, or protocols) to be installed using the Unattended Setup mechanism, its Oemnxxxx.inf file must check certain INF symbols and react accordingly. These symbols (STF_UNATTENDED, STF_GUI_UNATTENDED, and STF_UNATTENDED_SECTION) inform Windows NT Setup whether the installation is being run in unattended mode or not. In order to perform these modifications, you must be familiar with the Windows NT- style INF formats.

MORE INFORMATION

To find out which mode Setup is running in, your .inf file must contain code similar to the following code:

   ifstr(I) $(!STF_GUI_UNATTENDED) == "YES"
       ifstr(I) $(!AutoNetInterfaceType) != ""
         set BusInterfaceType = $(!AutoNetInterfaceType)
       else
         set BusInterfaceType = 1
       endif
       ifstr(I) $(!AutoNetBusNumber) != ""
         set BusNumber = $(!AutoNetBusNumber)
       else
         set BusNumber = 0
       endif
       goto adapterverify
     endif

If Setup is running in Unattended mode, you must skip the commands that open the user interface (UI), dialog boxes, and so on. These commands are usually of the form:

   read-syms FileDependentDlg$(!STF_LANGUAGE)
   ui start "InputDlg"

Once the network component .inf file has verified that Setup is running in Unattended mode, it can use the STF_UATTENDED symbol to get the unattended file name. The STF_UATTENDED_SECTION symbol will be set by Setup so the .inf file code can read it as needed.

Setting Parameters for Network Adapter Cards

If the component is an adapter card, the .inf file will have to pass the parameter section for the card through the AddDefaultNetCardParameters in the Utility.inf file that is included with Windows NT. To do this, the following key will be specified:

   ifstr(I) $(!STF_GUI_UNATTENDED) == "YES"
     Shell $(Utililty.Inf), AddDefaultNetCardParameters, $(KeyParams)
   endif

This causes the parameters listed in the Unattend.txt file to be written to the registry.

Note that this code must be implemented after the default network adapter parameters have been written to the registry. See the Oemnade2.inf file included in Windows NT 4.0

Setting Parameters for Network Protocols or Services

.inf files for network protocols or services normally do most of their configuration from UI configuration DLLs. The following sample is an example of an .inf file code fragment from a network protocol .inf file. This code fragment handles most of the work that will otherwise be done by the .inf file code.

   LoadLibrary "x" $(!STF_CWDDIR)\mycfg.dll CFG_HANDLE
   LibraryProcedure ResultList, $(CFG_HANDLE), Properties,
     $(!STF_HWND),
     $(!STF_GUI_UNATTENDED),
     $(!STF_UNATTENDED),
     $(!STF_UNATTENDED_SECTION)
   FreeLibrary $(CFG_HANDLE)

This causes the component DLL (Mycfg.dll in this case) to call the Setup APIs from the Config.dll file to perform any necessary operations.

See the Oemnsvra.inf and Oemnxptc.inf files for examples of .inf files that install services and protocols.

Verifying and Testing Component .inf Files

Network Adapters:

  1. Install the network card in Windows NT in attended mode.

  2. Check the parameters installed in the registry under

          HKLM\System\CurrentControlSet\Sevices\<adapter_namex>\Parameters
    

    where x is an instance of the card. It is usually 1.

  3. Note the values of the parameters listed.

  4. If the parameter values are not of the type REG_DWORD, the driver for the adapter must be modified to generate REG_DWORD values. Note that the NetworkAddress parameter is of the type REG_SZ.

  5. Install the network adapter in unattended mode using the .inf file you created.

  6. Check the registry again to verify that the parameters were installed correctly.


Additional query words: 4.00
Keywords : NTSrvWkst prodnt kbenv kbnetwork kbsetup kbfaq
Version : 4.0
Platform : winnt


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 4, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.