INFO: MillenniumPreferred INF Directive Added for Networking Components (280063)



The information in this article applies to:

  • Microsoft Windows Millennium Edition

This article was previously published under Q280063

SUMMARY

You can use system-defined extensions to create a single INF file for multiple platform (Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows ME or Microsoft Windows 2000) device driver installations. To perform a Windows ME specific installation in a multiple platform INF file, a new extension directive named MillenniumPreferred has been added. The MillenniumPreferred directive is only applicable for Network Components (that is an INF file that specifies Net, NetTrans, NetClient or NetService as their Setup Class).

MORE INFORMATION

To use the new MillenniumPreferred directive the following first four directives must be present:
signature=$Chicago$
class=Net[ NetTrans, NetClient, or NetService]
ClassGUID= [GUID corresponding to the class] 
Compatible=1
MillenniumPreferred=.ME
				
Note that the period before ME is required. Use of the MillenniumPreferred directive gives your INF file the ability to perform a Windows Millennium specific installation of network components.

A sample multi-platform INF file that is used to install RNDIS drivers on various platforms follows. Windows 95, Windows 98, and Microsoft Windows 98 Second Edition (SE)-based operating systems install from the [DDInstall] section. Windows 2000 installs from the [DDInstall.nt] section, and Windows ME installs from the [DDInstall.ME] section.
; Template INF for a USB Remote NDIS Device

[Version]
Signature           = "$CHICAGO$"
Class               = Net
ClassGUID           = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider            = %Acme%
Compatible          = 1
MillenniumPreferred = .ME
DriverVer           = mm/dd/yyyy,x.y.v.z
;CatalogFile        = Acme.cat

[Manufacturer]
%Acme%          = AcmeDevices
%Acme%          = AcmeDevices,NTx86.5.1

[AcmeDevices]
%AcmeDevice%    = RNDIS, USB\VID_vvvv&PID_pppp

[AcmeDevices.NTx86.5.1]
%AcmeDevice%    = RNDIS.NT.5.1, USB\VID_vvvv&PID_pppp

[ControlFlags]
ExcludeFromSelect=*

; Windows 98, Windows 98 Second Edition specific sections --------

[RNDIS]
DeviceID        = usb8023
MaxInstance     = 512
DriverVer       = mm/dd/yyyy,x.y.v.z
AddReg          = RNDIS_AddReg_98, RNDIS_AddReg_Common

[RNDIS_AddReg_98]
HKR, ,               DevLoader,        0, *ndis
HKR, ,               DeviceVxDs,       0, usb8023.sys
HKR, NDIS,           LogDriverName,    0, "usb8023"
HKR, NDIS,           MajorNdisVersion, 1, 5
HKR, NDIS,           MinorNdisVersion, 1, 0
HKR, Ndi\Interfaces, DefUpper,         0, "ndis3,ndis4,ndis5"
HKR, Ndi\Interfaces, DefLower,         0, "ethernet"
HKR, Ndi\Interfaces, UpperRange,       0, "ndis3,ndis4,ndis5"
HKR, Ndi\Interfaces, LowerRange,       0, "ethernet"
HKR, Ndi\Install,    ndis3,            0, "RNDIS_Install_98"
HKR, Ndi\Install,    ndis4,            0, "RNDIS_Install_98"
HKR, Ndi\Install,    ndis5,            0, "RNDIS_Install_98"
HKR, Ndi,            DeviceId,         0, "USB\VID_vvvv&PID_pppp"

[RNDIS_Install_98]
CopyFiles=RNDIS_CopyFiles_98

[RNDIS_CopyFiles_98]
usb8023.sys, usb8023w.sys, , 0 
rndismp.sys, rndismpw.sys, , 0 

; Windows Millennium Edition specific sections --------------------

[RNDIS.ME]
DeviceID        = usb8023
MaxInstance     = 512
DriverVer       = mm/dd/yyyy,x.y.v.z
AddReg          = RNDIS_AddReg_ME, RNDIS_AddReg_Common

