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

  1. ;/////////////////////////////////////////////////////////////////////////////
  2. ;// !!! READ THIS BEFORE YOU CHANGE THIS FILE !!!
  3. ;// ---------------------------------------------
  4. ;//
  5. ;// This file is used by BaseCluster in Windows Server 2003 to form, join or
  6. ;// cleanup a cluster.
  7. ;//
  8. ;// Changing anything in the form or join path will most probably also affect the
  9. ;// upgrade path, so IF YOU CHANGE THIS FILE, CHECK IF YOU NEED TO CHANGE
  10. ;// CLUSOCM AS WELL. Too many bugs have been caused by this not being done.
  11. ;//
  12. ;// Also, if you add anything to the form or join path, do not forget to add the
  13. ;// converse action to the cleanup path. For example, if you create the cluster
  14. ;// service in the ClusSvc_Create section, do not forget to delete the service in the
  15. ;// ClusSvc_Cleanup section. This is needed so the system is left in good
  16. ;// state if we need to roll back the install. It will also be used to clean
  17. ;// up the node after it has been evicted from a cluster.
  18. ;//
  19. ;/////////////////////////////////////////////////////////////////////////////
  20. [Version]
  21. Signature="$Windows NT$"
  22. ;/////////////////////////////////////////////////////////////////////////////
  23. ;// !README!
  24. ;//
  25. ;// 1. 32768 maps to the cluster installation directory.
  26. ;// 2. 32769 maps to the localquorum directory
  27. ;//
  28. ;/////////////////////////////////////////////////////////////////////////////
  29. ;/////////////////////////////////////////////////////////////////////////////
  30. ;// Destination directories
  31. ;/////////////////////////////////////////////////////////////////////////////
  32. [DestinationDirs]
  33. ClusDB_Cleanup_DelFiles=32768
  34. ;/////////////////////////////////////////////////////////////////////////////
  35. ;// ClusSvc Section
  36. ;/////////////////////////////////////////////////////////////////////////////
  37. [ClusSvc_Create]
  38. AddService=ClusSvc,,ClusSvc_Install,ClusSvc_EventLog_Install
  39. AddReg=ClusSvc_Install_Reg
  40. DelReg=NodeEvictedFlag_Reg
  41. [ClusSvc_Install]
  42. DisplayName = %ClusSvc.DisplayName%
  43. ServiceType = 0x10 ; SERVICE_WIN32_OWN_PROCESS
  44. StartType = 2 ; SERVICE_AUTO_START
  45. ErrorControl = 1 ; SERVICE_ERROR_NORMAL
  46. ServiceBinary = %32768%\clussvc.exe
  47. Dependencies = ClusNet,RpcSs,W32Time,NetMan
  48. [ClusSvc_Install_Reg]
  49. HKLM,System\CurrentControlSet\Services\ClusSvc,Description,0x0,"%ClusSvc.Description%"
  50. [ClusSvc_EventLog_Install]
  51. AddReg=ClusSvc_EventLog_AddReg
  52. [ClusSvc_EventLog_AddReg]
  53. ; 0x10001 maps to FLG_ADDREG_TYPE_DWORD.
  54. ; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
  55. HKR,,CategoryMessageFile,0x20000,%32768%\ClusSvc.exe
  56. HKR,,CategoryCount,0x10001,30
  57. HKR,,EventMessageFile,0x20000,%32768%\ClusSvc.exe
  58. HKR,,TypesSupported,0x10001,7
  59. [ClusSvc_Cleanup]
  60. DelService=ClusSvc
  61. DelReg=ClusSvc_DelReg, NodeEvictedFlag_Reg
  62. [NodeEvictedFlag_Reg]
  63. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server",NodeHasBeenEvicted
  64. [ClusSvc_DelReg]
  65. HKLM,System\CurrentControlSet\Services\ClusSvc
  66. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server",ClusterFirstRun
  67. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server",ClusterDatabaseCopyInProgress
  68. [ClusSvc_EventLog_DelReg]
  69. ;
  70. ; this section isn't enabled for uninstall. This allows admins to continue to view
  71. ; clussvc entries in the system event log. Necessary to validate that evict processing
  72. ; occurred correctly
  73. ;
  74. HKLM,System\CurrentControlSet\Services\EventLog\System\ClusSvc
  75. ;/////////////////////////////////////////////////////////////////////////////
  76. ;// ClusNet Section
  77. ;/////////////////////////////////////////////////////////////////////////////
  78. [ClusNet_Create]
  79. AddService=ClusNet,,ClusNet_Install,ClusNet_EventLog_Install
  80. AddReg=ClusNet_Winsock_Registration
  81. [ClusNet_Install]
  82. DisplayName = %ClusNet.DisplayName%
  83. ServiceType = 1 ; SERVICE_KERNEL_DRIVER
  84. StartType = 3 ; SERVICE_DEMAND_START
  85. ErrorControl = 1 ; SERVICE_ERROR_NORMAL
  86. ServiceBinary = %12%\clusnet.sys
  87. LoadOrderGroup = Tdi
  88. Dependencies = Tcpip
  89. [ClusNet_EventLog_Install]
  90. AddReg=ClusNet_EventLog_AddReg
  91. [ClusNet_EventLog_AddReg]
  92. ; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
  93. HKR,,EventMessageFile,0x20000,"%32768%\ClusSvc.exe;%systemroot%\system32\iologmsg.dll"
  94. HKR,,TypesSupported,0x10001,7
  95. ; Part of the ClusNet WinSock registration is done using SetupAPI. The rest is done
  96. ; in the code using the registry API.
  97. [ClusNet_Winsock_Registration]
  98. HKLM,System\CurrentControlSet\Services\ClusNet\Parameters\Winsock,HelperDllName,0x20000,%32768%\WSHClus.DLL
  99. ; The flag 0x00010008 maps to ( FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND )
  100. HKLM,System\CurrentControlSet\Services\WinSock\Parameters,Transports,0x00010008,ClusNet
  101. ; Part of the cleanup is also done by the code.
  102. [ClusNet_Cleanup]
  103. DelService=ClusNet
  104. DelReg=ClusNet_DelReg,ClusNet_EventLog_DelReg
  105. [ClusNet_EventLog_DelReg]
  106. ; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
  107. HKLM,System\CurrentControlSet\Services\EventLog\System\ClusNet
  108. [ClusNet_DelReg]
  109. HKLM,System\CurrentControlSet\Services\ClusNet
  110. ;/////////////////////////////////////////////////////////////////////////////
  111. ;// ClusDisk Section
  112. ;/////////////////////////////////////////////////////////////////////////////
  113. [ClusDisk_Create]
  114. AddReg=ClusDisk_Reg,ClusDisk_Reg_LargeIrp,ClusDisk_EventLog_AddReg,Disk_TimeOutValue_Reg
  115. [ClusDisk_EventLog_AddReg]
  116. ; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
  117. HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusDisk","EventMessageFile",0x20000,"%32768%\ClusSvc.exe;%systemroot%\system32\iologmsg.dll"
  118. HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusDisk","TypesSupported",0x10001,7
  119. [ClusDisk_Cleanup]
  120. DelReg=ClusDisk_Reg
  121. ; Not necessary to delete the LargeIrpStackLocations value.
  122. [ClusDisk_Reg]
  123. HKLM,System\CurrentControlSet\Services\ClusDisk\Parameters\Signatures
  124. [ClusDisk_Reg_LargeIrp]
  125. ; Generate 1 extra IRP stack location for ClusDisk
  126. HKLM,System\CurrentControlSet\Control\Session Manager\I/O System,LargeIrpStackLocations,0x10001,9
  127. ; Set the default time out value for I/O to 60 seconds
  128. [Disk_TimeOutValue_Reg]
  129. ; The fourth field, 0x10001, maps to FLG_ADDREG_TYPE_DWORD.
  130. HKLM,"System\CurrentControlSet\Services\Disk","TimeOutValue",0x10001,20
  131. ;/////////////////////////////////////////////////////////////////////////////
  132. ;// Miscellaneous Section
  133. ;/////////////////////////////////////////////////////////////////////////////
  134. [Node_Create]
  135. AddReg=ExtensionSnapin_Reg,DebuggerRetries_Reg
  136. [Node_Cleanup]
  137. DelReg=ExtensionSnapin_Reg
  138. ; Not necessary to delete the DebuggerRetries_Reg entries.
  139. [ExtensionSnapin_Reg]
  140. ; Enable Computer Management SnapIn extension
  141. HKLM,System\CurrentControlSet\Control\Server Applications,{12E7ED01-5540-11D1-9AA4-00C04FB93A80},,%ExtSnapInName%
  142. [DebuggerRetries_Reg]
  143. ; Set system debugger retries down to 1
  144. HKLM,System\CurrentControlSet\Control\Session Manager,Debugger Retries,0x10001,1
  145. ;/////////////////////////////////////////////////////////////////////////////
  146. ;// ClusDB Section
  147. ;/////////////////////////////////////////////////////////////////////////////
  148. [ClusDB_Form]
  149. AddReg=ClusDB_Form_Template_AddReg
  150. [ClusDB_Form_Template_AddReg]
  151. ;;;;;;;;;;;;;;;;;;;;;;;;;;;
  152. ; Tree under HKLM\Cluster ;
  153. ;;;;;;;;;;;;;;;;;;;;;;;;;;;
  154. HKR,Nodes
  155. HKR,Groups
  156. HKR,Resources
  157. HKR,ResourceTypes
  158. HKR,Quorum
  159. HKR,Networks
  160. HKR,NetworkInterfaces
  161. ;Cluster object admin extension
  162. HKR,,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  163. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  164. ; Tree under HKLM\Cluster\Groups ;
  165. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  166. HKR,Groups\ClusterGroupGUIDPlaceholder,Name,0x0,%ClusterGroupName%
  167. HKR,Groups\ClusterGroupGUIDPlaceholder,PersistentState,0x00010001,1
  168. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  169. ; Tree under HKLM\Cluster\Resources ;
  170. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  171. ;
  172. ; Cluster Name Resource
  173. ;
  174. HKR,Resources\ClusterNameResGUIDPlaceHolder,Name,0x0,%ClusterNameResName%
  175. HKR,Resources\ClusterNameResGUIDPlaceHolder,Type,0x0,%NetName.TypeName%
  176. HKR,Resources\ClusterNameResGUIDPlaceHolder,Flags,0x00010001,1
  177. HKR,Resources\ClusterNameResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
  178. HKR,Resources\ClusterNameResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
  179. ;
  180. ; Cluster IP Address Resource
  181. ;
  182. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Name,0x0,%ClusterIPAddrResName%
  183. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Type,0x0,%IpAddr.TypeName%
  184. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Flags,0x00010001,1
  185. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
  186. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
  187. ;
  188. ; LocalQuorum Resource
  189. ;
  190. HKR,Resources\LocalQuorumResGUIDPlaceHolder,Name,0x0,%LocalQuorumResName%
  191. HKR,Resources\LocalQuorumResGUIDPlaceHolder,Type,0x0,%LocalQuorum.TypeName%
  192. HKR,Resources\LocalQuorumResGUIDPlaceHolder,Flags,0x00010001,1
  193. HKR,Resources\LocalQuorumResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
  194. HKR,Resources\LocalQuorumResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
  195. HKR,Resources\LocalQuorumResGUIDPlaceHolder\Parameters
  196. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  197. ; Tree under HKLM\Cluster\ResourceTypes ;
  198. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  199. HKR,ResourceTypes\%GenApp.TypeName%,DllName,,"clusres.dll"
  200. HKR,ResourceTypes\%GenApp.TypeName%,Name,,%GenApp.DisplayName%
  201. HKR,ResourceTypes\%GenApp.TypeName%,IsAlivePollInterval,0x10001,60000
  202. HKR,ResourceTypes\%GenApp.TypeName%,LooksAlivePollInterval,0x10001,5000
  203. HKR,ResourceTypes\%GenApp.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  204. HKR,ResourceTypes\%GenSvc.TypeName%,DllName,,"clusres.dll"
  205. HKR,ResourceTypes\%GenSvc.TypeName%,Name,,%GenSvc.DisplayName%
  206. HKR,ResourceTypes\%GenSvc.TypeName%,IsAlivePollInterval,0x10001,60000
  207. HKR,ResourceTypes\%GenSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
  208. HKR,ResourceTypes\%GenSvc.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  209. HKR,ResourceTypes\%NetName.TypeName%,DllName,,"clusres.dll"
  210. HKR,ResourceTypes\%NetName.TypeName%,Name,,%NetName.DisplayName%
  211. HKR,ResourceTypes\%NetName.TypeName%,IsAlivePollInterval,0x10001,60000
  212. HKR,ResourceTypes\%NetName.TypeName%,LooksAlivePollInterval,0x10001,5000
  213. HKR,ResourceTypes\%NetName.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  214. HKR,ResourceTypes\%PhysDisk.TypeName%,DllName,,"clusres.dll"
  215. HKR,ResourceTypes\%PhysDisk.TypeName%,Name,,%PhysDisk.DisplayName%
  216. HKR,ResourceTypes\%PhysDisk.TypeName%,IsAlivePollInterval,0x10001,60000
  217. HKR,ResourceTypes\%PhysDisk.TypeName%,LooksAlivePollInterval,0x10001,5000
  218. HKR,ResourceTypes\%PhysDisk.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  219. HKR,ResourceTypes\%PrtSplSvc.TypeName%,DllName,,"clusres.dll"
  220. HKR,ResourceTypes\%PrtSplSvc.TypeName%,Name,,%PrtSplSvc.DisplayName%
  221. HKR,ResourceTypes\%PrtSplSvc.TypeName%,IsAlivePollInterval,0x10001,60000
  222. HKR,ResourceTypes\%PrtSplSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
  223. HKR,ResourceTypes\%PrtSplSvc.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  224. HKR,ResourceTypes\%FileShr.TypeName%,DllName,,"clusres.dll"
  225. HKR,ResourceTypes\%FileShr.TypeName%,Name,,%FileShr.DisplayName%
  226. HKR,ResourceTypes\%FileShr.TypeName%,IsAlivePollInterval,0x10001,60000
  227. HKR,ResourceTypes\%FileShr.TypeName%,LooksAlivePollInterval,0x10001,5000
  228. HKR,ResourceTypes\%FileShr.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  229. HKR,ResourceTypes\%IpAddr.TypeName%,DllName,,"clusres.dll"
  230. HKR,ResourceTypes\%IpAddr.TypeName%,Name,,%IpAddr.DisplayName%
  231. HKR,ResourceTypes\%IpAddr.TypeName%,IsAlivePollInterval,0x10001,60000
  232. HKR,ResourceTypes\%IpAddr.TypeName%,LooksAlivePollInterval,0x10001,5000
  233. HKR,ResourceTypes\%IpAddr.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  234. HKR,ResourceTypes\%WinsSvc.TypeName%,DllName,,"clnetres.dll"
  235. HKR,ResourceTypes\%WinsSvc.TypeName%,Name,,%WinsSvc.DisplayName%
  236. HKR,ResourceTypes\%WinsSvc.TypeName%,IsAlivePollInterval,0x10001,120000
  237. HKR,ResourceTypes\%WinsSvc.TypeName%,LooksAlivePollInterval,0x10001,60000
  238. HKR,ResourceTypes\%WinsSvc.TypeName%,AdminExtensions,0x10000,"{AB4B1105-DCD6-11D2-84B7-009027239464}"
  239. HKR,ResourceTypes\%DhcpSvc.TypeName%,DllName,,"clnetres.dll"
  240. HKR,ResourceTypes\%DhcpSvc.TypeName%,Name,,%DhcpSvc.DisplayName%
  241. HKR,ResourceTypes\%DhcpSvc.TypeName%,IsAlivePollInterval,0x10001,60000
  242. HKR,ResourceTypes\%DhcpSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
  243. HKR,ResourceTypes\%DhcpSvc.TypeName%,AdminExtensions,0x10000,"{AB4B1105-DCD6-11D2-84B7-009027239464}"
  244. HKR,ResourceTypes\%MSMQ.TypeName%,DllName,,"mqclus.dll"
  245. HKR,ResourceTypes\%MSMQ.TypeName%,Name,,%MSMQ.DisplayName%
  246. HKR,ResourceTypes\%MSMQ.TypeName%,IsAlivePollInterval,0x10001,120000
  247. HKR,ResourceTypes\%MSMQ.TypeName%,LooksAlivePollInterval,0x10001,60000
  248. HKR,ResourceTypes\%MSDTC.TypeName%,DllName,,"mtxclu.dll"
  249. HKR,ResourceTypes\%MSDTC.TypeName%,Name,,%MSDTC.DisplayName%
  250. HKR,ResourceTypes\%MSDTC.TypeName%,IsAlivePollInterval,0x10001,120000
  251. HKR,ResourceTypes\%MSDTC.TypeName%,LooksAlivePollInterval,0x10001,60000
  252. HKR,ResourceTypes\%LocalQuorum.TypeName%,DllName,,"clusres.dll"
  253. HKR,ResourceTypes\%LocalQuorum.TypeName%,Name,,%LocalQuorum.DisplayName%
  254. HKR,ResourceTypes\%LocalQuorum.TypeName%,IsAlivePollInterval,0x10001,60000
  255. HKR,ResourceTypes\%LocalQuorum.TypeName%,LooksAlivePollInterval,0x10001,5000
  256. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  257. ; Tree under HKLM\Cluster\Resources ;
  258. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  259. HKR,Quorum,Path,0x0,"%32769%\"
  260. [ClusDB_Cleanup]
  261. DelFiles=ClusDB_Cleanup_DelFiles
  262. [ClusDB_Cleanup_DelFiles]
  263. ClusDB
  264. ClusDB.log
  265. ;/////////////////////////////////////////////////////////////////////////////
  266. ;// Strings
  267. ;/////////////////////////////////////////////////////////////////////////////
  268. [Strings]
  269. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  270. ; Cluster Registry Keys And Values (Non-localizable) ;
  271. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  272. ;
  273. ; Resource Type Names (Non-localizable)
  274. ;
  275. GenApp.TypeName="Generic Application"
  276. GenSvc.TypeName="Generic Service"
  277. NetName.TypeName="Network Name"
  278. PhysDisk.TypeName="Physical Disk"
  279. PrtSplSvc.TypeName="Print Spooler"
  280. FileShr.TypeName="File Share"
  281. IpAddr.TypeName="IP Address"
  282. LocalQuorum.TypeName="Local Quorum"
  283. DhcpSvc.TypeName="DHCP Service"
  284. WinsSvc.TypeName="WINS Service"
  285. MSMQ.TypeName="MSMQ"
  286. MSDTC.TypeName="Distributed Transaction Coordinator"
  287. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  288. ; Other Non-localizable Strings ;
  289. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  290. ;;;;;;;;;;;;;;;;;;;;;;;
  291. ; Localizable Strings ;
  292. ;;;;;;;;;;;;;;;;;;;;;;;
  293. ;
  294. ; ClusSvc Strings
  295. ;
  296. ClusSvc.DisplayName="Cluster Service"
  297. 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."
  298. ;
  299. ; ClusNet Strings
  300. ;
  301. ClusNet.DisplayName="Cluster Network Driver"
  302. ;
  303. ; Cluster Database Strings
  304. ;
  305. ClusterGroupName="Cluster Group"
  306. ClusterNameResName="Cluster Name"
  307. ClusterIPAddrResName="Cluster IP Address"
  308. LocalQuorumResName="Local Quorum"
  309. ;
  310. ; Resource Type Display Names
  311. ;
  312. GenApp.DisplayName="Generic Application"
  313. GenSvc.DisplayName="Generic Service"
  314. NetName.DisplayName="Network Name"
  315. PhysDisk.DisplayName="Physical Disk"
  316. PrtSplSvc.DisplayName="Print Spooler"
  317. FileShr.DisplayName="File Share"
  318. IpAddr.DisplayName="IP Address"
  319. LocalQuorum.DisplayName="Local Quorum"
  320. DhcpSvc.DisplayName="DHCP Service"
  321. WinsSvc.DisplayName="WINS Service"
  322. MSMQ.DisplayName="Message Queuing"
  323. MSDTC.DisplayName="Distributed Transaction Coordinator"
  324. ;
  325. ; Miscellaneous Strings
  326. ;
  327. ExtSnapInName="Cluster Service"