Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

454 lines
15 KiB

;/////////////////////////////////////////////////////////////////////////////
;// !!! READ THIS BEFORE YOU CHANGE THIS FILE !!!
;// ---------------------------------------------
;//
;// This file is used by BaseCluster in Whistler 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,29
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_Cleanup]
DelReg=ClusDisk_Reg
; GorN says that it is 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
;/////////////////////////////////////////////////////////////////////////////
;// Miscellaneous Section
;/////////////////////////////////////////////////////////////////////////////
[Node_Create]
AddReg=ExtensionSnapin_Reg,DebuggerRetries_Reg
[Node_Cleanup]
DelReg=ExtensionSnapin_Reg
; Ian Service says that it is ok to not 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,Path,0x0,"%32769%\"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 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."
;
; 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"