Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

464 lines
16 KiB

;/////////////////////////////////////////////////////////////////////////////
;// !!! READ THIS BEFORE YOU CHANGE THIS FILE !!!
;// ---------------------------------------------
;//
;// This file is used by BaseCluster in Windows Server 2003 to form, join or
;// cleanup a cluster.
;//
;// Changing anything in the form or join path will most probably also affect the
;// upgrade path, so IF YOU CHANGE THIS FILE, CHECK IF YOU NEED TO CHANGE
;// CLUSOCM AS WELL. Too many bugs have been caused by this not being done.
;//
;// Also, if you add anything to the form or join path, do not forget to add the
;// converse action to the cleanup path. For example, if you create the cluster
;// service in the ClusSvc_Create section, do not forget to delete the service in the
;// ClusSvc_Cleanup section. This is needed so the system is left in good
;// state if we need to roll back the install. It will also be used to clean
;// up the node after it has been evicted from a cluster.
;//
;/////////////////////////////////////////////////////////////////////////////
[Version]
Signature="$Windows NT$"
;/////////////////////////////////////////////////////////////////////////////
;// !README!
;//
;// 1. 32768 maps to the cluster installation directory.
;// 2. 32769 maps to the localquorum directory
;//
;/////////////////////////////////////////////////////////////////////////////
;/////////////////////////////////////////////////////////////////////////////
;// Destination directories
;/////////////////////////////////////////////////////////////////////////////
[DestinationDirs]
ClusDB_Cleanup_DelFiles=32768
;/////////////////////////////////////////////////////////////////////////////
;// ClusSvc Section
;/////////////////////////////////////////////////////////////////////////////
[ClusSvc_Create]
AddService=ClusSvc,,ClusSvc_Install,ClusSvc_EventLog_Install
AddReg=ClusSvc_Install_Reg
DelReg=NodeEvictedFlag_Reg
[ClusSvc_Install]
DisplayName = %ClusSvc.DisplayName%
ServiceType = 0x10 ; SERVICE_WIN32_OWN_PROCESS
StartType = 2 ; SERVICE_AUTO_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %32768%\clussvc.exe
Dependencies = ClusNet,RpcSs,W32Time,NetMan
[ClusSvc_Install_Reg]
HKLM,System\CurrentControlSet\Services\ClusSvc,Description,0x0,"%ClusSvc.Description%"
[ClusSvc_EventLog_Install]
AddReg=ClusSvc_EventLog_AddReg
[ClusSvc_EventLog_AddReg]
; 0x10001 maps to FLG_ADDREG_TYPE_DWORD.
; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
HKR,,CategoryMessageFile,0x20000,%32768%\ClusSvc.exe
HKR,,CategoryCount,0x10001,30
HKR,,EventMessageFile,0x20000,%32768%\ClusSvc.exe
HKR,,TypesSupported,0x10001,7
[ClusSvc_Cleanup]
DelService=ClusSvc
DelReg=ClusSvc_DelReg, NodeEvictedFlag_Reg
[NodeEvictedFlag_Reg]
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server",NodeHasBeenEvicted
[ClusSvc_DelReg]
HKLM,System\CurrentControlSet\Services\ClusSvc
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server",ClusterFirstRun
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server",ClusterDatabaseCopyInProgress
[ClusSvc_EventLog_DelReg]
;
; this section isn't enabled for uninstall. This allows admins to continue to view
; clussvc entries in the system event log. Necessary to validate that evict processing
; occurred correctly
;
HKLM,System\CurrentControlSet\Services\EventLog\System\ClusSvc
;/////////////////////////////////////////////////////////////////////////////
;// ClusNet Section
;/////////////////////////////////////////////////////////////////////////////
[ClusNet_Create]
AddService=ClusNet,,ClusNet_Install,ClusNet_EventLog_Install
AddReg=ClusNet_Winsock_Registration
[ClusNet_Install]
DisplayName = %ClusNet.DisplayName%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\clusnet.sys
LoadOrderGroup = Tdi
Dependencies = Tcpip
[ClusNet_EventLog_Install]
AddReg=ClusNet_EventLog_AddReg
[ClusNet_EventLog_AddReg]
; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
HKR,,EventMessageFile,0x20000,"%32768%\ClusSvc.exe;%systemroot%\system32\iologmsg.dll"
HKR,,TypesSupported,0x10001,7
; Part of the ClusNet WinSock registration is done using SetupAPI. The rest is done
; in the code using the registry API.
[ClusNet_Winsock_Registration]
HKLM,System\CurrentControlSet\Services\ClusNet\Parameters\Winsock,HelperDllName,0x20000,%32768%\WSHClus.DLL
; The flag 0x00010008 maps to ( FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND )
HKLM,System\CurrentControlSet\Services\WinSock\Parameters,Transports,0x00010008,ClusNet
; Part of the cleanup is also done by the code.
[ClusNet_Cleanup]
DelService=ClusNet
DelReg=ClusNet_DelReg,ClusNet_EventLog_DelReg
[ClusNet_EventLog_DelReg]
; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
HKLM,System\CurrentControlSet\Services\EventLog\System\ClusNet
[ClusNet_DelReg]
HKLM,System\CurrentControlSet\Services\ClusNet
;/////////////////////////////////////////////////////////////////////////////
;// ClusDisk Section
;/////////////////////////////////////////////////////////////////////////////
[ClusDisk_Create]
AddReg=ClusDisk_Reg,ClusDisk_Reg_LargeIrp,ClusDisk_EventLog_AddReg,Disk_TimeOutValue_Reg
[ClusDisk_EventLog_AddReg]
; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusDisk","EventMessageFile",0x20000,"%32768%\ClusSvc.exe;%systemroot%\system32\iologmsg.dll"
HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusDisk","TypesSupported",0x10001,7
[ClusDisk_Cleanup]
DelReg=ClusDisk_Reg
; Not necessary to delete the LargeIrpStackLocations value.
[ClusDisk_Reg]
HKLM,System\CurrentControlSet\Services\ClusDisk\Parameters\Signatures
[ClusDisk_Reg_LargeIrp]
; Generate 1 extra IRP stack location for ClusDisk
HKLM,System\CurrentControlSet\Control\Session Manager\I/O System,LargeIrpStackLocations,0x10001,9
; Set the default time out value for I/O to 60 seconds
[Disk_TimeOutValue_Reg]
; The fourth field, 0x10001, maps to FLG_ADDREG_TYPE_DWORD.
HKLM,"System\CurrentControlSet\Services\Disk","TimeOutValue",0x10001,20
;/////////////////////////////////////////////////////////////////////////////
;// Miscellaneous Section
;/////////////////////////////////////////////////////////////////////////////
[Node_Create]
AddReg=ExtensionSnapin_Reg,DebuggerRetries_Reg
[Node_Cleanup]
DelReg=ExtensionSnapin_Reg
; Not necessary to delete the DebuggerRetries_Reg entries.
[ExtensionSnapin_Reg]
; Enable Computer Management SnapIn extension
HKLM,System\CurrentControlSet\Control\Server Applications,{12E7ED01-5540-11D1-9AA4-00C04FB93A80},,%ExtSnapInName%
[DebuggerRetries_Reg]
; Set system debugger retries down to 1
HKLM,System\CurrentControlSet\Control\Session Manager,Debugger Retries,0x10001,1
;/////////////////////////////////////////////////////////////////////////////
;// ClusDB Section
;/////////////////////////////////////////////////////////////////////////////
[ClusDB_Form]
AddReg=ClusDB_Form_Template_AddReg
[ClusDB_Form_Template_AddReg]
;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Tree under HKLM\Cluster ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
HKR,Nodes
HKR,Groups
HKR,Resources
HKR,ResourceTypes
HKR,Quorum
HKR,Networks
HKR,NetworkInterfaces
;Cluster object admin extension
HKR,,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Tree under HKLM\Cluster\Groups ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HKR,Groups\ClusterGroupGUIDPlaceholder,Name,0x0,%ClusterGroupName%
HKR,Groups\ClusterGroupGUIDPlaceholder,PersistentState,0x00010001,1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Tree under HKLM\Cluster\Resources ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Cluster Name Resource
;
HKR,Resources\ClusterNameResGUIDPlaceHolder,Name,0x0,%ClusterNameResName%
HKR,Resources\ClusterNameResGUIDPlaceHolder,Type,0x0,%NetName.TypeName%
HKR,Resources\ClusterNameResGUIDPlaceHolder,Flags,0x00010001,1
HKR,Resources\ClusterNameResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
HKR,Resources\ClusterNameResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
;
; Cluster IP Address Resource
;
HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Name,0x0,%ClusterIPAddrResName%
HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Type,0x0,%IpAddr.TypeName%
HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Flags,0x00010001,1
HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
;
; LocalQuorum Resource
;
HKR,Resources\LocalQuorumResGUIDPlaceHolder,Name,0x0,%LocalQuorumResName%
HKR,Resources\LocalQuorumResGUIDPlaceHolder,Type,0x0,%LocalQuorum.TypeName%
HKR,Resources\LocalQuorumResGUIDPlaceHolder,Flags,0x00010001,1
HKR,Resources\LocalQuorumResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
HKR,Resources\LocalQuorumResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
HKR,Resources\LocalQuorumResGUIDPlaceHolder\Parameters
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Tree under HKLM\Cluster\ResourceTypes ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HKR,ResourceTypes\%GenApp.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%GenApp.TypeName%,Name,,%GenApp.DisplayName%
HKR,ResourceTypes\%GenApp.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%GenApp.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%GenApp.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
HKR,ResourceTypes\%GenSvc.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%GenSvc.TypeName%,Name,,%GenSvc.DisplayName%
HKR,ResourceTypes\%GenSvc.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%GenSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%GenSvc.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
HKR,ResourceTypes\%NetName.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%NetName.TypeName%,Name,,%NetName.DisplayName%
HKR,ResourceTypes\%NetName.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%NetName.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%NetName.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
HKR,ResourceTypes\%PhysDisk.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%PhysDisk.TypeName%,Name,,%PhysDisk.DisplayName%
HKR,ResourceTypes\%PhysDisk.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%PhysDisk.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%PhysDisk.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
HKR,ResourceTypes\%PrtSplSvc.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%PrtSplSvc.TypeName%,Name,,%PrtSplSvc.DisplayName%
HKR,ResourceTypes\%PrtSplSvc.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%PrtSplSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%PrtSplSvc.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
HKR,ResourceTypes\%FileShr.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%FileShr.TypeName%,Name,,%FileShr.DisplayName%
HKR,ResourceTypes\%FileShr.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%FileShr.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%FileShr.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
HKR,ResourceTypes\%IpAddr.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%IpAddr.TypeName%,Name,,%IpAddr.DisplayName%
HKR,ResourceTypes\%IpAddr.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%IpAddr.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%IpAddr.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
HKR,ResourceTypes\%WinsSvc.TypeName%,DllName,,"clnetres.dll"
HKR,ResourceTypes\%WinsSvc.TypeName%,Name,,%WinsSvc.DisplayName%
HKR,ResourceTypes\%WinsSvc.TypeName%,IsAlivePollInterval,0x10001,120000
HKR,ResourceTypes\%WinsSvc.TypeName%,LooksAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%WinsSvc.TypeName%,AdminExtensions,0x10000,"{AB4B1105-DCD6-11D2-84B7-009027239464}"
HKR,ResourceTypes\%DhcpSvc.TypeName%,DllName,,"clnetres.dll"
HKR,ResourceTypes\%DhcpSvc.TypeName%,Name,,%DhcpSvc.DisplayName%
HKR,ResourceTypes\%DhcpSvc.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%DhcpSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
HKR,ResourceTypes\%DhcpSvc.TypeName%,AdminExtensions,0x10000,"{AB4B1105-DCD6-11D2-84B7-009027239464}"
HKR,ResourceTypes\%MSMQ.TypeName%,DllName,,"mqclus.dll"
HKR,ResourceTypes\%MSMQ.TypeName%,Name,,%MSMQ.DisplayName%
HKR,ResourceTypes\%MSMQ.TypeName%,IsAlivePollInterval,0x10001,120000
HKR,ResourceTypes\%MSMQ.TypeName%,LooksAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%MSDTC.TypeName%,DllName,,"mtxclu.dll"
HKR,ResourceTypes\%MSDTC.TypeName%,Name,,%MSDTC.DisplayName%
HKR,ResourceTypes\%MSDTC.TypeName%,IsAlivePollInterval,0x10001,120000
HKR,ResourceTypes\%MSDTC.TypeName%,LooksAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%LocalQuorum.TypeName%,DllName,,"clusres.dll"
HKR,ResourceTypes\%LocalQuorum.TypeName%,Name,,%LocalQuorum.DisplayName%
HKR,ResourceTypes\%LocalQuorum.TypeName%,IsAlivePollInterval,0x10001,60000
HKR,ResourceTypes\%LocalQuorum.TypeName%,LooksAlivePollInterval,0x10001,5000
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Tree under HKLM\Cluster\Resources ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HKR,Quorum,Path,0x0,"%32769%\"
[ClusDB_Cleanup]
DelFiles=ClusDB_Cleanup_DelFiles
[ClusDB_Cleanup_DelFiles]
ClusDB
ClusDB.log
;/////////////////////////////////////////////////////////////////////////////
;// Strings
;/////////////////////////////////////////////////////////////////////////////
[Strings]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Cluster Registry Keys And Values (Non-localizable) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Resource Type Names (Non-localizable)
;
GenApp.TypeName="Generic Application"
GenSvc.TypeName="Generic Service"
NetName.TypeName="Network Name"
PhysDisk.TypeName="Physical Disk"
PrtSplSvc.TypeName="Print Spooler"
FileShr.TypeName="File Share"
IpAddr.TypeName="IP Address"
LocalQuorum.TypeName="Local Quorum"
DhcpSvc.TypeName="DHCP Service"
WinsSvc.TypeName="WINS Service"
MSMQ.TypeName="MSMQ"
MSDTC.TypeName="Distributed Transaction Coordinator"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Other Non-localizable Strings ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;
; Localizable Strings ;
;;;;;;;;;;;;;;;;;;;;;;;
;
; ClusSvc Strings
;
ClusSvc.DisplayName="Cluster Service"
ClusSvc.Description="Enables servers to work together as a cluster to keep server-based applications highly available, regardless of individual component failures. If this service is stopped, clustering will be unavailable. If this service is disabled, any services that explicitly depend on it will fail to start."
;
; ClusNet Strings
;
ClusNet.DisplayName="Cluster Network Driver"
;
; Cluster Database Strings
;
ClusterGroupName="Cluster Group"
ClusterNameResName="Cluster Name"
ClusterIPAddrResName="Cluster IP Address"
LocalQuorumResName="Local Quorum"
;
; Resource Type Display Names
;
GenApp.DisplayName="Generic Application"
GenSvc.DisplayName="Generic Service"
NetName.DisplayName="Network Name"
PhysDisk.DisplayName="Physical Disk"
PrtSplSvc.DisplayName="Print Spooler"
FileShr.DisplayName="File Share"
IpAddr.DisplayName="IP Address"
LocalQuorum.DisplayName="Local Quorum"
DhcpSvc.DisplayName="DHCP Service"
WinsSvc.DisplayName="WINS Service"
MSMQ.DisplayName="Message Queuing"
MSDTC.DisplayName="Distributed Transaction Coordinator"
;
; Miscellaneous Strings
;
ExtSnapInName="Cluster Service"