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

  1. ;/////////////////////////////////////////////////////////////////////////////
  2. ;// !!! READ THIS BEFORE YOU CHANGE THIS FILE !!!
  3. ;// ---------------------------------------------
  4. ;//
  5. ;// This file is used by BaseCluster in Whistler to form, join or cleanup
  6. ;// 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 CLUSOCM
  10. ;// 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 service
  14. ;// 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,29
  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
  115. [ClusDisk_Cleanup]
  116. DelReg=ClusDisk_Reg
  117. ; GorN says that it is not necessary to delete the LargeIrpStackLocations value.
  118. [ClusDisk_Reg]
  119. HKLM,System\CurrentControlSet\Services\ClusDisk\Parameters\Signatures
  120. [ClusDisk_Reg_LargeIrp]
  121. ; Generate 1 extra IRP stack location for ClusDisk
  122. HKLM,System\CurrentControlSet\Control\Session Manager\I/O System,LargeIrpStackLocations,0x10001,9
  123. ;/////////////////////////////////////////////////////////////////////////////
  124. ;// Miscellaneous Section
  125. ;/////////////////////////////////////////////////////////////////////////////
  126. [Node_Create]
  127. AddReg=ExtensionSnapin_Reg,DebuggerRetries_Reg
  128. [Node_Cleanup]
  129. DelReg=ExtensionSnapin_Reg
  130. ; Ian Service says that it is ok to not delete the DebuggerRetries_Reg entries.
  131. [ExtensionSnapin_Reg]
  132. ; Enable Computer Management SnapIn extension
  133. HKLM,System\CurrentControlSet\Control\Server Applications,{12E7ED01-5540-11D1-9AA4-00C04FB93A80},,%ExtSnapInName%
  134. [DebuggerRetries_Reg]
  135. ; Set system debugger retries down to 1
  136. HKLM,System\CurrentControlSet\Control\Session Manager,Debugger Retries,0x10001,1
  137. ;/////////////////////////////////////////////////////////////////////////////
  138. ;// ClusDB Section
  139. ;/////////////////////////////////////////////////////////////////////////////
  140. [ClusDB_Form]
  141. AddReg=ClusDB_Form_Template_AddReg
  142. [ClusDB_Form_Template_AddReg]
  143. ;;;;;;;;;;;;;;;;;;;;;;;;;;;
  144. ; Tree under HKLM\Cluster ;
  145. ;;;;;;;;;;;;;;;;;;;;;;;;;;;
  146. HKR,Nodes
  147. HKR,Groups
  148. HKR,Resources
  149. HKR,ResourceTypes
  150. HKR,Quorum
  151. HKR,Networks
  152. HKR,NetworkInterfaces
  153. ;Cluster object admin extension
  154. HKR,,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  155. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  156. ; Tree under HKLM\Cluster\Groups ;
  157. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  158. HKR,Groups\ClusterGroupGUIDPlaceholder,Name,0x0,%ClusterGroupName%
  159. HKR,Groups\ClusterGroupGUIDPlaceholder,PersistentState,0x00010001,1
  160. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  161. ; Tree under HKLM\Cluster\Resources ;
  162. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  163. ;
  164. ; Cluster Name Resource
  165. ;
  166. HKR,Resources\ClusterNameResGUIDPlaceHolder,Name,0x0,%ClusterNameResName%
  167. HKR,Resources\ClusterNameResGUIDPlaceHolder,Type,0x0,%NetName.TypeName%
  168. HKR,Resources\ClusterNameResGUIDPlaceHolder,Flags,0x00010001,1
  169. HKR,Resources\ClusterNameResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
  170. HKR,Resources\ClusterNameResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
  171. ;
  172. ; Cluster IP Address Resource
  173. ;
  174. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Name,0x0,%ClusterIPAddrResName%
  175. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Type,0x0,%IpAddr.TypeName%
  176. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,Flags,0x00010001,1
  177. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
  178. HKR,Resources\ClusterIPAddrResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
  179. ;
  180. ; LocalQuorum Resource
  181. ;
  182. HKR,Resources\LocalQuorumResGUIDPlaceHolder,Name,0x0,%LocalQuorumResName%
  183. HKR,Resources\LocalQuorumResGUIDPlaceHolder,Type,0x0,%LocalQuorum.TypeName%
  184. HKR,Resources\LocalQuorumResGUIDPlaceHolder,Flags,0x00010001,1
  185. HKR,Resources\LocalQuorumResGUIDPlaceHolder,IsAlivePollInterval,0x00010001,60000
  186. HKR,Resources\LocalQuorumResGUIDPlaceHolder,LooksAlivePollInterval,0x00010001,5000
  187. HKR,Resources\LocalQuorumResGUIDPlaceHolder\Parameters,Path,0x0,"%32769%\"
  188. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  189. ; Tree under HKLM\Cluster\ResourceTypes ;
  190. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  191. HKR,ResourceTypes\%GenApp.TypeName%,DllName,,"clusres.dll"
  192. HKR,ResourceTypes\%GenApp.TypeName%,Name,,%GenApp.DisplayName%
  193. HKR,ResourceTypes\%GenApp.TypeName%,IsAlivePollInterval,0x10001,60000
  194. HKR,ResourceTypes\%GenApp.TypeName%,LooksAlivePollInterval,0x10001,5000
  195. HKR,ResourceTypes\%GenApp.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  196. HKR,ResourceTypes\%GenSvc.TypeName%,DllName,,"clusres.dll"
  197. HKR,ResourceTypes\%GenSvc.TypeName%,Name,,%GenSvc.DisplayName%
  198. HKR,ResourceTypes\%GenSvc.TypeName%,IsAlivePollInterval,0x10001,60000
  199. HKR,ResourceTypes\%GenSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
  200. HKR,ResourceTypes\%GenSvc.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  201. HKR,ResourceTypes\%NetName.TypeName%,DllName,,"clusres.dll"
  202. HKR,ResourceTypes\%NetName.TypeName%,Name,,%NetName.DisplayName%
  203. HKR,ResourceTypes\%NetName.TypeName%,IsAlivePollInterval,0x10001,60000
  204. HKR,ResourceTypes\%NetName.TypeName%,LooksAlivePollInterval,0x10001,5000
  205. HKR,ResourceTypes\%NetName.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  206. HKR,ResourceTypes\%PhysDisk.TypeName%,DllName,,"clusres.dll"
  207. HKR,ResourceTypes\%PhysDisk.TypeName%,Name,,%PhysDisk.DisplayName%
  208. HKR,ResourceTypes\%PhysDisk.TypeName%,IsAlivePollInterval,0x10001,60000
  209. HKR,ResourceTypes\%PhysDisk.TypeName%,LooksAlivePollInterval,0x10001,5000
  210. HKR,ResourceTypes\%PhysDisk.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  211. HKR,ResourceTypes\%PrtSplSvc.TypeName%,DllName,,"clusres.dll"
  212. HKR,ResourceTypes\%PrtSplSvc.TypeName%,Name,,%PrtSplSvc.DisplayName%
  213. HKR,ResourceTypes\%PrtSplSvc.TypeName%,IsAlivePollInterval,0x10001,60000
  214. HKR,ResourceTypes\%PrtSplSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
  215. HKR,ResourceTypes\%PrtSplSvc.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  216. HKR,ResourceTypes\%FileShr.TypeName%,DllName,,"clusres.dll"
  217. HKR,ResourceTypes\%FileShr.TypeName%,Name,,%FileShr.DisplayName%
  218. HKR,ResourceTypes\%FileShr.TypeName%,IsAlivePollInterval,0x10001,60000
  219. HKR,ResourceTypes\%FileShr.TypeName%,LooksAlivePollInterval,0x10001,5000
  220. HKR,ResourceTypes\%FileShr.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  221. HKR,ResourceTypes\%IpAddr.TypeName%,DllName,,"clusres.dll"
  222. HKR,ResourceTypes\%IpAddr.TypeName%,Name,,%IpAddr.DisplayName%
  223. HKR,ResourceTypes\%IpAddr.TypeName%,IsAlivePollInterval,0x10001,60000
  224. HKR,ResourceTypes\%IpAddr.TypeName%,LooksAlivePollInterval,0x10001,5000
  225. HKR,ResourceTypes\%IpAddr.TypeName%,AdminExtensions,0x10000,"{4EC90FB0-D0BB-11CF-B5EF-00A0C90AB505}"
  226. HKR,ResourceTypes\%WinsSvc.TypeName%,DllName,,"clnetres.dll"
  227. HKR,ResourceTypes\%WinsSvc.TypeName%,Name,,%WinsSvc.DisplayName%
  228. HKR,ResourceTypes\%WinsSvc.TypeName%,IsAlivePollInterval,0x10001,120000
  229. HKR,ResourceTypes\%WinsSvc.TypeName%,LooksAlivePollInterval,0x10001,60000
  230. HKR,ResourceTypes\%WinsSvc.TypeName%,AdminExtensions,0x10000,"{AB4B1105-DCD6-11D2-84B7-009027239464}"
  231. HKR,ResourceTypes\%DhcpSvc.TypeName%,DllName,,"clnetres.dll"
  232. HKR,ResourceTypes\%DhcpSvc.TypeName%,Name,,%DhcpSvc.DisplayName%
  233. HKR,ResourceTypes\%DhcpSvc.TypeName%,IsAlivePollInterval,0x10001,60000
  234. HKR,ResourceTypes\%DhcpSvc.TypeName%,LooksAlivePollInterval,0x10001,5000
  235. HKR,ResourceTypes\%DhcpSvc.TypeName%,AdminExtensions,0x10000,"{AB4B1105-DCD6-11D2-84B7-009027239464}"
  236. HKR,ResourceTypes\%MSMQ.TypeName%,DllName,,"mqclus.dll"
  237. HKR,ResourceTypes\%MSMQ.TypeName%,Name,,%MSMQ.DisplayName%
  238. HKR,ResourceTypes\%MSMQ.TypeName%,IsAlivePollInterval,0x10001,120000
  239. HKR,ResourceTypes\%MSMQ.TypeName%,LooksAlivePollInterval,0x10001,60000
  240. HKR,ResourceTypes\%MSDTC.TypeName%,DllName,,"mtxclu.dll"
  241. HKR,ResourceTypes\%MSDTC.TypeName%,Name,,%MSDTC.DisplayName%
  242. HKR,ResourceTypes\%MSDTC.TypeName%,IsAlivePollInterval,0x10001,120000
  243. HKR,ResourceTypes\%MSDTC.TypeName%,LooksAlivePollInterval,0x10001,60000
  244. HKR,ResourceTypes\%LocalQuorum.TypeName%,DllName,,"clusres.dll"
  245. HKR,ResourceTypes\%LocalQuorum.TypeName%,Name,,%LocalQuorum.DisplayName%
  246. HKR,ResourceTypes\%LocalQuorum.TypeName%,IsAlivePollInterval,0x10001,60000
  247. HKR,ResourceTypes\%LocalQuorum.TypeName%,LooksAlivePollInterval,0x10001,5000
  248. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  249. ; Tree under HKLM\Cluster\Resources ;
  250. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  251. HKR,Quorum,Path,0x0,"%32769%\"
  252. [ClusDB_Cleanup]
  253. DelFiles=ClusDB_Cleanup_DelFiles
  254. [ClusDB_Cleanup_DelFiles]
  255. ClusDB
  256. ClusDB.log
  257. ;/////////////////////////////////////////////////////////////////////////////
  258. ;// Strings
  259. ;/////////////////////////////////////////////////////////////////////////////
  260. [Strings]
  261. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  262. ; Cluster Registry Keys And Values (Non-localizable) ;
  263. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  264. ;
  265. ; Resource Type Names (Non-localizable)
  266. ;
  267. GenApp.TypeName="Generic Application"
  268. GenSvc.TypeName="Generic Service"
  269. NetName.TypeName="Network Name"
  270. PhysDisk.TypeName="Physical Disk"
  271. PrtSplSvc.TypeName="Print Spooler"
  272. FileShr.TypeName="File Share"
  273. IpAddr.TypeName="IP Address"
  274. LocalQuorum.TypeName="Local Quorum"
  275. DhcpSvc.TypeName="DHCP Service"
  276. WinsSvc.TypeName="WINS Service"
  277. MSMQ.TypeName="MSMQ"
  278. MSDTC.TypeName="Distributed Transaction Coordinator"
  279. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  280. ; Other Non-localizable Strings ;
  281. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  282. ;;;;;;;;;;;;;;;;;;;;;;;
  283. ; Localizable Strings ;
  284. ;;;;;;;;;;;;;;;;;;;;;;;
  285. ;
  286. ; ClusSvc Strings
  287. ;
  288. ClusSvc.DisplayName="Cluster Service"
  289. ClusSvc.Description="Enables servers to work together as a cluster to keep server-based applications highly available, regardless of individual component failures."
  290. ;
  291. ; ClusNet Strings
  292. ;
  293. ClusNet.DisplayName="Cluster Network Driver"
  294. ;
  295. ; Cluster Database Strings
  296. ;
  297. ClusterGroupName="Cluster Group"
  298. ClusterNameResName="Cluster Name"
  299. ClusterIPAddrResName="Cluster IP Address"
  300. LocalQuorumResName="Local Quorum"
  301. ;
  302. ; Resource Type Display Names
  303. ;
  304. GenApp.DisplayName="Generic Application"
  305. GenSvc.DisplayName="Generic Service"
  306. NetName.DisplayName="Network Name"
  307. PhysDisk.DisplayName="Physical Disk"
  308. PrtSplSvc.DisplayName="Print Spooler"
  309. FileShr.DisplayName="File Share"
  310. IpAddr.DisplayName="IP Address"
  311. LocalQuorum.DisplayName="Local Quorum"
  312. DhcpSvc.DisplayName="DHCP Service"
  313. WinsSvc.DisplayName="WINS Service"
  314. MSMQ.DisplayName="Message Queuing"
  315. MSDTC.DisplayName="Distributed Transaction Coordinator"
  316. ;
  317. ; Miscellaneous Strings
  318. ;
  319. ExtSnapInName="Cluster Service"