windows-nt/Source/XPSP1/NT/base/cluster/mgmt/clusocm/clusocm.inf
2020-09-26 16:20:57 +08:00

450 lines
16 KiB
INI

;/////////////////////////////////////////////////////////////////////////////
;// !!! READ THIS BEFORE YOU CHANGE THIS FILE !!!
;// ---------------------------------------------
;//
;// This file is used by ClusOCM.dll in Whistler to install or upgrade
;// cluster service binaries.
;//
;// This file has one section for clean install and five for upgrades (from
;// NT4, from Win2K and Whistler when the binaries are installed but
;// node is not part of cluster, from Win2K and Whistler when node is part
;// of cluster.). Changing any section will most probably affect all
;// other sections. So, when you change any section, go through the following
;// checklist.
;//
;// 1. Check if the changes that you made, need to be made in the other scenarios
;// as well. If so, make the corresponding changes in other sections as well.
;// For example, if you make a change to the way the node is upgraded from Win2K
;// check if this change is applicable for upgrades from NT4 as well.
;//
;// 2. If you are changing the upgrade path, YOU WILL HAVE TO CHANGE THE FORM,
;// JOIN AND CLEANUP code as well. Make sure that these changes are made in
;// the Mgmt\ClusCfg\BaseCluster component.
;//
;// 3. Every section has a cleanup section as well. The cleanup section is used
;// to undo the changes made (as far as possible), if an error occurs. So, if
;// you add something to a section see if you need to undo this action in the
;// cleanup section.
;//
;// 4. If any subsection is reused by more than one section (for example, the
;// then put under the 'Common' heading in this file.
;//
;/////////////////////////////////////////////////////////////////////////////
[Version]
Signature= "$Windows NT$"
LayoutFile=layout.inf
;/////////////////////////////////////////////////////////////////////////////
;// Sections needed by OC Manager
;/////////////////////////////////////////////////////////////////////////////
[Optional Components]
Cluster
[Cluster]
OptionDesc=%ClusterComponentDesc%
Tip=%ClusterComponentTip%
;/////////////////////////////////////////////////////////////////////////////
;// Clean install section
;/////////////////////////////////////////////////////////////////////////////
[Clean_Install]
CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
AddReg=FilesInstalledInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusNetPortReserveAddReg
DelReg=ClusNetPortReserveDelReg
AddService=ClusDisk,,ClusDiskService
RegisterDlls=ClusterCOMComponents
ProfileItems=CluAdminProfile
[Clean_Install_Cleanup]
DelReg=CleanInstallCleanupReg
DelService=ClusDisk
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Registry entries for clean install ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[CleanInstallCleanupReg]
; We delete this entire key so that installation state becomes unknown on error (this is the state
; that it was in before the clean install). Deleting just the value is not enough, since
; ClRtlGetClusterInstallState() will return an error if the key is present and the value isn't.
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server"
;/////////////////////////////////////////////////////////////////////////////
;// Unclustered Win2k node upgrade section
;/////////////////////////////////////////////////////////////////////////////
[Win2k_Upgrade_Unclustered]
CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
DelFiles=ObseleteWin2kFiles
AddReg=FilesInstalledInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusNetPortReserveAddReg
DelReg=OCMToDoList, PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
AddService=ClusDisk,,ClusDiskService
RegisterDlls=ClusterCOMComponents
ProfileItems=CluAdminProfile
[Win2k_Upgrade_Unclustered_Cleanup]
; Nothing can be done here.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Registry entries for upgrade of unclustered Win2k node ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[OCMToDoList]
; To do list of the OC Manager created by ClusOCM in Win2k. This would have been
; deleted if ClusCfg.exe had been run, but we will have to do it ourselves now.
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Setup\OCManager\ToDoList\Cluster"
;/////////////////////////////////////////////////////////////////////////////
;// Section for upgrade of a clustered node from Win2k
;/////////////////////////////////////////////////////////////////////////////
[Win2k_Upgrade]
CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
DelFiles=ObseleteWin2kFiles
AddReg=UpgradeInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusSvcEventLogReg, ClusNetPortReserveAddReg
DelReg=ClusSvcDependencyDelReg, PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
RegisterDlls=ClusterCOMComponents
ProfileItems=CluAdminProfile
[Win2k_Upgrade_Cleanup]
; Nothing can be done here.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Registry entries for upgrade of clustered Win2k node ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;/////////////////////////////////////////////////////////////////////////////
;// Section for upgrade of a clustered Whistler node
;/////////////////////////////////////////////////////////////////////////////
;
; The Whistler -> Whistler upgrade path has to be the same as the Win2K -> Whistler
; upgrade path, since some early builds of Whistler still used the Win2K cluster
; setup files.
;
[Whistler_Upgrade]
CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
DelFiles=ObseleteWin2kFiles
AddReg=UpgradeInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusSvcEventLogReg, ClusNetPortReserveAddReg
DelReg=ClusSvcDependencyDelReg, PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
RegisterDlls=ClusterCOMComponents
ProfileItems=CluAdminProfile
[Whistler_Upgrade_Cleanup]
; Nothing can be done here.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Registry entries for upgrade of clustered Whistler node ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;/////////////////////////////////////////////////////////////////////////////
;// Section for upgrade of an unclustered Whistler node
;/////////////////////////////////////////////////////////////////////////////
;
; The Whistler -> Whistler upgrade path has to be the same as the Win2K -> Whistler
; upgrade path, since some early builds of Whistler still used the Win2K cluster
; setup files.
;
[Whistler_Upgrade_Unclustered]
CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
DelFiles=ObseleteWin2kFiles
AddReg=FilesInstalledInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusNetPortReserveAddReg
DelReg=PrevOSVerInfoDelReg, ClusNetPortReserveDelReg
RegisterDlls=ClusterCOMComponents
ProfileItems=CluAdminProfile
[Whistler_Upgrade_Unclustered_Cleanup]
; Nothing can be done here.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Registry entries for upgrade of unclustered Whistler node ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;/////////////////////////////////////////////////////////////////////////////
;// Section for upgrade of a node from NT4
;/////////////////////////////////////////////////////////////////////////////
[NT4_Upgrade]
CopyFiles=ClusterSystemFiles, ClusterDriverFiles, ClusterFiles, ClusterAdminFiles, ClusterWMIFiles
DelFiles=ObseleteNT4ClusterFiles, ObseleteNT4Installer, ObseleteNT4PrivateFiles, ObseleteNT4HelpFiles, NT4EEInstallerStartupFile
AddReg=UpgradeInstallStateReg, InstallDirReg, ClusterLogReg, CluAdminReg, ClusSvcEventLogReg, ClusNetPortReserveAddReg
DelReg=PrevOSVerInfoDelReg, NT4UninstallKeyDelReg, NT4RPCProtocolDelReg, ClusNetPortReserveDelReg
RegisterDlls=ClusterCOMComponents
ProfileItems=CluAdminProfile, NT4EEInstallerDelProf
[NT4_Upgrade_Cleanup]
; Nothing can be done here.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Registry entries for upgrade from NT4 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[NT4UninstallKeyDelReg]
HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Cluster Server"
; RPC now provides services needed by the cluster service. Remove our dlls from the protocol stack.
[NT4RPCProtocolDelReg]
HKLM,Software\Microsoft\Rpc\ClientProtocols\ncadg_cluster
HKLM,Software\Microsoft\Rpc\ServerProtocols\ncadg_cluster
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Profile items for upgrade from NT4 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Delete the link to the Enterprise Edition Installer from the Administrative Tools (Common) menu
[NT4EEInstallerDelProf]
; 0x00000002 stands for FLG_PROFITEM_DELETE
Name=%NT4EEInstallerLinkName%, 0x00000002
CmdLine=11,,nhloader.exe
SubDir=%NT4AdminToolsProfile%
;/////////////////////////////////////////////////////////////////////////////
;// Common service creation entries
;/////////////////////////////////////////////////////////////////////////////
; Create the ClusDisk service
[ClusDiskService]
DisplayName = %ClusDiskServiceDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 4 ; SERVICE_DISABLED
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\ClusDisk.sys
LoadOrderGroup = Filter
;/////////////////////////////////////////////////////////////////////////////
;// Common destination id to directory mappings
;/////////////////////////////////////////////////////////////////////////////
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Note: Dir id 32768 (DIRID_USER + 0) always maps to the expanded cluster
; installation directory (c:\winnt\cluster)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[DestinationDirs]
ClusterSystemFiles = 11 ; %SystemRoot%\System32
ClusterDriverFiles = 12 ; %SystemRoot%\System32\Drivers
ClusterWMIFiles = 11, WBEM ; %SystemRoot%\System32\WBEM
ClusterFiles = 32768 ; Usually %SystemRoot%\Cluster
ClusterAdminFiles = 32768
ObseleteWin2kFiles = 32768
ObseleteNT4ClusterFiles = 32768
ObseleteNT4PrivateFiles = 32768, Private ; Usually %SystemRoot%\Cluster\Private
ObseleteNT4HelpFiles = 32768
ObseleteNT4Installer = 11 ; %SystemRoot%\System32
NT4EEInstallerStartupFile = 16407, %StartupGroup% ; All Users\Start Menu\Programs\Startup ( 16384 + CSIDL_COMMON_PROGRAMS )
;/////////////////////////////////////////////////////////////////////////////
;// Common registry entries
;/////////////////////////////////////////////////////////////////////////////
; Write the cluster installation directory out to the registry
[InstallDirReg]
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server","ClusterInstallationDirectory",0x0,%32768%
; Indicates that the cluster files have been installed, but the node is not part of a cluster.
[FilesInstalledInstallStateReg]
; Note that eInstallStateFilesCopied has a value of 1.
; The fourth field, 0x10001, maps to FLG_ADDREG_TYPE_DWORD.
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server","ClusterInstallationState",0x10001,1
; Create the ClusterLog environment variable.
[ClusterLogReg]
; 0x20002 maps to FLG_ADDREG_TYPE_EXPAND_SZ | FLG_ADDREG_NOCLOBBER
HKLM,System\CurrentControlSet\Control\Session Manager\Environment,ClusterLog,0x20002,%32768%\cluster.log
; Create the registry entries needed by CluAdmin
[CluAdminReg]
; Note that 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
HKLM,Software\Microsoft\Windows\CurrentVersion\App Paths\CluAdmin.exe,,0x20000,%32768%\CluAdmin.exe
; Add new entries to the cluster eventlog registry.
[ClusSvcEventLogReg]
; 0x10001 maps to FLG_ADDREG_TYPE_DWORD.
; 0x20000 maps to FLG_ADDREG_TYPE_EXPAND_SZ.
; Categories were added to clussvc in Whistler.
HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusSvc","CategoryMessageFile",0x20000,%32768%\ClusSvc.exe
HKLM,"System\CurrentControlSet\Services\EventLog\System\ClusSvc","CategoryCount",0x10001,28
; Remove the dependency of the cluster service on the WMI service.
[ClusSvcDependencyDelReg]
; In Win2k, the ClusSvc depended on the WMI service. This dependency has been
; has now been removed. So, delete this dependency from the SCM database.
; (0x00018002 maps to FLG_DELREG_MULTI_SZ_DELSTRING)
HKLM,"System\CurrentControlSet\Services\ClusSvc","DependOnService",0x00018002,"WMI"
; Sets the cluster installation state after an upgrade.
[UpgradeInstallStateReg]
; Indicates that the Cluster Setup OCM DLL has upgraded successfully.
; Note that eClusterInstallStateUpgraded has a value of 3.
; The fourth field, 0x10001, maps to FLG_ADDREG_TYPE_DWORD.
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server","ClusterInstallationState",0x10001,3
; Delete the information about the previous OS version, since we no longer need it.
[PrevOSVerInfoDelReg]
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Cluster Server\PreviousOSVersionInfo"
; Registry entries needed to reserve the ClusNet port. The range of ports to be reserved are to be appended
; to this MULTISZ string. First delete all existing entries that match our range, to make sure that
; this range is not duplicted on upgrades.
[ClusNetPortReserveDelReg]
; (0x00018002 maps to FLG_DELREG_MULTI_SZ_DELSTRING)
HKLM,"System\CurrentControlSet\Services\Tcpip\Parameters",ReservedPorts,0x00018002,"3343-3343"
; Now append the string to the MULTISZ string
[ClusNetPortReserveAddReg]
; The flag 0x00010008 maps to ( FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND )
HKLM,"System\CurrentControlSet\Services\Tcpip\Parameters",ReservedPorts,0x00010008,"3343-3343"
;/////////////////////////////////////////////////////////////////////////////
;// Common COM registrations
;/////////////////////////////////////////////////////////////////////////////
[ClusterCOMComponents]
; 0x00000001 maps to FLG_REGSVR_DLLREGISTER
32768,,CluAdMMC.dll,0x00000001,,
32768,,ClAdmWiz.dll,0x00000001,,
32768,,CluAdmEx.dll,0x00000001,,
32768,,ClNetREx.dll,0x00000001,,
32768,,ClCfgSrv.dll,0x00000001,,
11,WBEM,ClusWMI.dll,0x00000001,,
;/////////////////////////////////////////////////////////////////////////////
;// Common profile sections
;/////////////////////////////////////////////////////////////////////////////
[CluAdminProfile]
Name=%CluAdminProfileName%,
CmdLine=32768,,CluAdmin.exe
SubDir=%AdminToolsProfile%
InfoTip="@%11%\Setup\ClusOCM.dll,-2"
DisplayResource="%11%\Setup\ClusOCM.dll",1
;/////////////////////////////////////////////////////////////////////////////
;// Common file lists
;/////////////////////////////////////////////////////////////////////////////
[ClusterSystemFiles]
ClusSprt.dll,,,1
[ClusterDriverFiles]
ClusDisk.sys,,,1
ClusNet.sys,,,1
[ClusterFiles]
ClusSvc.exe,,,1
ClusRes.dll,,,1
ResrcMon.exe,,,1
WSHClus.dll,,,1
ClNetRes.dll,,,1
[ClusterAdminFiles]
ClAdmWiz.dll,,,1
CluAdmin.exe,,,1
CluAdmEx.dll,,,1
CluAdMMC.dll,,,1
DebugEx.dll,,,1
; 0x00000401 stands for COPYFLG_REPLACEONLY | COPYFLG_WARN_IF_SKIP
ClNetREx.dll,,,1
MQClus.dll,,,1
ClCfgSrv.dll,,,1
ClCfgSrv.inf,,,1
[ClusterWMIFiles]
ClusWMI.dll,,,1
ClusWMI.mof,,,1
[ObseleteWin2kFiles]
ClusCfg.exe,,,1
Cluster.inf,,,1
[ObseleteNT4ClusterFiles]
ClusCfg.exe,,,1
Cluster.inf,,,1
ClusPrxy.exe,,,1
RPCLTccl.dll,,,1
RPCLTscl.dll,,,1
Setup.Exe,,,1
Setup.Hlp,,,1
CluAdmin.Cnt,,,1
[ObseleteNT4PrivateFiles]
Security.dll,,,1
[ObseleteNT4Installer]
NHLoader.exe,,,1
[ObseleteNT4HelpFiles]
CluAdmin.hlp,,,1
ClusCfg.hlp,,,1
; The Enterprise Edition Installer item under the Startup menu
[NT4EEInstallerStartupFile]
%NT4EEInstallerStartupFileName%
;/////////////////////////////////////////////////////////////////////////////
;// Common strings
;/////////////////////////////////////////////////////////////////////////////
[Strings]
;;;;;;;;;;;;;;;;;;;;;;;
; Localizable Strings ;
;;;;;;;;;;;;;;;;;;;;;;;
ClusterComponentDesc="Cluster Service"
ClusterComponentTip="Enables servers to work together as a cluster to keep server-based applications highly available, regardless of individual component failures."
ClusDiskServiceDesc="Cluster Disk Driver"
CluAdminProfileName="Cluster Administrator"
AdminToolsProfile="Administrative Tools"
NT4EEInstallerLinkName="Enterprise Edition Installer"
NT4AdminToolsProfile="Administrative Tools"
StartupGroup="Startup"
NT4EEInstallerStartupFileName="Windows NT Server, Enterprise Edition Installer.cmd"