450 lines
16 KiB
INI
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"
|