[RNDIS_AddReg_ME]
HKR, ,               DevLoader,        0, *ndis
HKR, ,               DeviceVxDs,       0, usb8023.sys
HKR, NDIS,           LogDriverName,    0, "usb8023"
HKR, NDIS,           MajorNdisVersion, 1, 5
HKR, NDIS,           MinorNdisVersion, 1, 0
HKR, Ndi\Interfaces, DefUpper,         0, "ndis3,ndis4,ndis5"
HKR, Ndi\Interfaces, DefLower,         0, "ethernet"
HKR, Ndi\Interfaces, UpperRange,       0, "ndis3,ndis4,ndis5"
HKR, Ndi\Interfaces, LowerRange,       0, "ethernet"
HKR, Ndi\Install,    ndis3,            0, "RNDIS_Install_ME"
HKR, Ndi\Install,    ndis4,            0, "RNDIS_Install_ME"
HKR, Ndi\Install,    ndis5,            0, "RNDIS_Install_ME"
HKR, Ndi,            DeviceId,         0, "USB\VID_vvvv&PID_pppp"

[RNDIS_Install_ME]
CopyFiles=RNDIS_CopyFiles_ME

[RNDIS_CopyFiles_ME]
usb8023.sys, usb8023m.sys, , 0 
rndismp.sys, rndismpm.sys, , 0 

; Windows 2000 specific sections ---------------------------------

[RNDIS.NT]
Characteristics = 0x84   ; NCF_PHYSICAL + NCF_HAS_UI
BusType         = 15
DriverVer       = mm/dd/yyyy,x.y.v.z
AddReg          = RNDIS_AddReg_NT, RNDIS_AddReg_Common
CopyFiles       = RNDIS_CopyFiles_NT

[RNDIS.NT.Services]
AddService = USB_RNDIS, 2, RNDIS_ServiceInst, RNDIS_EventLog

[RNDIS_CopyFiles_NT]
usb8023.sys, usb8023.sys, , 0 
rndismp.sys, rndismp.sys, , 0 

; Windows XP specific sections -----------------------------------

[RNDIS.NT.5.1]
Characteristics = 0x84   ; NCF_PHYSICAL + NCF_HAS_UI
BusType         = 15
DriverVer       = mm/dd/yyyy,x.y.v.z
AddReg          = RNDIS_AddReg_NT, RNDIS_AddReg_Common
; no copyfiles - the files are already in place

[RNDIS.NT.5.1.Services]
AddService      = USB_RNDIS, 2, RNDIS_ServiceInst, RNDIS_EventLog

; Windows 2000 and Windows XP common sections --------------------

[RNDIS_AddReg_NT]
HKR, Ndi,               Service,        0, "USB_RNDIS"
HKR, Ndi\Interfaces,    UpperRange,     0, "ndis5" 
HKR, Ndi\Interfaces,    LowerRange,     0, "ethernet"

[RNDIS_ServiceInst]
DisplayName     = %ServiceDisplayName%
ServiceType     = 1 
StartType       = 3 
ErrorControl    = 1 
ServiceBinary   = %12%\usb8023.sys    
LoadOrderGroup  = NDIS
AddReg          = RNDIS_WMI_AddReg

[RNDIS_WMI_AddReg]
HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismp.sys"

[RNDIS_EventLog]
AddReg = RNDIS_EventLog_AddReg

[RNDIS_EventLog_AddReg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,   0x00010001, 7

; Common Sections -------------------------------------------------

[RNDIS_AddReg_Common]
HKR, NDI\params\NetworkAddress, ParamDesc,  0, %NetworkAddress%
HKR, NDI\params\NetworkAddress, type,       0, "edit"
HKR, NDI\params\NetworkAddress, LimitText,  0, "12"
HKR, NDI\params\NetworkAddress, UpperCase,  0, "1"
HKR, NDI\params\NetworkAddress, default,    0, " "
HKR, NDI\params\NetworkAddress, optional,   0, "1"

[SourceDisksNames]
1=%SourceDisk%,,1

[SourceDisksFiles]
usb8023m.sys=1
rndismpm.sys=1
usb8023w.sys=1
rndismpw.sys=1
usb8023.sys=1
rndismp.sys=1

[DestinationDirs]
RNDIS_CopyFiles_98    = 10, system32/drivers
RNDIS_CopyFiles_ME    = 10, system32/drivers
RNDIS_CopyFiles_NT    = 12

[Strings]
ServiceDisplayName    = "USB Remote NDIS Network Device Driver"
NetworkAddress        = "Network Address"
Acme                  = "Acme Corporation"
AcmeDevice            = "Acme USB Remote NDIS Network Device"
SourceDisk            = "Acme USB Network Driver Install Disk"
				

Modification Type:MinorLast Reviewed:9/28/2004
Keywords:kbdocerr kbinfo kbNDIS KB280063