;
; This is the Setup information file for Network Setup Wizard Down-level Client 
; Setup Package.  Modified from upnp.inf --- Tin Qian 4/4/2001
;
; Copyright 2000-2001, Microsoft Corporation
;


[Version]
Signature=$CHICAGO$
SetupClass=Base

[SourceDisksNames]
1=%TEMP%,"",1

[SourceDisksFiles]
NoUPnP.inf=1
ssdpapi.dll=1
ssdpsrv.exe=1
upnp.dll=1
hnetwiz.dll=1
icsdclt.dll=1
ncxp16.dll=1
ncxp32.dll=1
ncxpnt.dll=1

[DestinationDirs]
CopyInf = 17	; LDID_INF, windows\inf
CopySys = 11	; LDID_SYS, windows\system


;
; INF Entry Points
;
[DefaultInstall]
OptionDesc=%UPNP_Desc%
Tip=%UPNP_Tip%
Parent = CommApps
AddReg=MS_UPNP_Reg, SSDP.Register, RegisterDLLS, RunHnetWizard
CopyFiles=CopyInf, CopySys
UpdateInis=ICS_Client_AddLink
InstallType = 0                ;Maunual Install Only
IconIndex= 17                  ;XP UPNP mini-icon
Uninstall=MS_UPNP_Uninstall
Reboot=1
BeginPrompt=BeginPromptSection
EndPrompt=EndPromptSection

[BeginPromptSection]
Title=%PKG_DESC%

[EndPromptSection]
Prompt=%EndPrompt%

[ICS_Client_AddLink]
setup.ini, progman.groups, , "Comm_Group=%COMM_DESC%"
setup.ini, Comm_Group,,"""%ICS_DESC%"",""%25%\rundll32.exe %11%\icsdclt.dll,ICSClient"""

[ICS_Client_RemoveLink]
setup.ini, progman.groups, , "Comm_Group=%COMM_DESC%"
setup.ini, Comm_Group,,"""%ICS_DESC%""

[MS_UPNP_Uninstall]
AddReg=MS_UPNP_Uninstall_Reg, UnRegisterDLLs, BootstrapDeletion
DelReg=SSDP.Unregister, RemoveDiscoveredDevices
UpdateInis=ICS_Client_RemoveLink
Reboot=1

[MS_UPNP_Uninstall_Part2]
DelFiles = DelSys

;
; File Sections.  These actually list which files are copied.  The destination
; dir for each section is set by DestinationDirs above.
;

[CopyInf]
hnwcli.inf,NoUPnP.inf

; Provide temporary file names so that they are copied to destination using the temporary 
; names then get renamed upon reboot.  This is useful when the files are in use.
[CopySys]
ssdpapi.dll,,_ssdpapi.tmp,6
ssdpsrv.exe,,_ssdpsrv.tmp,6
upnp.dll,,_upnp.tmp,6
hnetwiz.dll,,_hnetwiz.tmp,6
icsdclt.dll,,_icsdclt.tmp,6
ncxp16.dll,,_ncxp16.tmp,6
ncxp32.dll,,_ncxp32.tmp,6
ncxpnt.dll,,_ncxpnt.tmp,6

; delete dlls and exes even if they are in use.
[DelSys]
ssdpapi.dll,,,1
ssdpsrv.exe,,,1
upnp.dll,,,1
hnetwiz.dll,,,1
icsdclt.dll,,,1
ncxp16.dll,,,1
ncxp32.dll,,,1
ncxpnt.dll,,,1

;
; Registry Settings
;

; Network Setup Wizard Down-level Client Setup
; Lists upnp as an installed optional component
;
[MS_UPNP_Reg]
HKLM,"%KEY_OPTCOMPONENTS%","UPNP",,"UPNP"
HKLM,"%KEY_OPTCOMPONENTS%\UPNP","INF",,"hnwcli.inf"
HKLM,"%KEY_OPTCOMPONENTS%\UPNP","Section",,"DefaultInstall"
HKLM,"%KEY_OPTCOMPONENTS%\UPNP","Installed",,"1"

; Mark UPNP as uninstalled and restore the previous UPnP Setup
;
[MS_UPNP_Uninstall_Reg]
HKLM,"%KEY_OPTCOMPONENTS%\UPNP","INF",,"upnp.inf"
HKLM,"%KEY_OPTCOMPONENTS%\UPNP","Section",,"UPNP"
HKLM,"%KEY_OPTCOMPONENTS%\UPNP","Installed",,"0"

; SSDP-related
;
[SSDP.Register]
HKLM,"%KEY_RUNSERVICES%","SSDPSRV",,"%11%\ssdpsrv.exe"
HKLM,"%KEY_RUN%","ICSDCLT",,"%25%\rundll32.exe %11%\icsdclt.dll,ICSClient"

[SSDP.Unregister]
HKLM,"%KEY_RUNSERVICES%","SSDPSRV"
HKLM,"%KEY_RUN%","ICSDCLT"
HKLM,"%KEY_ICSCLIENT%"

;register/unregister upnp dlls. Also run home network setup wizard once.
;
[RegisterDLLS]
HKLM,"%KEY_RUNONCEEX%\upnp","000",,"%11%\upnp.dll|DllRegisterServer"
HKLM,"%KEY_RUNONCEEX%\icsdclt","000",,"%11%\icsdclt.dll|DllRegisterServer"

[RunHnetWizard]
HKLM,"%KEY_RUNONCEEX%\upnp","999",,"%25%\rundll32.exe %11%\hnetwiz.dll,HomeNetWizardRunDll"

[UnRegisterDLLs]
HKLM,"%KEY_RUNONCEEX%\upnp","000",,"%11%\upnp.dll|DllUnregisterServer"
HKLM,"%KEY_RUNONCEEX%\icsdclt","000",,"%11%\icsdclt.dll|DllUnregisterServer"

; for uninstallation
;   - this tells setup to add a registry key that, after reboot, will run
;     the exported 'InstallHInfSection' function from setupx.dll and tell
;     it to load this .inf file again and process the section
;     "MS_UPNP_Uninstall_Part2", which will delete the files.
;     Wonderful.
[BootstrapDeletion]
HKLM,"%KEY_RUNONCEEX%\upnp","999",,"RUNDLL SETUPX.DLL,InstallHInfSection MS_UPNP_Uninstall_Part2 64 upnp.inf"

; This is a hack to remove the list of discovered devices when we're
; uninstalled.
[RemoveDiscoveredDevices]
HKLM,"%KEY_UPNPDATA%"

;
; Strings
;

[Strings]
;Non-Localizable strings
KEY_RUNONCEEX = "Software\Microsoft\Windows\CurrentVersion\RunOnceEx"
KEY_OPTCOMPONENTS = "Software\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents"
KEY_RUNSERVICES = "Software\Microsoft\Windows\CurrentVersion\RunServices"
KEY_RUN = "Software\Microsoft\Windows\CurrentVersion\Run"
KEY_UPNPDATA = "Software\Microsoft\Windows\CurrentVersion\UPnP"
KEY_ICSCLIENT = "Software\Microsoft\Windows\CurrentVersion\ICSClient"

;Localizable strings
PKG_DESC = "Network Setup Wizard"
EndPrompt = "You will be prompted to restart your computer. If you used a floppy disk or CD, remove it from the drive, and then click OK."
UPNP_Desc = "Universal Plug and Play"
UPNP_Tip = "Universal Plug and Play enables seamless connectivity and communication between Windows and intelligent appliances."
Comm_Desc = "Accessories\Communications"
ICS_Desc = "Internet Gateway"