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.

449 lines
16 KiB

  1. ;/////////////////////////////////////////////////////////////////////////////
  2. ;// !!! READ THIS BEFORE YOU CHANGE THIS FILE !!!
  3. ;// ---------------------------------------------
  4. ;//
  5. ;// This file is used by ClusOCM.dll in Whistler to install or upgrade
  6. ;// cluster service binaries.
  7. ;//
  8. ;// This file has one section for clean install and five for upgrades (from
  9. ;// NT4, from Win2K and Whistler when the binaries are installed but
  10. ;// node is not part of cluster, from Win2K and Whistler when node is part
  11. ;// of cluster.). Changing any section will most probably affect all
  12. ;// other sections. So, when you change any section, go through the following
  13. ;// checklist.
  14. ;//
  15. ;// 1. Check if the changes that you made, need to be made in the other scenarios
  16. ;// as well. If so, make the corresponding changes in other sections as well.
  17. ;// For example, if you make a change to the way the node is upgraded from Win2K
  18. ;// check if this change is applicable for upgrades from NT4 as well.
  19. ;//
  20. ;// 2. If you are changing the upgrade path, YOU WILL HAVE TO CHANGE THE FORM,
  21. ;// JOIN AND CLEANUP code as well. Make sure that these changes are made in
  22. ;// the Mgmt\ClusCfg\BaseCluster component.
  23. ;//
  24. ;// 3. Every section has a cleanup section as well. The cleanup section is used
  25. ;// to undo the changes made (as far as possible), if an error occurs. So, if
  26. ;// you add something to a section see if you need to undo this action in the
  27. ;// cleanup section.
  28. ;//
  29. ;// 4. If any subsection is reused by more than one section (for example, the
  30. ;// then put under the 'Common' heading in this file.
  31. ;//
  32. ;/////////////////////////////////////////////////////////////////////////////
  33. [Version]
  34. Signature= "$Windows NT$"
  35. LayoutFile=layout.inf
  36. ;/////////////////////////////////////////////////////////////////////////////
  37. ;// Sections needed by OC Manager
  38. ;/////////////////////////////////////////////////////////////////////////////
  39. [Optional Components]
  40. Cluster
  41. [Cluster]
  42. OptionDesc=%ClusterComponentDesc%
  43. Tip=%ClusterComponentTip%
  44. ;/////////////////////////////////////////////////////////////////////////////
  45. ;// Clean install section
  46. ;/////////////////////////////////////////////////////////////////////////////
  47. [Clean_Install]
  48. CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
  49. AddReg=FilesInstalledInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusNetPortReserveAddReg
  50. DelReg=ClusNetPortReserveDelReg
  51. AddService=ClusDisk,,ClusDiskService
  52. RegisterDlls=ClusterCOMComponents
  53. ProfileItems=CluAdminProfile
  54. [Clean_Install_Cleanup]
  55. DelReg=CleanInstallCleanupReg
  56. DelService=ClusDisk
  57. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  58. ; Registry entries for clean install ;
  59. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  60. [CleanInstallCleanupReg]
  61. ; We delete this entire key so that installation state becomes unknown on error (this is the state
  62. ; that it was in before the clean install). Deleting just the value is not enough, since
  63. ; ClRtlGetClusterInstallState() will return an error if the key is present and the value isn't.
  64. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server"
  65. ;/////////////////////////////////////////////////////////////////////////////
  66. ;// Unclustered Win2k node upgrade section
  67. ;/////////////////////////////////////////////////////////////////////////////
  68. [Win2k_Upgrade_Unclustered]
  69. CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
  70. DelFiles=ObseleteWin2kFiles
  71. AddReg=FilesInstalledInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusNetPortReserveAddReg
  72. DelReg=OCMToDoList, PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
  73. AddService=ClusDisk,,ClusDiskService
  74. RegisterDlls=ClusterCOMComponents
  75. ProfileItems=CluAdminProfile
  76. [Win2k_Upgrade_Unclustered_Cleanup]
  77. ; Nothing can be done here.
  78. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  79. ; Registry entries for upgrade of unclustered Win2k node ;
  80. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  81. [OCMToDoList]
  82. ; To do list of the OC Manager created by ClusOCM in Win2k. This would have been
  83. ; deleted if ClusCfg.exe had been run, but we will have to do it ourselves now.
  84. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Setup\OCManager\ToDoList\Cluster"
  85. ;/////////////////////////////////////////////////////////////////////////////
  86. ;// Section for upgrade of a clustered node from Win2k
  87. ;/////////////////////////////////////////////////////////////////////////////
  88. [Win2k_Upgrade]
  89. CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
  90. DelFiles=ObseleteWin2kFiles
  91. AddReg=UpgradeInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusSvcEventLogReg, ClusNetPortReserveAddReg
  92. DelReg=ClusSvcDependencyDelReg, PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
  93. RegisterDlls=ClusterCOMComponents
  94. ProfileItems=CluAdminProfile
  95. [Win2k_Upgrade_Cleanup]
  96. ; Nothing can be done here.
  97. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  98. ; Registry entries for upgrade of clustered Win2k node ;
  99. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  100. ;/////////////////////////////////////////////////////////////////////////////
  101. ;// Section for upgrade of a clustered Whistler node
  102. ;/////////////////////////////////////////////////////////////////////////////
  103. ;
  104. ; The Whistler -> Whistler upgrade path has to be the same as the Win2K -> Whistler
  105. ; upgrade path, since some early builds of Whistler still used the Win2K cluster
  106. ; setup files.
  107. ;
  108. [Whistler_Upgrade]
  109. CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
  110. DelFiles=ObseleteWin2kFiles
  111. AddReg=UpgradeInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusSvcEventLogReg, ClusNetPortReserveAddReg
  112. DelReg=ClusSvcDependencyDelReg, PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
  113. RegisterDlls=ClusterCOMComponents
  114. ProfileItems=CluAdminProfile
  115. [Whistler_Upgrade_Cleanup]
  116. ; Nothing can be done here.
  117. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  118. ; Registry entries for upgrade of clustered Whistler node ;
  119. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  120. ;/////////////////////////////////////////////////////////////////////////////
  121. ;// Section for upgrade of an unclustered Whistler node
  122. ;/////////////////////////////////////////////////////////////////////////////
  123. ;
  124. ; The Whistler -> Whistler upgrade path has to be the same as the Win2K -> Whistler
  125. ; upgrade path, since some early builds of Whistler still used the Win2K cluster
  126. ; setup files.
  127. ;
  128. [Whistler_Upgrade_Unclustered]
  129. CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
  130. DelFiles=ObseleteWin2kFiles
  131. AddReg=FilesInstalledInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusNetPortReserveAddReg
  132. DelReg=PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
  133. RegisterDlls=ClusterCOMComponents
  134. ProfileItems=CluAdminProfile
  135. [Whistler_Upgrade_Unclustered_Cleanup]
  136. ; Nothing can be done here.
  137. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  138. ; Registry entries for upgrade of unclustered Whistler node ;
  139. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  140. ;/////////////////////////////////////////////////////////////////////////////
  141. ;// Section for upgrade of a node from NT4
  142. ;/////////////////////////////////////////////////////////////////////////////
  143. [NT4_Upgrade]
  144. CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
  145. DelFiles=ObseleteNT4ClusterFiles, ObseleteNT4Installer, ObseleteNT4PrivateFiles, ObseleteNT4HelpFiles, NT4EEInstallerStartupFile
  146. AddReg=UpgradeInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusSvcEventLogReg, ClusNetPortReserveAddReg
  147. DelReg=PrevOSVerInfoDelReg, NT4UninstallKeyDelReg, NT4RPCProtocolDelReg, ClusNetPortReserveDelReg
  148. RegisterDlls=ClusterCOMComponents
  149. ProfileItems=CluAdminProfile, NT4EEInstallerDelProf
  150. [NT4_Upgrade_Cleanup]
  151. ; Nothing can be done here.
  152. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  153. ; Registry entries for upgrade from NT4 ;
  154. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  155. [NT4UninstallKeyDelReg]
  156. HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Cluster Server"
  157. ; RPC now provides services needed by the cluster service. Remove our dlls from the protocol stack.
  158. [NT4RPCProtocolDelReg]
  159. HKLM,Software\Microsoft\Rpc\ClientProtocols\ncadg_cluster
  160. HKLM,Software\Microsoft\Rpc\ServerProtocols\ncadg_cluster
  161. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  162. ; Profile items for upgrade from NT4 ;
  163. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  164. ; Delete the link to the Enterprise Edition Installer from the Administrative Tools (Common) menu
  165. [NT4EEInstallerDelProf]
  166. ; 0x00000002 stands for FLG_PROFITEM_DELETE
  167. Name=%NT4EEInstallerLinkName%, 0x00000002
  168. CmdLine=11,,nhloader.exe
  169. SubDir=%NT4AdminToolsProfile%
  170. ;/////////////////////////////////////////////////////////////////////////////
  171. ;// Common service creation entries
  172. ;/////////////////////////////////////////////////////////////////////////////
  173. ; Create the ClusDisk service
  174. [ClusDiskService]
  175. DisplayName = %ClusDiskServiceDesc%
  176. ServiceType = 1 ; SERVICE_KERNEL_DRIVER
  177. StartType = 4 ; SERVICE_DISABLED
  178. ErrorControl = 1 ; SERVICE_ERROR_NORMAL
  179. ServiceBinary = %12%\ClusDisk.sys
  180. LoadOrderGroup = Filter
  181. ;/////////////////////////////////////////////////////////////////////////////
  182. ;// Common destination id to directory mappings
  183. ;/////////////////////////////////////////////////////////////////////////////
  184. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  185. ; Note: Dir id 32768 (DIRID_USER + 0) always maps to the expanded cluster
  186. ; installation directory (c:\winnt\cluster)
  187. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  188. [DestinationDirs]
  189. ClusterSystemFiles = 11 ; %SystemRoot%\System32
  190. ClusterDriverFiles = 12 ; %SystemRoot%\System32\Drivers
  191. ClusterWMIFiles = 11, WBEM ; %SystemRoot%\System32\WBEM
  192. ClusterFiles = 32768 ; Usually %SystemRoot%\Cluster
  193. ClusterAdminFiles = 32768
  194. ObseleteWin2kFiles = 32768
  195. ObseleteNT4ClusterFiles = 32768
  196. ObseleteNT4PrivateFiles = 32768, Private ; Usually %SystemRoot%\Cluster\Private
  197. ObseleteNT4HelpFiles = 32768
  198. ObseleteNT4Installer = 11 ; %SystemRoot%\System32
  199. NT4EEInstallerStartupFile = 16407, %StartupGroup% ; All Users\Start Menu\Programs\Startup ( 16384 + CSIDL_COMMON_PROGRAMS )
  200. ;/////////////////////////////////////////////////////////////////////////////
  201. ;// Common registry entries
  202. ;/////////////////////////////////////////////////////////////////////////////
  203. ; Write the cluster installation directory out to the registry
  204. [InstallDirReg]
  205. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server","ClusterInstallationDirectory",0x0,%32768%
  206. ; Indicates that the cluster files have been installed, but the node is not part of a cluster.
  207. [FilesInstalledInstallStateReg]
  208. ; Note that eInstallStateFilesCopied has a value of 1.
  209. ; The fourth field, 0x10001, maps to FLG_ADDREG_TYPE_DWORD.
  210. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server","ClusterInstallationState",0x10001,1
  211. ; Create the ClusterLog environment variable.
  212. [ClusterLogReg]
  213. ; 0x20002 maps to FLG_ADDREG_TYPE_EXPAND_SZ | FLG_ADDREG_NOCLOBBER
  214. HKLM,System\CurrentControlSet\Control\Session Manager\Environment,ClusterLog,0x20002,%32768%\cluster.log
  215. ; Create the registry entries needed by CluAdmin
  216. [CluAdminReg]
  217. ; Note that 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
  218. HKLM,Software\Microsoft\Windows\CurrentVersion\App Paths\CluAdmin.exe,,0x20000,%32768%\CluAdmin.exe
  219. ; Add new entries to the cluster eventlog registry.
  220. [ClusSvcEventLogReg]
  221. ; 0x10001 maps to FLG_ADDREG_TYPE_DWORD.
  222. ; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
  223. ; Categories were added to clussvc in Whistler.
  224. HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusSvc","CategoryMessageFile",0x20000,%32768%\ClusSvc.exe
  225. HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusSvc","CategoryCount",0x10001,28
  226. ; Remove the dependency of the cluster service on the WMI service.
  227. [ClusSvcDependencyDelReg]
  228. ; In Win2k, the ClusSvc depended on the WMI service. This dependency has been
  229. ; has now been removed. So, delete this dependency from the SCM database.
  230. ; (0x00018002 maps to FLG_DELREG_MULTI_SZ_DELSTRING)
  231. HKLM,"System\CurrentControlSet\Services\ClusSvc","DependOnService",0x00018002,"WMI"
  232. ; Sets the cluster installation state after an upgrade.
  233. [UpgradeInstallStateReg]
  234. ; Indicates that the Cluster Setup OCM DLL has upgraded successfully.
  235. ; Note that eClusterInstallStateUpgraded has a value of 3.
  236. ; The fourth field, 0x10001, maps to FLG_ADDREG_TYPE_DWORD.
  237. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server","ClusterInstallationState",0x10001,3
  238. ; Delete the information about the previous OS version, since we no longer need it.
  239. [PrevOSVerInfoDelReg]
  240. HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server\PreviousOSVersionInfo"
  241. ; Registry entries needed to reserve the ClusNet port. The range of ports to be reserved are to be appended
  242. ; to this MULTISZ string. First delete all existing entries that match our range, to make sure that
  243. ; this range is not duplicted on upgrades.
  244. [ClusNetPortReserveDelReg]
  245. ; (0x00018002 maps to FLG_DELREG_MULTI_SZ_DELSTRING)
  246. HKLM,"System\CurrentControlSet\Services\Tcpip\Parameters",ReservedPorts,0x00018002,"3343-3343"
  247. ; Now append the string to the MULTISZ string
  248. [ClusNetPortReserveAddReg]
  249. ; The flag 0x00010008 maps to ( FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND )
  250. HKLM,"System\CurrentControlSet\Services\Tcpip\Parameters",ReservedPorts,0x00010008,"3343-3343"
  251. ;/////////////////////////////////////////////////////////////////////////////
  252. ;// Common COM registrations
  253. ;/////////////////////////////////////////////////////////////////////////////
  254. [ClusterCOMComponents]
  255. ; 0x00000001 maps to FLG_REGSVR_DLLREGISTER
  256. 32768,,CluAdMMC.dll,0x00000001,,
  257. 32768,,ClAdmWiz.dll,0x00000001,,
  258. 32768,,CluAdmEx.dll,0x00000001,,
  259. 32768,,ClNetREx.dll,0x00000001,,
  260. 32768,,ClCfgSrv.dll,0x00000001,,
  261. 11,WBEM,ClusWMI.dll,0x00000001,,
  262. ;/////////////////////////////////////////////////////////////////////////////
  263. ;// Common profile sections
  264. ;/////////////////////////////////////////////////////////////////////////////
  265. [CluAdminProfile]
  266. Name=%CluAdminProfileName%,
  267. CmdLine=32768,,CluAdmin.exe
  268. SubDir=%AdminToolsProfile%
  269. InfoTip="@%11%\Setup\ClusOCM.dll,-2"
  270. DisplayResource="%11%\Setup\ClusOCM.dll",1
  271. ;/////////////////////////////////////////////////////////////////////////////
  272. ;// Common file lists
  273. ;/////////////////////////////////////////////////////////////////////////////
  274. [ClusterSystemFiles]
  275. ClusSprt.dll,,,1
  276. [ClusterDriverFiles]
  277. ClusDisk.sys,,,1
  278. ClusNet.sys,,,1
  279. [ClusterFiles]
  280. ClusSvc.exe,,,1
  281. ClusRes.dll,,,1
  282. ResrcMon.exe,,,1
  283. WSHClus.dll,,,1
  284. ClNetRes.dll,,,1
  285. [ClusterAdminFiles]
  286. ClAdmWiz.dll,,,1
  287. CluAdmin.exe,,,1
  288. CluAdmEx.dll,,,1
  289. CluAdMMC.dll,,,1
  290. DebugEx.dll,,,1
  291. ; 0x00000401 stands for COPYFLG_REPLACEONLY | COPYFLG_WARN_IF_SKIP
  292. ClNetREx.dll,,,1
  293. MQClus.dll,,,1
  294. ClCfgSrv.dll,,,1
  295. ClCfgSrv.inf,,,1
  296. [ClusterWMIFiles]
  297. ClusWMI.dll,,,1
  298. ClusWMI.mof,,,1
  299. [ObseleteWin2kFiles]
  300. ClusCfg.exe,,,1
  301. Cluster.inf,,,1
  302. [ObseleteNT4ClusterFiles]
  303. ClusCfg.exe,,,1
  304. Cluster.inf,,,1
  305. ClusPrxy.exe,,,1
  306. RPCLTccl.dll,,,1
  307. RPCLTscl.dll,,,1
  308. Setup.Exe,,,1
  309. Setup.Hlp,,,1
  310. CluAdmin.Cnt,,,1
  311. [ObseleteNT4PrivateFiles]
  312. Security.dll,,,1
  313. [ObseleteNT4Installer]
  314. NHLoader.exe,,,1
  315. [ObseleteNT4HelpFiles]
  316. CluAdmin.hlp,,,1
  317. ClusCfg.hlp,,,1
  318. ; The Enterprise Edition Installer item under the Startup menu
  319. [NT4EEInstallerStartupFile]
  320. %NT4EEInstallerStartupFileName%
  321. ;/////////////////////////////////////////////////////////////////////////////
  322. ;// Common strings
  323. ;/////////////////////////////////////////////////////////////////////////////
  324. [Strings]
  325. ;;;;;;;;;;;;;;;;;;;;;;;
  326. ; Localizable Strings ;
  327. ;;;;;;;;;;;;;;;;;;;;;;;
  328. ClusterComponentDesc="Cluster Service"
  329. ClusterComponentTip="Enables servers to work together as a cluster to keep server-based applications highly available, regardless of individual component failures."
  330. ClusDiskServiceDesc="Cluster Disk Driver"
  331. CluAdminProfileName="Cluster Administrator"
  332. AdminToolsProfile="Administrative Tools"
  333. NT4EEInstallerLinkName="Enterprise Edition Installer"
  334. NT4AdminToolsProfile="Administrative Tools"
  335. StartupGroup="Startup"
  336. NT4EEInstallerStartupFileName="Windows NT Server, Enterprise Edition Installer.cmd"