<ObjectCollector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<!-- ** Type file for the Microsoft Exchange Server Best Practices Analyzer Tool (ExBPA) - Errors/Additions/Comments, please e-mail EXBPAFB@MICROSOFT.COM ** -->

	<!-- *********************************************************************  -->
	<!--  Copyright (C) 2004-2007 Microsoft Corporation. All Rights Reserved.   -->
	<!-- *********************************************************************  -->

	<_locDefinition>
		<_locDefault _loc="locNone"/>
		<_locTag _loc="locNone" _locAttrData="ChangeDescription">Configuration</_locTag>
		<_locTag _loc="locNone" _locAttrData="Text,Title,Class,LogText">Object</_locTag>
		<_locTag _loc="locNone" _locAttrData="Text,Title">Rule</_locTag>
		<_locTag _loc="locNone" _locAttrData="Text,Title">Template</_locTag>
		<_locTag _loc="locNone" _locAttrData="Name">Baseline</_locTag>
		<_locTag _loc="locNone" _locAttrData="Text,Title">RestrictionType</_locTag>
		<_locTag _loc="locNone" _locAttrData="Text,Title">Option</_locTag>
		<_locTag _loc="locNone" _locAttrData="Text,Title">Setting</_locTag>
	</_locDefinition>

	<Configuration ConfigVersion="12.10.21.0" ConfigName="E12 PreReq Checks"/>

	<Type Name="PreCheck">
		<Object Type="Group" Name="E12 Prereqs" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR,PrecheckUninstall">
			<Setting Key1="Topology Rules">
				<Rule Name="fOrgNotNativeMode" Query="$szExchangeMixedMode='True'" Text="Exchange 組織不是原生模式。" Error="Error" AlwaysEvaluate="True" Role="Global" GUID="63bbe074-5dae-41b4-b71b-80ffb0b1d42b"/>
			</Setting>
			<Setting Key1="Common Server Rules">
				<Rule Name="fServerNotWin2003" Query="$fE12 and $szWindowsVersion &lt;5.2 or ($szWindowsProductName='Microsoft Windows XP')" Error="Error" Text="這部電腦並非執行 Windows Server 2003 或更新版本。" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,Gateway,ClusterMailbox" GUID="12d3d293-b720-4e4e-856a-9a10b1c2a348" AlwaysEvaluate="True"/>
				<Rule Name="fComputerNotWinXP" Query="$fE12 and $szWindowsVersion &lt;5.1" Error="Error" Text="這部電腦並非執行 Windows XP 或更新版本。" Role="Global,AdminTools" GUID="12d3d293-b720-4e4e-856a-9a10b1c2a348" AlwaysEvaluate="True"/>
				<Rule Name="fComputerNotWinXPSP2" Query="$fE12 and $szWindowsVersion='5.1' and (not(starts-with($szWindowsSPLevel,'Service Pack')) or ($szWindowsSPLevel='Service Pack 1'))" Error="Error" Text="這部電腦並非執行 Windows XP Service Pack 2 或更新版本。" Role="Global,AdminTools" GUID="12d3d293-b720-4e4e-856a-9a10b1c2a348" AlwaysEvaluate="True"/>
				<Rule Name="fComputerLonghornOrVista" Query="$fE12 and not($fE12SP1orHigher) and $szWindowsVersion='6.0'" Error="Error" Text="Exchange 2007 無法與此電腦上所執行的 Windows 作業系統搭配使用。" GUID="1bfc1c01-c389-480d-bd68-a6b625af3dbe" AlwaysEvaluate="True"/>
				<!-- // [118887] fUMComputerLonghorn rule is removed -->
				<!-- // [115722] Windows 2003 SP2 is the minimum requirement for Exchange 2007 SP1 except Global and 32-bit AdminTools -->
				<Rule Name="fServerNotWin2003SPn" Query="$fE12 and not($fE12SP1orHigher) and $szWindowsVersion='5.2' and not(starts-with($szWindowsSPLevel,'Service Pack'))" Error="Error" Text="這部電腦並非執行 Windows Server 2003 Service Pack 1 或更新版本。" GUID="12d3d293-b720-4e4e-856a-9a10b1c2a348" AlwaysEvaluate="True"/>
				<Rule Name="fServerNotWin2003SPnGlobal" Query="$fE12SP1orHigher and $szWindowsVersion='5.2' and not(starts-with($szWindowsSPLevel,'Service Pack'))" Error="Error" Text="這部電腦並非執行 Windows Server 2003 Service Pack 1 或更新版本。" Role="Global" GUID="12d3d293-b720-4e4e-856a-9a10b1c2a348" AlwaysEvaluate="True"/>
				<Rule Name="fServerNotWin2003SPnAdmin32" Query="$fE12SP1orHigher and $f32bit and $szWindowsVersion='5.2' and not(starts-with($szWindowsSPLevel,'Service Pack'))" Error="Error" Text="這部電腦並非執行 Windows Server 2003 Service Pack 1 或更新版本。" Role="AdminTools" GUID="12d3d293-b720-4e4e-856a-9a10b1c2a348" AlwaysEvaluate="True"/>
				<Rule Name="fServerNotWin2003SP2Admin64" Query="$fE12SP1orHigher and $f64bit and $szWindowsVersion='5.2' and (not(starts-with($szWindowsSPLevel,'Service Pack')) or ($szWindowsSPLevel='Service Pack 1'))" Error="Error" Text="這部電腦並非執行 Windows Server 2003 Service Pack 2 或更新版本。" Role="AdminTools" AlwaysEvaluate="True"/>
				<Rule Name="fServerNotWin2003SP2" Query="$fE12SP1orHigher and $szWindowsVersion='5.2' and (not(starts-with($szWindowsSPLevel,'Service Pack')) or ($szWindowsSPLevel='Service Pack 1'))" Error="Error" Text="此電腦並未執行 Windows Server 2003 Service Pack 2 或更新版本" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,Gateway,ClusterMailbox" AlwaysEvaluate="True"/>
				<Rule Name="fCannotAccessAD" Query="count($szConfigurationNamingContext)=0" Error="Error" Text="Active Directory 不存在或是連接不上。" AlwaysEvaluate="True" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox" GUID="51e5500d-8b18-4eee-bb8e-925d063b60a1"/>
				<Rule Name="fSchemaFSMONotWin2003SPn" Query="$fWin2003FSMOSchemaServer and not($fFSMOSchemaServicePack)" Text="架構主機不是執行 Windows Server 2003 Service Pack 1 或更新版本。" Error="Error" AlwaysEvaluate="True" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox" GUID="546fbabd-daa7-4878-9db3-0c32bc693ab4"/>
				<Rule Name="fExchangeAlreadyInstalled" Query="count($iNewestBuild)=1 and count($szServicesPath)=1 and $iNewestBuild &lt;10000" Text="這部電腦上已安裝舊版的 Exchange Server。請從不同的電腦執行 Exchange 2007 安裝程式，或移除舊版的 Exchange Server。" Error="Error" AlwaysEvaluate="True" GUID="c1c58f14-0baf-4a34-b320-6bc9953612a7"/>
				<Rule Name="fMetabaseCannotBeRead" Query="count($szKeyType)=0" Text="無法從 Metabase 讀取資料。請確定已安裝 Microsoft 網際網路資訊服務。" Error="Error" AlwaysEvaluate="True" Role="Mailbox,ClientAccess" GUID="a4a4d339-4009-4fb7-b842-ca2ba79f13f0"/>
				<Rule Name="fCannotAddToGateway" Query="count($szGatewayInstallation)=1" Text="無法在現有的邊際傳輸安裝上安裝新的伺服器角色。" Error="Error" AlwaysEvaluate="True" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,ClusterMailbox" GUID="8e77cb74-7fbe-4a7b-8308-b426b99cc931"/>
				<Rule Name="fMSDAPv2492NotInstalled" Query="false() and $f64bit and substring($szFileVersionMSDAPS,6,4) &lt;2492" Text="此電腦正在執行 64 位元作業系統且需要 MSDAPS.DLL 版本 2.82.2492.0 或更新版本。請安裝 Microsoft 知識庫文章 904639 (http://go.microsoft.com/fwlink/?linkid=55328) 中提到的更新" Error="Error" AlwaysEvaluate="True" Role="Mailbox" GUID="797ca4ec-9cb3-4278-bc29-bed7cb9267fc"/>
				<Rule Name="fTCPIPHotfixNotInstalled" Query="$f64bit and starts-with($szFileVersionTCPIPSYS, '5.2.3790.1830')" Text="此電腦正在執行來自 Windows Server 2003 Service Pack 1 的原始 TCPIP.SYS 驅動程式。請安裝 Microsoft 知識庫文章 898060 (http://go.microsoft.com/fwlink/?linkid=59272) 中提到的更新" Error="Error" AlwaysEvaluate="True" Role="Mailbox,Bridgehead,Gateway,ClientAccess,UnifiedMessaging,ClusterMailbox" GUID="cce67eda-72e3-47f1-8472-2e56af15a504"/>
				<Rule Name="fMountmgrv2443NotInstalled" Query="$fE12 and $szWindowsVersion ='5.2' and ($szClusSvcStarted='True') and ('%CMSSHAREDSTORAGE%'='True') and substring($szFileVersionMountmgr,10,4)&lt;2443" Error="Error" Text="此叢集節點需要 Microsoft 知識庫文章 898790 中提到的更新。若沒有這項更新，就可能會發生磁碟區裝載點失敗。" Role="Mailbox,ClusterMailbox" GUID="3bb3aada-4ae8-4ab8-8d54-ad5880918526" AlwaysEvaluate="True"/>
				<Rule Name="fW3SVCDisabledOrNotInstalled" Query="count($szW3SVCStartMode)=0 or $szW3SVCStartMode='4'" Error="Error" Text="全球資訊網 (W3SVC) 服務已停用或未安裝在這部電腦。您必須結束安裝程式、安裝必要的元件，然後重新啟動安裝程序。" AlwaysEvaluate="True" Role="Mailbox,ClientAccess" GUID="9eeaa77f-4d46-4d9a-9c36-f262a075392b"/>
				<Rule Name="fShouldReRunSetupForW3SVC" Query="'%IISINSTALLED%'='false' and not(count($szW3SVCStartMode)=0 or $szW3SVCStartMode='4')" Error="Error" Text="全球資訊網 (W3SVC) 服務正在執行中，但是您必須先結束，再重新啟動安裝程式以繼續。" AlwaysEvaluate="True" Role="Mailbox,ClientAccess" GUID="9eeaa77f-4d46-4d9a-9c36-f262a075392b"/>
				<Rule Name="fNNTPSvcInstalled" Query="count($szNNTPSvcStartMode)=1 and not($fExchangeAlreadyInstalled)" Error="Error" Text="這部電腦上已安裝網路 NEWS 傳輸通訊協定 (NNTP) 服務。必須先移除該服務才能繼續執行安裝程式。" AlwaysEvaluate="True" Role="Mailbox,Bridgehead,ClientAccess,Gateway,UnifiedMessaging,ClusterMailbox" GUID="47ea666e-ae8a-4a10-9667-0ffba19dd554"/>
				<Rule Name="fSMTPSvcInstalled" Query="count($szSMTPSvcStartMode)=1 and not($fExchangeAlreadyInstalled)" Error="Error" Text="這部電腦上已安裝簡易郵件傳送通訊協定 (SMTP) 服務。必須先移除該服務才能繼續執行安裝程式。" AlwaysEvaluate="True" Role="Mailbox,Bridgehead,ClientAccess,Gateway,UnifiedMessaging,ClusterMailbox" GUID="63c39cb2-3cdd-46d9-8155-60f6ab10fc4c"/>
				<Rule Name="fClusSvcInstalledRoleBlock" Query="count($szClusSvcStartMode)=1" Error="Error" Text="此電腦上已安裝叢集服務。叢集節點上只支援 Mailbox server role。" AlwaysEvaluate="True" Role="Gateway,Bridgehead,ClientAccess,UnifiedMessaging" GUID="3ef67fb6-ece1-4a30-96df-9281a6c2f4ad"/>
				<Rule Name="fSchemaUpdateRequired" Query="('%PREPARESCHEMA%'='true') and not($fSchemaAdmin and $fEnterpriseAdmin)" Error="Error" Text="必須修改 Active Directory 架構，因為此使用者帳戶沒有足夠的權限。它必須同時是 'Schema Admins' 及 'Enterprise Admins' 群組的成員。" AlwaysEvaluate="True" Role="Global" GUID="2fafe5d4-04e0-4c5a-a69f-7613d438131f"/>
				<Rule Name="fLonghornLdifdeNotInstalled" Query="$szWindowsVersion='6.0' and ('%PREPARESCHEMA%'='true') and count($szFileVersionLdifde)=0" Error="Error" Text="Active Directory 架構不是最新的，而且 Ldifde.exe 未安裝在此電腦上。您必須執行 'ServerManagerCmd -i RSAT-ADDS' 來安裝 Ldifde.exe，或在網域控制站上重新啟動安裝程式。" Role="Global" GUID="511f5dc2-d9d0-4dc4-bfb1-5e125d6e99e6" AlwaysEvaluate="True"/>
				<Rule Name="fGlobalUpdateRequired" Query="(('%PREPAREORGANIZATION%'='true') or ('%PREPAREALLDOMAINS%'='true') or ('%PREPARELEGACYEXCHANGEPERMISSIONS%'='2A7F95FC-66C6-445F-AAB9-19744C05E70E')) and not($fEnterpriseAdmin)" Error="Error" Text="需要對 Active Directory 進行全面更新，而此使用者帳戶不是 'Enterprise Admins' 群組的成員。" GUID="fb97f691-d7c3-40b6-8515-95fd489db46e" AlwaysEvaluate="True" Role="Global"/>
				<Rule Name="fDomainPrepWithoutADUpdate" Query="(count($iSchemaVersionRangeUpper)=0 or $iSchemaVersionRangeUpper &lt;10000 or count($szExchangeServersGroup)=0) and ('%PREPARESCHEMA%'='false') and ('%PREPAREORGANIZATION%'='false') and (('%PREPAREDOMAIN%'!='') or ('%PREPAREALLDOMAINS%'='true'))" Error="Error" Text="必須使用 'Setup /PrepareAD' 修改 Active Directory，才能為 Exchange 2007 準備網域。" Role="Global" GUID="d6e50c63-9a93-45fd-acb4-9b623c1ecf42" AlwaysEvaluate="True"/>
				<Rule Name="fADUpdateRequired" Query="(('%PREPAREORGANIZATION%'='true') and not($fHasExtendedRightsCreateChildPerms or $fGlobalUpdateRequired))" Error="Error" Text="必須使用 'Setup /PrepareAD' 修改 Active Directory，因為即使此使用者帳戶是 'Enterprise Admins' 群組的成員，還是缺少必要的權限。檢查這是否為有效的帳戶。" Role="Global" GUID="52d39c34-766d-46ad-a2b4-a10709e2a3b0" AlwaysEvaluate="True"/>

				<!-- // [82390] This rule verifies that the logged-on user has sufficient permissions to perform the /PrepareDomain operation -->
				<!-- // The user needs to have Domain Admin permissions, plus the ability to update the membership of the Exchange Servers USG (read/write on 'members' property) -->
				<!-- // The USG permissions will be automatically granted to all existing Domain Admins during the /PrepareAD phase -->
				<!-- // For domains created after the /PrepareAD phase, the administrator running /PrepareDomain will see a Setup failure message detailing the exact problem -->
				<!-- // The presence of the GUID means that Setup is requesting a local /PrepareDomain -->
				<Rule Name="fLocalDomainPrep" Query="('%PREPAREDOMAIN%'='F63C3A12-7852-4654-B208-125C32EB409A') and not(($fLocalDomainAdmin and $fHasExchangeServersUSGBasicAccess) or $fEnterpriseAdmin)" Error="Error" Text="需要更新本機網域。您必須是 'Domain Admins' 及 'Exchange Organization Administrators' 群組的成員，或 'Enterprise Admins' 群組的成員，才能繼續。" Role="Global" GUID="57887854-be52-43eb-9549-e854e4dbe33b" AlwaysEvaluate="True"/>

				<Rule Name="fGlobalServerInstall" Query="not($fExOrgAdmin or $fEnterpriseAdmin or ($fServerAlreadyExists and count($fHasServerDelegatedPermsBlocked)=0) or $fPassiveUninstallNoCMSPresent)" Error="Error" Text="您必須是 'Exchange Organization Administrators' 或 'Enterprise Administrators' 群組的成員，才能繼續。" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,ClusterMailbox" GUID="1d750594-9222-44d7-8f80-45e522e889e6" AlwaysEvaluate="True"/>
				<Rule Name="fNotInSchemaMasterSite" Query="(('%PREPARESCHEMA%'='true') or ('%PREPAREORGANIZATION%'='true')) and lower-case($szSiteName)!=lower-case($szFSMOSchemaSiteName) and ($szSiteName!='') and ($szFSMOSchemaSiteName!='')" Error="Error" Text="安裝程式需要連絡 Active Directory 架構主機，但是此電腦與架構主機位在不同的 Active Directory 站台 ({3})。" P3="$szFSMOSchemaSiteName" Role="Global" GUID="2376fec1-b9ce-44db-beb6-cb9ac4788988" AlwaysEvaluate="True"/>
				<Rule Name="fNotInSchemaMasterDomain" Query="(('%PREPARESCHEMA%'='true') or ('%PREPAREORGANIZATION%'='true')) and lower-case($szComputerDomainDN)!=lower-case($szFSMOSchemaDomain) and ($szComputerDomainDN!='') and ($szFSMOSchemaDomain!='')" Error="Error" Text="安裝程式需要連絡 Active Directory 架構主機，但是此電腦與架構主機位在不同的 Active Directory 網域 ({3})。" P3="$szFSMOSchemaDomain" Role="Global" GUID="2376fec1-b9ce-44db-beb6-cb9ac4788988" AlwaysEvaluate="True"/>

				<!-- // [92107] When Setup is launched, it verifies the state of the Active Directory. If it finds problems, it'll log them but stay silent to allow pre-reqs to run -->
				<!-- // This rule surfaces the string of any Active Directory initialization error detected by Setup so that pre-reqs can report it -->
				<Rule Name="fADInitError" Query="(@S1 !='')" Error="Error" Text="{1}" S1="%ADINITERROR%" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,ClusterMailbox"/>

				<Rule Name="fProvisionedUpdateRequired" Query="('%NEWPROVISIONEDSERVERNAME%'!='') and count($szExOrgAdminAccountName)=0" Error="Error" Text="您必須準備組織 (透過 'Setup /PrepareAD')，才能提供新的伺服器。" AlwaysEvaluate="True" Role="Global"/>
				<Rule Name="fADCFound" Query="count($szADCServer)&gt;0" Error="Error" Text="找到一或多個 Active Directory 連接器。請先移除所有 Active Directory 連接器，再安裝 Exchange 2007。" AlwaysEvaluate="True" Role="Global" GUID="bee744c9-dcf7-46a2-9a71-ab0236fa7732"/>
				<!-- // [109750] Rules fClientAccessRoleUpgrade and fUnifiedMessagingRoleUpgrade are conditioned only for RTM insallation as a build-to-build upgrade is supported with SP1 -->
				<Rule Name="fClientAccessRoleUpgrade" Query="$fE12 and not($fE12SP1orHigher) and $fClientAccessRoleInstalled" Error="Error" Text="無法升級 Client Access server role。請使用 [控制台] 中的 [新增或移除程式] 來移除目前的角色，然後安裝更新版本的軟體。" Task="PrecheckUpgrade" Role="ClientAccess" AlwaysEvaluate="True"/>
				<Rule Name="fUnifiedMessagingRoleUpgrade" Query="$fE12 and not($fE12SP1orHigher) and $fUnifiedMessagingRoleInstalled" Error="Error" Text="無法升級 Unified Messaging server role。請使用 [控制台] 中的 [新增或移除程式] 來移除目前的角色，然後安裝更新版本的軟體。" Task="PrecheckUpgrade" Role="UnifiedMessaging" AlwaysEvaluate="True"/>
			</Setting>
			<Setting Key1="Install Only Server Rules" Task="PrecheckInstall">
				<Rule Name="fMailboxRoleAlreadyExists" Query="$fServerAlreadyExists and $fMailboxRoleInstalled" Error="Error" Text="此電腦上已安裝 Mailbox server role。" AlwaysEvaluate="True" Role="Mailbox"/>
				<Rule Name="fClientAccessRoleAlreadyExists" Query="$fServerAlreadyExists and $fClientAccessRoleInstalled" Error="Error" Text="此電腦上已安裝 Client Access server role。" AlwaysEvaluate="True" Role="ClientAccess"/>
				<Rule Name="fUnifiedMessagingRoleAlreadyExists" Query="$fServerAlreadyExists and $fUnifiedMessagingRoleInstalled" Error="Error" Text="此電腦上已安裝 Unified Messaging server role。" AlwaysEvaluate="True" Role="UnifiedMessaging"/>
				<Rule Name="fBridgeheadRoleAlreadyExists" Query="$fServerAlreadyExists and $fBridgeheadRoleInstalled" Error="Error" Text="此電腦上已安裝 Hub Transport server role。" AlwaysEvaluate="True" Role="Bridgehead"/>
				<Rule Name="fCannotInstallGateway" Query="count($szMailboxInstallation)=1 or count($szBridgeheadInstallation)=1 or count($szClientAccessInstallation)=1 or count($szUnifiedMessagingInstallation)=1 or count($szClusterMailboxInstallation)=1 or count($szAdminToolsInstallation)=1" Error="Error" Text="如果已安裝其他角色，就無法安裝 Edge Transport server role。" Role="Gateway" GUID="132c35d2-dde3-410d-8e03-6611cd0bbaec" AlwaysEvaluate="True"/>
				<Rule Name="fMetabaseDefaultWebSiteCannotBeRead" Query="count($szDefaultWebSiteKeyType)=0 and not($fW3SVCDisabledOrNotInstalled)" Error="Error" Text="無法存取這部電腦上的「預設網站」。" AlwaysEvaluate="True" Role="ClientAccess" GUID="aadc8176-1c47-49b7-83a0-9493a1093af1"/>
				<Rule Name="fSchemaUpgradeWarning" Query="('%PREPARESCHEMA%'='true') and $iSchemaVersionRangeUpper &lt;10000" Error="Warning" Text="如果繼續進行，則會升級 Active Directory 架構。請執行 Exchange Best Practices Analyzer 中的 Exchange 2007 整備檢查，確認組織是否已準備好使用 Exchange 2007。" Role="Global"/>
				<Rule Name="f32BitNonProductionWarning" Query="count($f32bit) &gt;0" Error="Warning" Text="Exchange Server 2007 的 32 位元版本不適用於生產環境。" Role="Mailbox,Bridgehead,ClientAccess,Gateway,UnifiedMessaging,ClusterMailbox" GUID="fe72dfed-6138-4a9a-a3bc-f2e2c0ba2693"/>
				<Rule Name="fWin2003Web" Query="$fE12 and $szWindowsVersion='5.2' and bitwise-and($iOSProductSuite,1024)" Error="Error" Text="此電腦正在執行 Windows Server 2003 Web Edition。此作業系統上不支援 Exchange Server 2007。"/>
				<Rule Name="fComputerNameDnsDomainBad" Query="$szComputerNameDnsDomain='' or count($szComputerNameDnsDomain)=0" Error="Error" Text="電腦的網域全名遺漏或空白。安裝程式無法繼續。" AlwaysEvaluate="True" Role="Gateway" GUID="7f28860b-0727-40ca-90b0-ecccad6ef360"/>
				<Rule Name="fBridgeheadRoleNotPresentInSite" Query="count($szBridgeheadRoleInCurrentADSite)=0 and not(contains('%SETUPROLES%', 'Bridgehead'))" Error="Warning" Text="安裝程式並未偵測到 Active Directory 站台 '{1}' 中安裝的現有 Hub Transport server role。必須先安裝 Hub Transport role，才能由此信箱伺服器收送郵件。" P1="$szSiteName" Role="Mailbox,ClusterMailbox" GUID="06197cec-f7ab-420a-9ed5-f51aa58a2673" AlwaysEvaluate="True"/>
				<Rule Name="fClientAccessRoleNotPresentInSite" Query="count($szClientAccessRoleInCurrentADSite)=0 and not(contains('%SETUPROLES%', 'ClientAccess'))" Error="Warning" Text="安裝程式並未偵測到 Active Directory 站台 '{1}' 中安裝的現有 Client Access server role。必須先安裝 Client Access role，才能使用 Outlook Web Access 及 Exchange ActiveSync 行動裝置存取。" P1="$szSiteName" Role="Mailbox,ClusterMailbox" GUID="6dcaac9f-2e10-4a65-a929-01eb8a762333" AlwaysEvaluate="True"/>
				<Rule Name="fDelegatedMailboxFirstInstall" Query="count($szMailboxRoleInTopology)=0 and $fServerIsProvisioned and not($fExOrgAdmin)" Error="Error" Text="您必須以 Exchange 組織系統管理員的身分登入，才能安裝拓撲中的第一個 Mailbox Server role。" AlwaysEvaluate="True" Role="Mailbox" GUID="e58f51fd-2c66-4a4b-914a-628dccf9a09f"/>
				<Rule Name="fDelegatedBridgeheadFirstInstall" Query="count($szBridgeheadRoleInTopology)=0 and $fServerIsProvisioned and not($fExOrgAdmin)" Error="Error" Text="您必須以 Exchange 組織系統管理員的身分登入，才能安裝拓撲中的第一個 Hub Transport server role。" AlwaysEvaluate="True" Role="Bridgehead" GUID="e58f51fd-2c66-4a4b-914a-628dccf9a09f"/>
				<Rule Name="fDelegatedClientAccessFirstInstall" Query="count($szClientAccessRoleInTopology)=0 and $fServerIsProvisioned and not($fExOrgAdmin)" Error="Error" Text="您必須以 Exchange 組織系統管理員的身分登入，才能安裝拓撲中的第一個 Client Access server role。" AlwaysEvaluate="True" Role="ClientAccess" GUID="e58f51fd-2c66-4a4b-914a-628dccf9a09f"/>
				<Rule Name="fDelegatedUnifiedMessagingFirstInstall" Query="count($szUnifiedMessagingRoleInTopology)=0 and $fServerIsProvisioned and not($fExOrgAdmin)" Error="Error" Text="您必須以 Exchange 組織系統管理員的身分登入，才能安裝拓撲中的第一個 Unified Messaging server role。" AlwaysEvaluate="True" Role="UnifiedMessaging" GUID="e58f51fd-2c66-4a4b-914a-628dccf9a09f"/>
				<Rule Name="fClusRes2736NotInstalled" Query="$fE12 and $szWindowsVersion ='5.2' and ($szClusSvcStarted='True') and ('%CMSSHAREDSTORAGE%'='False') and substring($szFileVersionClusRes,10,4)&lt;2736 and ('%CLEARLOCALCMS%'='False')" Error="Error" Text="此叢集節點需要更新。請依照 Microsoft 知識庫文章 921181 (http://go.microsoft.com/fwlink/?LinkId=69785) 中所述安裝軟體更新。" Role="ClusterMailbox" GUID="bdcf740d-1940-467b-a41d-5eac607d1dcc" AlwaysEvaluate="True"/>

				<!-- // [92011] If this is the first mailbox role install into a legacy org, then we need to provide information about OWA free/busy access from Exchange 200x servers -->
				<!-- // If the new free/busy folder isn't replicated to down-level servers, then older OWA users won't be able to see free/busy data for Exchange 2007 mailboxes. This does not apply to MAPI clients -->
				<Rule Name="fFirstPublicMDBWarning" Query="('%CREATEPUBLICDB%'='true') and count($fExchange200x) &gt;0 and count($szMailboxRoleInTopology)=0" Error="Warning" Text="如果正在使用 Outlook Web Access，則應該將此伺服器上的空閒/忙碌資訊資料夾複寫至組織中的每個其他空閒/忙碌資訊伺服器。此步驟應該在安裝完成後執行。" AlwaysEvaluate="True" Role="Mailbox"/>
			</Setting>
			<Setting Key1="Install, Upgrade and DR Rules" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR">
				<Rule Name="fClusSvcNotStarted" Query="($szClusSvcStartMode=2) and ($szClusSvcStarted='False')" Error="Error" Text="此電腦上並未啟動叢集服務。請啟動叢集服務，並重新啟動安裝程式以繼續。" Role="Mailbox,ClusterMailbox" GUID="03a6dc2b-48ac-47d2-89aa-4d01815c76ac"/>
				<Rule Name="fClusSingleOrNoNetwork" Query="($szClusSvcStartMode=2) and count($szClusNetworkName) &lt;2" Error="Warning" Text="在容錯移轉叢集中的每一個節點上，至少需要兩個網路介面。此叢集中定義的網路少於兩個。這不是支援的生產環境組態。" Role="Mailbox,ClusterMailbox" GUID="744ee6a8-7cda-4460-9b31-37a497f1179f"/>
				<Rule Name="fClusDHCPInUse" Query="$fE12 and $szWindowsVersion='5.2' and ($szClusSvcStartMode=2) and count($fDHCPEnabled) &gt;0" Error="Warning" Text="有一或多個網路介面已啟用 DHCP。為每個網路介面各指派一個靜態 IP 位址，是最佳的作法。" Role="Mailbox,ClusterMailbox" GUID="aea9d9aa-af20-4c32-8d5d-361d74975c20"/>
				<Rule Name="fWmvcoreNotInstalled" Query="$szWindowsVersion='5.2' and $f64bit and (count($szFileVersionWmvcore)=0 or (starts-with($szFileVersionWmvcore,'10.00.00') and substring($szFileVersionWmvcore,10,4) &lt;3802))" Error="Error" Text="此電腦需要 Windows Media 編碼器更新 http://go.microsoft.com/fwlink/?LinkId=67406。" Role="UnifiedMessaging" GUID="f2222532-90be-4557-b394-e21c58f84f50" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornWmvcoreNotInstalled" Query="$szWindowsVersion='6.0' and (count($szFileVersionWmvcore)=0 or (starts-with($szFileVersionWmvcore,'10.00.00') and substring($szFileVersionWmvcore,10,4) &lt;3802))" Error="Error" Text="此電腦需要 {4}。透過伺服器管理員安裝 Desktop-Experience 元件。" S4="Windows Media Encoder" Role="UnifiedMessaging" GUID="5dbd230b-da19-4200-a839-1ebe89feed0e" AlwaysEvaluate="True"/>
				<Rule Name="fWmspdmoxNotInstalled" Query="$szWindowsVersion='5.2' and $f64bit and ((count($szFileVersionWmspdmod)=0 or (starts-with($szFileVersionWmspdmod,'10.00.00') and substring($szFileVersionWmspdmod,10,4) &lt;3804)) or (count($szFileVersionWmspdmoe)=0 or (starts-with($szFileVersionWmspdmoe,'10.00.00') and substring($szFileVersionWmspdmoe,10,4) &lt;3804)))" Error="Error" Text="此電腦需要 Windows Media 音訊聲音轉碼器更新 http://go.microsoft.com/fwlink/?LinkId=67407。" GUID="ec8e8d19-778d-44a2-a022-611550faa43b" AlwaysEvaluate="True" Role="UnifiedMessaging"/>
				<Rule Name="fLonghornWmspdmoxNotInstalled" Query="$szWindowsVersion='6.0' and ((count($szFileVersionWmspdmod)=0 or (starts-with($szFileVersionWmspdmod,'10.00.00') and substring($szFileVersionWmspdmod,10,4) &lt;3804)) or (count($szFileVersionWmspdmoe)=0 or (starts-with($szFileVersionWmspdmoe,'10.00.00') and substring($szFileVersionWmspdmoe,10,4) &lt;3804)))" Error="Error" Text="此電腦需要 {4}。透過伺服器管理員安裝 Desktop-Experience 元件。" S4="Windows Media Audio Voice Codec" GUID="7920e8c8-9574-457a-9c7c-1a6c9469a60b" AlwaysEvaluate="True" Role="UnifiedMessaging"/>
				<Rule Name="fMSXML6NotInstalled" Query="count($szFileVersionMSXML6)=0" Error="Error" Text="此電腦需要 Microsoft Core XML Services (MSXML) 6.0。請從 http://go.microsoft.com/fwlink/?LinkId=70796 安裝該軟體。" Role="UnifiedMessaging" GUID="c0c73588-92d7-4478-8210-f51b9aa01039" AlwaysEvaluate="True"/>
				<Rule Name="fAdsiisVersionIssue" Query="starts-with($szFileVersionAdsiis,'6.0.3790.0')" Error="Error" Text="此電腦上安裝的 '{5}' 版本不是來自 Windows Server 2003 Service Pack 1 或更新版本。請套用 Service Pack 1，然後重新啟動安裝程式。" S5="adsiis.dll" Role="ClientAccess,Mailbox"/>
				<Rule Name="fIisextVersionIssue" Query="starts-with($szFileVersionIisext,'6.0.3790.0')" Error="Error" Text="此電腦上安裝的 '{5}' 版本不是來自 Windows Server 2003 Service Pack 1 或更新版本。請套用 Service Pack 1，然後重新啟動安裝程式。" S5="iisext.dll" Role="ClientAccess,Mailbox"/>
				<Rule Name="fExchange2003MinVerNotMet" Query="count($fExchange2003PreSP2) &gt;0" Error="Error" Text="現有組織中有一或多個伺服器執行的 Exchange Server 2003 不含 Service Pack 2 (或更新版本)。除非將現有的 Exchange Server 2003 電腦升級成 Service Pack 2，否則無法繼續安裝。" Role="Global" GUID="976e716a-b14a-4e67-a913-7b2fe0e9045c"/>
				<Rule Name="fExchange2000MinVerNotMet" Query="count($fExchange2000PreSP3) &gt;0" Error="Error" Text="現有組織中有一或多個伺服器執行的 Exchange 2000 Server 不含 Service Pack 3 (或更新版本)。除非將現有的 Exchange 2000 Server 電腦升級成 Service Pack 3，否則無法繼續安裝。" Role="Global" GUID="880ba257-7639-4e13-8ab1-935716a74312"/>
				<Rule Name="fDSTHotfixNotInstalled" Query="not($fDST2007Enabled)" Error="Error" Text="此電腦需要 Microsoft 知識庫文章 931836 (http://go.microsoft.com/fwlink/?LinkID=92858) 中描述的更新。若沒有此更新，您可能會遇到不正確的時區資訊。" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools" GUID="2dbcc670-d1e5-40d9-9ad4-80bd40464ece"/>
				<Rule Name="fDSTOldHotfixInstalled" Query="$fDST2007Enabled and count($szDynamicDSTKey)=0" Error="Error" Text="偵測到更舊版本的軟體更新。解除安裝來自 Microsoft 知識庫文章 924840 的更新，並改為安裝 Microsoft 知識庫文章 931836 (http://go.microsoft.com/fwlink/?LinkID=92858) 中描述的更新。" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools" GUID="2dbcc670-d1e5-40d9-9ad4-80bd40464ece" AlwaysEvaluate="True"/>
				<Rule Name="fNtoskrnlHotfixNotInstalled" Query="version-compare($szFileVersionNtoskrnl, '5.2.3790.2838') &lt;0" Error="Error" Text="此電腦需要 Microsoft 知識庫文章 928368 (http://go.microsoft.com/fwlink/?LinkID=92853) 中描述的更新。若沒有此更新，Microsoft Exchange Information Store 服務可能會停止回應。" Role="Mailbox"/>
				<Rule Name="fRebootPending" Query="count($szPendingFileRenames) &gt;0 or $fUpdateNeedsReboot" Error="Error" Text="從先前的安裝重新開機擱置中。請重新啟動系統並重新執行安裝程式。" AlwaysEvaluate="True"/>
				<Rule Name="fWin2003NoIPv4" Query="$szWindowsVersion='5.2' and count($szIPv4Address)=0" Error="Error" Text="此電腦正在執行 Windows Server 2003，但未指派 IPv4 位址給此電腦。請檢查網路組態。在已啟用 IPv4 和 IPv6 的 Windows Server 2008 電腦上安裝 Exchange Server 2007 Service Pack 1 時，Exchange Server 2007 Service Pack 1 才支援 IPv6。如需詳細資料，請參閱 http://go.microsoft.com/fwlink/?LinkId=102391。" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools" AlwaysEvaluate="True"/>
				<Rule Name="fWinXPNoIPv4" Query="$szWindowsVersion='5.1' and count($szIPv4Address)=0" Error="Error" Text="此電腦正在執行 Windows XP，但未指派 IPv4 位址給此電腦。請檢查網路組態。在執行 Windows Server 2008 且已啟用 IPv4 和 IPv6 的電腦上安裝 Exchange Server 2007 Service Pack 1 時，Exchange Server 2007 Service Pack 1 才支援 IPv6。如需詳細資料，請參閱 http://go.microsoft.com/fwlink/?LinkId=102391。" Role="AdminTools" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornNoIPv4" Query="($szWindowsVersion='6.0' and not(starts-with($szWindowsProductName, 'Windows Vista'))) and count($szIPv4Address)=0" Error="Warning" Text="未指派 IPv4 位址給此電腦。在執行 Windows Server 2008 且已啟用 IPv4 和 IPv6 的電腦上安裝 Exchange Server 2007 Service Pack 1 時，Exchange Server 2007 Service Pack 1 才支援 IPv6。如需詳細資料，請參閱 http://go.microsoft.com/fwlink/?LinkId=102391。" Role="Mailbox,Gateway,Bridgehead,ClientAccess,AdminTools" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornUMNoIPv4" Query="($szWindowsVersion='6.0' and not(starts-with($szWindowsProductName, 'Windows Vista'))) and count($szIPv4Address)=0" Error="Error" Text="未指派 IPv4 位址給此電腦。Unified Messaging server role 需要您在此電腦上設定有效的 IPv4 位址。如需詳細資料，請參閱 http://go.microsoft.com/fwlink/?LinkId=102391。" Role="UnifiedMessaging" AlwaysEvaluate="True"/>
				<Rule Name="fVistaNoIPv4" Query="($szWindowsVersion='6.0' and starts-with($szWindowsProductName, 'Windows Vista')) and count($szIPv4Address)=0" Error="Error" Text="此電腦正在執行 Windows Vista，但未指派 IPv4 位址給此電腦。請檢查網路組態。在執行 Windows Server 2008 且已啟用 IPv4 和 IPv6 的電腦上安裝 Exchange Server 2007 Service Pack 1 時，Exchange Server 2007 Service Pack 1 才支援 IPv6。如需詳細資料，請參閱 http://go.microsoft.com/fwlink/?LinkId=102391。" Role="AdminTools" AlwaysEvaluate="True"/>
				<Rule Name="fNoConnectorToStar" Query="count($szConnectorToStar)=0" Error="Warning" Text="安裝程式不會偵測具有位址空間 '*' 的 SMTP 或傳送連接器。網際網路的郵件流程可能無法適當地運作。" Role="Bridgehead" AlwaysEvaluate="True"/>

				<!-- // [93367] Some tasks such as Get-OwaVirtualDirectory requires metabase access. This functionality is provided by IIS Common Files -->
				<!-- // This component will be pre-installed on Mailbox and ClientAccess roles because they require IIS -->
				<!-- // For Bridgehead and UnifiedMessaging roles, we will recommend the installation of this component to provide the full admin experience -->
				<!-- // For the AdminTools role, we demand the installation of this component so that the administrator, scripts and tools can guarantee remote access -->
				<Rule Name="fIISCommonFilesNotInstalled" Query="$fE12 and ($szWindowsVersion='5.1' or $szWindowsVersion='5.2') and count($szIISCommonFiles)=0" Error="Error" Text="需要 Microsoft Internet Information Services Common Files。請透過 [控制台] 中的 [新增或移除程式] 安裝該元件。" Role="AdminTools" GUID="e06c0ec9-6323-4101-8a90-d2d432d46b91" AlwaysEvaluate="True"/>
				<Rule Name="fIISCommonFilesNotInstalledWarning" Query="$fE12 and $szWindowsVersion='5.2' and count($szIISCommonFiles)=0" Error="Warning" Text="因為 Microsoft Internet Information Services Common Files 可以管理所有伺服器角色，所以建議安裝該元件。請透過 [控制台] 中的 [新增或移除程式] 安裝該元件。" Role="Bridgehead,UnifiedMessaging" GUID="e06c0ec9-6323-4101-8a90-d2d432d46b91" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS6MetabaseNotInstalled" Query="$szWindowsVersion='6.0' and (count($szIIS6MetabaseStatus)=0 or $szIIS6MetabaseStatus='0')" Error="Error" Text="未安裝「IIS 6 Metabase 相容性」元件。請透過伺服器管理員來安裝此元件。" Role="Mailbox,ClientAccess,AdminTools" GUID="0a71c4f6-68de-40f7-94cf-74b73cbda37b" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS6MgmtConsoleNotInstalled" Query="$szWindowsVersion='6.0' and (count($szIIS6ManagementConsoleStatus)=0 or $szIIS6ManagementConsoleStatus='0')" Error="Error" Text="未安裝「IIS 6 管理主控台」元件。請透過伺服器管理員來安裝此元件。" Role="Mailbox,ClientAccess,AdminTools" GUID="0a71c4f6-68de-40f7-94cf-74b73cbda37b" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS6MetabaseNotInstalledWarning" Query="$szWindowsVersion='6.0' and (count($szIIS6MetabaseStatus)=0 or $szIIS6MetabaseStatus='0')" Error="Warning" Text="建議使用「IIS 6 Metabase 相容性」元件，因為它允許您管理所有伺服器角色。請透過伺服器管理員來安裝此元件。" Role="Bridgehead,UnifiedMessaging" GUID="0a71c4f6-68de-40f7-94cf-74b73cbda37b" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS6MgmtConsoleNotInstalledWarning" Query="$szWindowsVersion='6.0' and (count($szIIS6ManagementConsoleStatus)=0 or $szIIS6ManagementConsoleStatus='0')" Error="Warning" Text="建議使用「IIS 6 管理主控台」元件，因為它允許您管理所有伺服器角色。請透過伺服器管理員來安裝此元件。" Role="Bridgehead,UnifiedMessaging" GUID="0a71c4f6-68de-40f7-94cf-74b73cbda37b" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS7HttpCompressionDynamicNotInstalled" Query="$szWindowsVersion='6.0' and (count($szIIS7CompressionDynamic)=0 or $szIIS7CompressionDynamic='0')" Error="Error" Text="需要 '{4}' 元件。請透過伺服器管理員來安裝此元件。" S4="IIS 7 Dynamic Content Compression" Role="ClientAccess" GUID="41a25c5e-0d39-4e55-a1f0-7be885982236" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS7HttpCompressionStaticNotInstalled" Query="$szWindowsVersion='6.0' and (count($szIIS7CompressionStatic)=0 or $szIIS7CompressionStatic='0')" Error="Error" Text="需要 '{4}' 元件。請透過伺服器管理員來安裝此元件。" S4="IIS 7 Static Content Compression" Role="ClientAccess" GUID="41a25c5e-0d39-4e55-a1f0-7be885982236" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS7BasicAuthNotInstalled" Query="$szWindowsVersion='6.0' and (count($szIIS7BasicAuthentication)=0 or $szIIS7BasicAuthentication='0')" Error="Error" Text="需要 '{4}' 元件。請透過伺服器管理員來安裝此元件。" S4="IIS7 Basic Authentication" Role="ClientAccess" GUID="41a25c5e-0d39-4e55-a1f0-7be885982236" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS7WindowsAuthNotInstalled" Query="$szWindowsVersion='6.0' and (count($szIIS7WindowAuthentication)=0 or $szIIS7WindowAuthentication='0')" Error="Error" Text="需要 '{4}' 元件。請透過伺服器管理員來安裝此元件。" S4="IIS 7 Windows Authentication" Role="ClientAccess" GUID="41a25c5e-0d39-4e55-a1f0-7be885982236" AlwaysEvaluate="True"/>
				<Rule Name="fLonghornIIS7DigestAuthNotInstalled" Query="$szWindowsVersion='6.0' and (count($szIIS7DigestAuthentication)=0 or $szIIS7DigestAuthentication='0')" Error="Error" Text="需要 '{4}' 元件。請透過伺服器管理員來安裝此元件。" S4="IIS 7 Digest Authentication" Role="ClientAccess" GUID="41a25c5e-0d39-4e55-a1f0-7be885982236" AlwaysEvaluate="True"/>
				<Rule Name="fPreviousBuildDetected" Query="$fMailboxPreviousBuild or $fUnifiedMessagingPreviousBuild or $fBridgeheadPreviousBuild" AlwaysEvaluate="True"/>
				<Rule Name="fADAMNotInstalled" Query="$fE12 and $szWindowsVersion='5.2' and count($szADAMVersion)=0" Error="Error" Text="此電腦上未安裝 Active Directory 應用程式模式 (ADAM)。您必須先安裝 ADAM Service Pack 1 才能繼續。可以從 http://go.microsoft.com/fwlink/?linkid=71063 下載此軟體。" Role="Gateway" GUID="a8e696b4-e6dd-4516-a293-cbe79e15061b" AlwaysEvaluate="True"/>
				<Rule Name="fADAMLonghornNotInstalled" Query="$szWindowsVersion='6.0' and count($szADAMVersion)=0" Error="Error" Text="此電腦上未安裝 Active Directory 輕量型目錄服務。請透過伺服器管理員來安裝此元件。" Role="Gateway" GUID="68ca8e42-c2b2-4e13-80d8-9e219a9b8bb5" AlwaysEvaluate="True"/>
				<!-- TODO: Exchange12:32241 Prereq: Param: verifies that installation directory is not located on a cluster shared drive -->
				<Rule Name="fClusterTargetDir" Query="$fClusteredTargetDir" Error="Error" Text="Exchange 2007 不能安裝在共用叢集磁碟機上。請指定另一個安裝路徑。" GUID="130e1f1f-78fb-44cd-9f06-4ba99e353241"/>
				<!-- // [49495] Verify that the data path resides on shared storage -->
				<Rule Name="fClusterSCCSharedDataPath" Query="'%CMSSHAREDSTORAGE%'='True' and not($fClusteredCmsDataPath or $fCMSDataPathOnMountPoint)" Error="Error" Text="單一副本叢集的儲存路徑 '{0}' 必須是叢集磁碟。請指定不同的共用儲存路徑。" S0="%CMSDATAPATH%" Role="ClusterMailbox" GUID="cd7bc821-edd8-411e-95cb-5134d2268212" AlwaysEvaluate="True"/>
				<!-- // [115005] Verify that the data path does not reside on shared storage for CCR -->
				<Rule Name="fClusterCCRSharedDataPath" Query="'%CMSSHAREDSTORAGE%'='False' and $fClusteredCmsDataPath and not($fClusterStorageTypeNotCCR)" Error="Error" Text="叢集連續複寫安裝的儲存路徑 '{0}' 不能是叢集磁碟。請指定不同的資料路徑並重新啟動安裝程式。" S0="%CMSDATAPATH%" Role="ClusterMailbox" AlwaysEvaluate="True"/>
				<!-- TODO: Exchange12:49496 Prereq: Param: Checking for shared storage on passive install in a single copy cluster -->
				<Rule Name="fClusterSCCSharedGeneral" Query="false()" Text="這部伺服器的非叢集磁碟區上至少有一個此叢集的 Exchange 儲存路徑 ({0})。所有這類資源都必須位在叢集磁碟區上。" S0=""/>
				<!-- TODO: Exchange12:49497 Prereq: Check the authority associated with the cluster services account -->
				<Rule Name="fClusterExchangeAuthority" Query="false()" Error="Error" Text="叢集服務帳戶 '{0}' 的權限不足，無法讓 Exchange 資訊儲存庫上線。此帳戶應該要有 Exchange 伺服器物件 '{1}' 的 [完全控制] 權限。" P0="$szClusSvcObjectName" Role="ClusteredMailbox"/>
				<!-- TODO: Exchange12:49504 Prereq:  Check that cluster services account can create a computer account or it exists -->
				<Rule Name="fClusterComputerAuthority" Query="false()" Error="Error" Text="叢集服務帳戶 '{0}' 的權限不足，無法建立電腦帳戶。此帳戶必須要有 Active Directory 物件 '{1}' 的 [建立所有子物件] 權限。" P0="$szClusSvcObjectName" S1="" Role="ClusteredMailbox"/>

				<!-- TODO: Placeholder strings for potential fixes -->
				<Rule Name="fDotNetFrameworkNeedsUpdate" Query="$f64bit and (version-compare($szFileVersionMSCorLib, '2.0.50727.235') &lt;0 or version-compare($szFileVersionMSCorWks, '2.0.50727.235') &lt;0)" Error="Error" Text="此電腦需要軟體更新。請從 http://go.microsoft.com/fwlink/?linkid=74465 下載並安裝軟體。在重新啟動安裝程式之前，將需要重新啟動電腦。" Role="Global,Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools" GUID="729d1648-ff17-43f9-a1cf-4285a82d4917"/>
				<Rule Name="fUpdate2" Query="$f64bit and version-compare($szFileVersionMSDAPS, '2.82.2696.0') &lt;0" Error="Error" Text="此電腦需要軟體更新。請從 http://go.microsoft.com/fwlink/?linkid=74467 下載並安裝軟體。" Role="Mailbox" GUID="a7c3d273-8407-47c5-a9d4-096297abcfdd"/>
				<Rule Name="fDotNetFrameworkNeedsUpdate32" Query="$f32bit and (version-compare($szFileVersionMSCorLib, '2.0.50727.235') &lt;0 or version-compare($szFileVersionMSCorWks, '2.0.50727.235') &lt;0)" Error="Error" Text="此電腦需要軟體更新。請從 http://go.microsoft.com/fwlink/?linkid=74469 下載並安裝軟體。在重新啟動安裝程式之前，將需要重新啟動電腦。" Role="Global,Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools" GUID="729d1648-ff17-43f9-a1cf-4285a82d4917"/>
				<Rule Name="fUpdate4" Query="false()" Error="Error" Text="此電腦需要軟體更新。請從 http://go.microsoft.com/fwlink/?linkid=74470 下載並安裝軟體。"/>
				<Rule Name="fUpdate5" Query="false()" Error="Error" Text="此電腦需要軟體更新。請從 http://go.microsoft.com/fwlink/?linkid=74471 下載並安裝軟體。"/>
				<Rule Name="fDotNetFrameworkSP1NotInstalled" Query="false()" Error="Error" Text="此電腦需要 Microsoft .NET Framework 2.0 Service Pack 1。請從 http://www.microsoft.com/downloads 安裝軟體，並重新啟動安裝程式。" Role="Global,Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools"/>
				<Rule Name="fDotNetFramework942027NotInstalled" Query="$fE12SP1orHigher and (version-compare($szFileVersionMSCorLib, '2.0.50727.926') &lt;0 or version-compare($szFileVersionMSCorWks, '2.0.50727.926') &lt;0)" Error="Warning" Text="當您在 Windows Server 2003 或舊版作業系統上執行 Exchange Server 2007 Service Pack 1 (SP1) 時，建議您安裝 Microsoft .NET Framework 2.0 Service Pack 1 (SP1)。如果無法安裝 .NET Framework 2.0 SP1，請從 http://go.microsoft.com/fwlink/?linkid=101219 安裝 Hotfix Microsoft 知識庫文章 942027。" Role="Global,Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools"/>
			</Setting>
			<Setting Key1="Non-Install Server Rules" Task="PrecheckUpgrade,PrecheckDR">
				<Rule Name="fMailboxRoleNotInstalled" Query="not ($fMailboxRoleInstalled) and count($szClusSvcStartMode)=0" Error="Error" Text="此電腦上未安裝 Mailbox server role。" AlwaysEvaluate="True" Role="Mailbox"/>
				<Rule Name="fUnifiedMessagingRoleNotInstalled" Query="not ($fUnifiedMessagingRoleInstalled)" Error="Error" Text="此電腦上未安裝 Unified Messaging server role。" AlwaysEvaluate="True" Role="UnifiedMessaging"/>
				<Rule Name="fBridgeheadRoleNotInstalled" Query="not ($fBridgeheadRoleInstalled)" Error="Error" Text="此電腦上未安裝 Hub Transport server role。" AlwaysEvaluate="True" Role="Bridgehead"/>
				<Rule Name="fUpgradeGateway605Block" Query="(substring($szExBPAAppVersion,5,6) &gt;=605.0) and (substring($szGatewayInstallation,5,6) &lt;606.0)" Error="Error" Text="由於架構不相容，安裝程式無法升級 Edge Transport server role。您必須使用 [控制台] 移除 Edge Transport role。" Role="Gateway"/>
				<Rule Name="fUpgradeBridgehead578Block" Query="(substring($szExBPAAppVersion,5,6) &gt;=605.0) and (substring($szBridgeheadInstallation,5,6) &lt;578.0)" Error="Error" Text="無法升級已安裝的 Exchange 2007 版本。您必須使用 [控制台] 移除現有的 Hub Transport role。" Role="Bridgehead"/>
				<Rule Name="fUpgradeMailbox556Block" Query="(substring($szExBPAAppVersion,5,6) &gt;=605.0) and (substring($szMailboxInstallation,5,6) &lt;556.0)" Error="Error" Text="無法升級已安裝的 Exchange 2007 版本。您必須使用 [控制台] 移除現有的 Mailbox role。" Role="Mailbox"/>
			</Setting>
			<Setting Key1="Upgrade Only Server Rules" Task="PrecheckUpgrade">
				<Rule Name="fDelegatedBridgehealFirstSP1upgrade" Query="$fE12SP1orHigher and not($fExOrgAdmin) and count($fE12SP1orHigherHubAlreadyExists)=0" Error="Error" Text="您必須是 Exchange Organization Administrators 群組的成員，才能將組織中的第一個 Hub Transport server role 升級至 Exchange Server 2007 Service Pack 1。" Role="Bridgehead" AlwaysEvaluate="True"/>
				<Rule Name="fDelegatedUnifiedMessagingFirstSP1upgrade" Query="$fE12SP1orHigher and not($fExOrgAdmin) and count($fE12SP1orHigherUMAlreadyExists)=0" Error="Error" Text="您必須是 Exchange Organization Administrators 群組的成員，才能將組織中的第一個 Unified Messaging server role 升級至 Exchange Server 2007 Service Pack 1。" Role="UnifiedMessaging" AlwaysEvaluate="True"/>
				<Rule Name="fDelegatedClientAccessFirstSP1upgrade" Query="$fE12SP1orHigher and not($fExOrgAdmin) and count($fE12SP1orHigherCASAlreadyExists)=0" Error="Error" Text="您必須是 Exchange Organization Administrators 群組的成員，才能將組織中的第一個 Client Access server role 升級至 Exchange Server 2007 Service Pack 1。" Role="ClientAccess" AlwaysEvaluate="True"/>
				<Rule Name="fDelegatedMailboxFirstSP1upgrade" Query="$fE12SP1orHigher and not($fExOrgAdmin) and count($fE12SP1orHigherMBXAlreadyExists)=0" Error="Error" Text="您必須是 Exchange Organization Administrators 群組的成員，才能將第一個 Mailbox server role 升級至 Exchange Server 2007 Service Pack 1。" Role="Mailbox" AlwaysEvaluate="True"/>
			</Setting>
			<Setting Key1="Uninstall Server Rules" Task="PrecheckUninstall">
				<Rule Name="fCannotUninstallOABServer" Query="count($szOABDN)&gt;0 and count($szOtherPotentialOABServers)&gt;1" Error="Error" Text="此信箱伺服器負責產生離線通訊錄。不可以移除 Mailbox role" AlwaysEvaluate="True" Role="Mailbox" GUID="d0faeb2a-79d3-4ded-aa40-20f3b187b414"/>
				<Rule Name="fCannotUninstallUMPublishingPoint" Query="count($szRemoveUMPublishingPointException) &gt;0" Error="Error" Text="無法移除 Unified Messaging server role。錯誤: {1}" P1="$szRemoveUMPublishingPointException" Role="UnifiedMessaging" GUID="24d1b69e-dae2-4c2a-8449-951c61e0215c" AlwaysEvaluate="True"/>
				<!-- // [77729] When removing all roles from a server, Setup removes the computer account from the Exchange Servers USG. For this, we need to pre-req sufficient permissions -->
				<!-- // We condition out AdminTools because this role is virtual and does not effect the Exchange Servers USG -->
				<!-- 114937 The last server must be uninstalled by org admin. -->
				<Rule Name="fCannotUninstallDelegatedServer" Query="count($fServerSetupRole)=count($szServerRoleUnpacked) and (count($szExchangeServers)=1) and not($fHasExchangeServersUSGWritePerms) and ('%SETUPROLES%'!='AdminTools')" Error="Error" Text="您必須是 'Exchange Organization Administrators' 群組或 'Enterprise Admins' 群組的成員，才能移除此電腦中的所有角色。" GUID="2e85f271-f9d9-436c-b300-9d710b81f621" AlwaysEvaluate="True"/>
			</Setting>
			<Setting Key1="Setup Version">
				<Rule Name="fE12SP1orHigher" Query="version-compare('%EXCHANGEVERSION%', '8.1.0.0') &gt;0 and $fE12"/>
				<Rule Name="fE12" Query="starts-with('%EXCHANGEVERSION%', '8')"/>
			</Setting>

			<!-- List parameters passed by setup -->
			<Object Type="If" Name="Setup Parameters" Key1="true()">
				<Setting Key1="string('%PREREQSERVER%')" Key2="PREREQSERVER"/>
				<Setting Key1="string('%EXCHANGEVERSION%')" Key2="EXCHANGEVERSION"/>
				<Setting Key1="string('%SERVERADMIN%')" Key2="SERVERADMIN"/>
				<Setting Key1="string('%SETUPROLES%')" Key2="SETUPROLES"/>
				<Setting Key1="string('%NEWPROVISIONEDSERVERNAME%')" Key2="NEWPROVISIONEDSERVERNAME"/>
				<Setting Key1="string('%REMOVEPROVISIONEDSERVERNAME%')" Key2="REMOVEPROVISIONEDSERVERNAME"/>
				<Setting Key1="string('%TARGETDIR%')" Key2="TARGETDIR"/>
				<Setting Key1="string('%GLOBALCATALOG%')" Key2="GLOBALCATALOG"/>
				<Setting Key1="string('%DOMAINCONTROLLER%')" Key2="DOMAINCONTROLLER"/>
				<Setting Key1="string('%PREPAREDOMAIN%')" Key2="PREPAREDOMAIN"/>
				<Setting Key1="string('%FOREIGNFORESTFQDN%')" Key2="FOREIGNFORESTFQDN"/>
				<Setting Key1="string('%PREPAREORGANIZATION%')" Key2="PREPAREORGANIZATION"/>
				<Setting Key1="string('%PREPARESCHEMA%')" Key2="PREPARESCHEMA"/>
				<Setting Key1="string('%PREPAREALLDOMAINS%')" Key2="PREPAREALLDOMAINS"/>
				<Setting Key1="string('%PREPARELEGACYEXCHANGEPERMISSIONS%')" Key2="PREPARELEGACYEXCHANGEPERMISSIONS"/>
				<Setting Key1="string('%CREATEPUBLICDB%')" Key2="CREATEPUBLICDB"/>
				<Setting Key1="string('%CMSNAME%')" Key2="CMSNAME"/>
				<!-- // If Setup does not pass a value for CMSSharedStorage, it will default to False -->
				<Setting Key1="string('%CMSSHAREDSTORAGE%')" Key2="CMSSHAREDSTORAGE"/>
				<Setting Key1="string('%CLEARLOCALCMS%')" Key2="CLEARLOCALCMS"/>
				<Setting Key1="string('%CMSDATAPATH%')" Key2="CMSDATAPATH"/>
				<Setting Key1="string('%CMSIPADDRESS%')" Key2="CMSIPADDRESS"/>
				<Setting Key1="string('%CMSIPV4ADDRESSES%')" Key2="CMSIPV4ADDRESSES"/>
				<Setting Key1="string('%CMSIPV4NETWORKS%')" Key2="CMSIPV4NETWORKS"/>
				<Setting Key1="string('%CMSIPV6NETWORKS%')" Key2="CMSIPV6NETWORKS"/>
				<Setting Key1="string('%CMSACTIVEUNINSTALL%')" Key2="CMSACTIVEUNINSTALL"/>
				<Setting Key1="string('%IISINSTALLED%')" Key2="IISINSTALLED"/>
				<Setting Key1="string(@Key3)" Key2="ADINITERROR" Key3="%ADINITERROR%"/>
			</Object>

			<!-- // Setup passes a comma-separated list of roles to BPA. We'll put these into a cache so that we can enumerate the list as individual values -->
			<Object Type="Cache" Name="SetupRoles" Key1="Add" Key2="SetupRoles" Key3="%SETUPROLES%" Key4=",">
				<Setting Key1="SetupRole">
					<Rule Name="fServerSetupRole" Query="$.!='AdminTools'"/>
				</Setting>
			</Object>

			<!-- Retrieve local ExBPA data -->
			<Object Type="Engine" Name="ExBPA Execution">
				<Setting Key1="AppVersion">
					<Rule Name="szExBPAAppVersion" Query="$."/>
				</Setting>
				<Setting Key1="DataFilename"/>
				<Setting Key1="ExecutionDirectory"/>
				<Setting Key1="ExecutionCulture"/>
			</Object>

			<!-- Retrieve the identity of the logged-on user. We use the GetUserNameEx object processor to ensure that the data is correct even when running under a Terminal Services session. -->
			<Object Type="GetUserNameEx" Name="Interactive User">
				<Setting Key1="NameFullyQualifiedDN"/>
				<Setting Key1="NameSamCompatible" Substitution="CURRENTLOGON"/>
				<Setting Key1="NameDisplay"/>
				<Setting Key1="NameDnsDomain"/>

				<!-- Verify that the logged-on user is a member of the local Administrators group. -->
				<Object Type="CheckTokenMembership" Key1="S-1-5-32-544" Name="LocalAdmin">
					<Rule Name="fNotLocalAdmin" Query="count(../Instance[@Name='LocalAdmin'])=0" Error="Error" Text="您必須以本機 Administrators 群組成員的身分登入，才能繼續。" S1="%CURRENTLOGON%" GUID="1b304a45-c7c8-420c-8a49-df26a1e27531"/>
				</Object>
			</Object>

			<!-- Test the remote registry service -->
			<Object Type="MonadCommand" Key1="[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [System.Net.Dns]::GetHostEntry([System.Net.Dns]::GetHostName()).HostName)">
				<Rule Name="szRemoteRegException" Query="../Exception/@Message" Error="Error" Text="存取此電腦上的登錄時發生問題。如果遠端登錄服務並未執行，就可能會發生這種狀況; 也可能表示有網路問題。" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging"/>
			</Object>

			<!-- Retrieve local computer details -->
			<Object Type="GetComputerNameEx" Name="Local computer">
				<Setting Key1="ComputerNameNetBIOS">
					<Rule Name="szComputerNameNetBIOS" Query="$."/>
					<Rule Name="fComputerNameDiscrepancy" Query="lower-case($szComputerNameDnsHostName) != lower-case($.)" Error="Error" Text="電腦的 NetBIOS 名稱不符合 DNS 主機名稱。確定不會由於 15 字元限制而截斷 NetBIOS 名稱。" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools"/>
				</Setting>
				<Setting Key1="ComputerNameDnsHostname">
					<Rule Name="szComputerNameDnsHostName" Query="$."/>
				</Setting>
				<Setting Key1="ComputerNameDnsDomain">
					<Rule Name="szComputerNameDnsDomain" Query="$."/>
					<!--Verifies that the DNS domain of the server only contains 'A'-'Z', 'a'-'z', '0'-'9', '.' and '-'-->
					<Rule Name="fDNSDomainNameNotValid" Query="not(matches($., '^[A-Za-z0-9\-\.]*$'))" Error="Error" Text="DNS 網域名稱無效。它含有 'A'-'Z'、'a'-'z'、'0'-'9'、'.' 及 '-' 以外的字元。" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox" GUID="0861e169-9ea6-4a1c-958f-250d035690eb"/>
					<!-- [129993] Check for single label domains -->
					<Rule Name="fDNSDomainSingleLabel" Query="not(contains($., '.'))" Error="Warning" Text="這部電腦屬於單一標籤的 DNS 網域。這不是建議的組態，在未來版本的 Exchange 中將不支援。您應計劃遷移至網域全名。DNS 網域名稱: {1}。" P1="$." Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox" GUID="988fc09f-6bbd-44bb-93ad-be5bb62400c8"/>
				</Setting>
				<Setting Key1="ComputerNameDnsFullyQualified">
					<Rule Name="szComputerNameDnsFullyQualified" Query="$."/>
				</Setting>
				<Setting Key1="ComputerNamePhysicalNetBIOS"/>
				<Setting Key1="ComputerNamePhysicalDnsHostname"/>
				<Setting Key1="ComputerNamePhysicalDnsDomain"/>
				<Setting Key1="ComputerNamePhysicalDnsFullyQualified"/>
			</Object>

			<!-- Connect to the well-known reg key to see if the server is responding -->
			<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Windows NT\CurrentVersion">
				<Setting Key1="CurrentVersion">
					<Rule Name="szWindowsVersion" Query="$."/>
				</Setting>

				<!-- Find out if the computer is running Service Pack 1 or above -->
				<Setting Key1="CSDVersion">
					<Rule Name="szWindowsSPLevel" Query="$."/>
				</Setting>

				<!-- Get the product name -->
				<Setting Key1="ProductName">
					<Rule Name="szWindowsProductName" Query="$."/>
				</Setting>

				<!-- Discover whether ADAM is already installed -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Windows\CurrentVersion\ADAM_Shared" Task="PrecheckInstall" Role="Gateway">
					<Setting Key1="InstalledVersion">
						<Rule Name="szADAMVersion" Query="$."/>
						<Rule Name="fOldADAMInstalled" Query="starts-with($., '1.1.3790') and substring($.,10,4) &lt;2075" Error="Error" Text="此電腦上已安裝舊版的 Active Directory 應用程式模式 (ADAM)。您必須先更新至 ADAM Service Pack 1 才能繼續。可以從 http://go.microsoft.com/fwlink/?linkid=71063 下載此軟體。" GUID="bfaf6dbd-6e45-4d66-854f-9d242f140e0a"/>
					</Setting>
				</Object>

				<!-- // [92929] Check the ADAM service state. The Exchange-created ADAM instance needs to be running otherwise upgrades and uninstalls will fail -->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Service" Key4="Name='ADAM_MSExchange'" Task="PrecheckUpgrade,PrecheckUninstall" Role="Gateway">
					<Setting Key1="Started">
						<Rule Name="fADAMSvcStopped" Query="$.='False'" Error="Error" Text="必須先啟動 Active Directory 應用程式模式 (ADAM) 服務，安裝程式才能繼續。"/>
					</Setting>
				</Object>

				<!-- // [84799,84800] Check the COM+ Event System service state for Edge and Client Access roles -->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Service" Key4="Name='EventSystem'" Task="PrecheckInstall,PrecheckUpgrade,PrecheckUninstall" Role="ClientAccess,Gateway">
					<Setting Key1="Started">
						<Rule Name="fEventSystemStopped" Query="$.='False'" Error="Error" Text="必須先啟動 COM+ Event System 服務，安裝程式才能繼續。" GUID="24e8fb0e-1ed7-4d64-9e7b-3996093919f1"/>
					</Setting>
				</Object>

				<!-- // [84800,85290] Check the MSDTC service state for Client Access and Unfied Messaging roles -->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Service" Key4="Name='MSDTC'" Task="PrecheckInstall,PrecheckUpgrade,PrecheckUninstall" Role="ClientAccess,UnifiedMessaging">
					<Setting Key1="Started">
						<Rule Name="fMSDTCStopped" Query="$.='False'" Error="Error" Text="必須先啟動 Distributed Transaction Coordinator 服務，安裝程式才能繼續。" GUID="280ca216-ea9a-46fc-a23e-137e92527eb4"/>
					</Setting>
				</Object>

				<!-- // [119016] Check whether the Windows Firewall service is stopped on Windows Server 2008 -->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Service" Key4="Name='MpsSvc'" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR,PrecheckUninstall" Role="Mailbox,Bridgehead,Gateway,ClientAccess,UnifiedMessaging">
					<Setting Key1="Started">
						<Rule Name="fMpsSvcStopped" Query="$szWindowsVersion='6.0' and $.='False'" Error="Error" Text="必須先啟動 Windows Firewall 服務，安裝程式才能繼續。"/>
					</Setting>
				</Object>

				<!-- Find out if SMTP is installed -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="System\CurrentControlSet\Services\SMTPSVC">
					<Setting Key1="DisplayName"/>
					<Setting Key1="Start">
						<Rule Name="szSMTPSvcStartMode" Query="$."/>
					</Setting>
				</Object>

				<!-- Verifies that the server component of Exchange is not installed -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\Setup">
					<Setting Key1="NewestBuild">
						<Rule Name="iNewestBuild" Query="$."/>
					</Setting>
					<Setting Key1="Services">
						<Rule Name="szServicesPath" Query="$."/>
					</Setting>
					<Setting Key1="MsiInstallPath">
						<Rule Name="szMsiInstallPath" Query="replace($., '\\$', '')"/>
					</Setting>
				</Object>

				<!-- Verifies that IIS Common Files is installed for ClientAccess role administration -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\InetStp">
					<Setting Key1="__KEYPATH">
						<Rule Name="szIISCommonFiles" Query="$."/>
					</Setting>
				</Object>

				<!-- Checks whether IIS 6 components and IIS 7 required components are installed on Longhorn -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\InetStp\Components">
					<Setting Key1="Metabase">
						<Rule Name="szIIS6MetabaseStatus" Query="$."/>
					</Setting>
					<Setting Key1="LegacySnapin">
						<Rule Name="szIIS6ManagementConsoleStatus" Query="$."/>
					</Setting>
					<Setting Key1="HttpCompressionDynamic">
						<Rule Name="szIIS7CompressionDynamic" Query="$."/>
					</Setting>
					<Setting Key1="HttpCompressionStatic">
						<Rule Name="szIIS7CompressionStatic" Query="$."/>
					</Setting>
					<Setting Key1="BasicAuthentication">
						<Rule Name="szIIS7BasicAuthentication" Query="$."/>
					</Setting>
					<Setting Key1="WindowsAuthentication">
						<Rule Name="szIIS7WindowAuthentication" Query="$."/>
					</Setting>
					<Setting Key1="DigestAuthentication">
						<Rule Name="szIIS7DigestAuthentication" Query="$."/>
					</Setting>
				</Object>

				<!--Check for metabase consistency -->
				<Object Type="Metabase" Key1="%PREREQSERVER%" Key2="LM" Timeout="%300" Role="Mailbox,ClientAccess">
					<Setting Key1="1002" Key2="KeyType">
						<Rule Name="szKeyType" Query="$."/>
					</Setting>
				</Object>
				<Object Type="Metabase" Key1="%PREREQSERVER%" Key2="LM\W3SVC\1\ROOT" Timeout="%300" Role="ClientAccess">
					<Setting Key1="1002" Key2="KeyType">
						<Rule Name="szDefaultWebSiteKeyType" Query="$."/>
					</Setting>
				</Object>
				<Object Type="Metabase" Key1="%PREREQSERVER%" Key2="LM\W3SVC\AppPools" Timeout="%300" Role="ClientAccess">
					<Setting Key1="9040" Key2="Enable32BitAppOnWin64">
						<Rule Name="fIIS32BitMode" Query="$f64bit and $.=1" Error="Error" Text="Microsoft 網際網路資訊服務是處於 32 位元模式，而這是 64 位元電腦。必須先變更模式，安裝程式才能繼續。" GUID="2a3422f7-58c3-4002-b22a-22d405f70ee8"/>
					</Setting>
				</Object>

				<!-- // Enumate the number of installed server roles on this computer -->
				<!-- // NOTE: AdminTools is excluded from this enumeration -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0" Key4="^(.*Role)$" Key5="OneLevel">
					<Setting Key1="__KEYPATH" Substitution="ROLE" SubstitutionFormat="^.*\\(.*)Role$----$1"/>
					<Setting Key1="UnpackedVersion">
						<Rule Name="szServerRoleUnpacked" Query="$."/>
					</Setting>
					<!-- [69013] Watermark residue equates to a previous Setup failure. If we see this, we need to halt Setup because the user is attempting to perform another action rather than clean up the existing problem -->
					<Setting Key1="Watermark">
						<Rule Name="szInstallWatermark" Query="$." Error="Error" Text="在安裝 {1} role 時先前有發生安裝程式失敗。請只對此角色再次執行安裝程式，或使用 [控制台] 移除角色。" S1="%ROLE%" Task="PrecheckInstall,PrecheckDR" GUID="d75e184d-b94b-4c07-b43a-ac5b9f0c4789"/>
					</Setting>
				</Object>

				<!--Check for Gateway installation -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0" Key4="^(EdgeTransportRole|GatewayRole)$" Key5="OneLevel">
					<Setting Key1="ConfiguredVersion">
						<Rule Name="szGatewayInstallation" Query="$."/>
					</Setting>
					<Setting Key1="UnpackedVersion">
						<Rule Name="fGatewayMinVersionCheck" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;=0 and $.=$szGatewayInstallation" Error="Error" Text="已安裝的 Exchange 2007 版本與嘗試安裝的版本相同或更新。" Role="Gateway" Task="PrecheckInstall"/>
						<Rule Name="fGatewayUpgrade605Block" Query="version-compare($., '8.0.605.11') &lt;0 and version-compare('%EXCHANGEVERSION%', '8.0.606.0') &gt;=0" Error="Error" Text="無法升級已安裝的 Exchange 2007 版本。您必須使用 [控制台] 移除現有的 Edge Transport server role。" Role="Gateway" Task="PrecheckUpgrade"/>
						<Rule Name="fGatewayUpgradeMinVersionBlock" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;0 and $.=$szGatewayInstallation" Error="Error" Text="已安裝的 Exchange Server 2007 版本比嘗試升級至的版本還新。" Role="Gateway" Task="PrecheckUpgrade"/>
					</Setting>
				</Object>

				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0\MailBoxRole">
					<Setting Key1="ConfiguredVersion">
						<Rule Name="szMailboxInstallation" Query="$."/>
					</Setting>
					<Setting Key1="UnpackedVersion">
						<Rule Name="fMailboxPreviousBuild" Query="version-compare($.,'%EXCHANGEVERSION%') &lt;0"/>
						<Rule Name="fMailboxMinVersionCheck" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;=0 and not($fPreviousBuildDetected) and $.=$szMailboxInstallation" Error="Error" Text="已安裝的 Exchange 2007 版本與嘗試安裝的版本相同或更新。" Role="Mailbox" Task="PrecheckInstall"/>
						<Rule Name="fMailboxUpgradeMinVersionBlock" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;0 and $.=$szMailboxInstallation" Error="Error" Text="已安裝的 Exchange Server 2007 版本比嘗試升級至的版本還新。" Role="Mailbox" Task="PrecheckUpgrade"/>
					</Setting>
				</Object>

				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0\UnifiedMessagingRole">
					<Setting Key1="ConfiguredVersion">
						<Rule Name="szUnifiedMessagingInstallation" Query="$."/>
					</Setting>
					<Setting Key1="UnpackedVersion">
						<Rule Name="fUnifiedMessagingPreviousBuild" Query="version-compare($.,'%EXCHANGEVERSION%') &lt;0"/>
						<Rule Name="fUnifiedMessagingMinVersionCheck" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;=0 and not($fPreviousBuildDetected) and $.=$szUnifiedMessagingInstallation" Error="Error" Text="已安裝的 Exchange 2007 版本與嘗試安裝的版本相同或更新。" Role="UnifiedMessaging" Task="PrecheckInstall"/>
						<Rule Name="fUnifiedMessagingUpgradeMinVersionBlock" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;0 and $.=$szUnifiedMessagingInstallation" Error="Error" Text="已安裝的 Exchange Server 2007 版本比嘗試升級至的版本還新。" Role="UnifiedMessaging" Task="PrecheckUpgrade"/>
					</Setting>
				</Object>

				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0\ClientAccessRole">
					<Setting Key1="ConfiguredVersion">
						<Rule Name="szClientAccessInstallation" Query="$."/>
					</Setting>
				</Object>

				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0" Key4="^(BridgeheadRole|HubTransportRole)$" Key5="OneLevel">
					<Setting Key1="ConfiguredVersion">
						<Rule Name="szBridgeheadInstallation" Query="$."/>
					</Setting>
					<Setting Key1="UnpackedVersion">
						<Rule Name="fBridgeheadPreviousBuild" Query="version-compare($.,'%EXCHANGEVERSION%') &lt;0"/>
						<Rule Name="fBridgeheadMinVersionCheck" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;=0 and not($fPreviousBuildDetected) and $.=$szBridgeheadInstallation" Error="Error" Text="已安裝的 Exchange 2007 版本與嘗試安裝的版本相同或更新。" Role="Bridgehead" Task="PrecheckInstall"/>
						<Rule Name="fBridgeheadUpgrade605Block" Query="version-compare($., '8.0.605.11') &lt;0 and version-compare('%EXCHANGEVERSION%', '8.0.606.0') &gt;=0" Error="Error" Text="無法升級已安裝的 Exchange 2007 版本。您必須使用 [控制台] 移除現有的 Hub Transport server role。" Role="Bridgehead" Task="PrecheckUpgrade"/>
						<Rule Name="fBridgeheadUpgradeMinVersionBlock" Query="version-compare($.,'%EXCHANGEVERSION%') &gt;0 and $.=$szBridgeheadInstallation" Error="Error" Text="已安裝的 Exchange Server 2007 版本比嘗試升級至的版本還新。" Role="Bridgehead" Task="PrecheckUpgrade"/>
					</Setting>
				</Object>

				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0\ClusteredMailboxServer">
					<Setting Key1="ConfiguredVersion">
						<Rule Name="szClusterMailboxInstallation" Query="$."/>
					</Setting>
					<Setting Key1="Watermark">
						<Rule Name="szClusterMailboxWatermark" Query="$."/>
					</Setting>
				</Object>

				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0\AdminTools">
					<Setting Key1="__KEYPATH">
						<Rule Name="szAdminToolsInstallation" Query="$."/>
					</Setting>
				</Object>

				<!-- Check for 64-bit Operating System -->
				<Object Type="WMI" Name="DeviceID" Key1="%PREREQSERVER%" Key3="Win32_Processor">
					<Setting Key1="AddressWidth">
						<Rule Name="f32bit" Query="$.=32"/>
						<Rule Name="f64bit" Query="$.=64"/>
					</Setting>
				</Object>

				<!-- Pending updates check. Ensuring that there are no pending reboots before we proceed with our installation. -->
				<!-- Refer http://technet.microsoft.com/en-us/library/bb418921.aspx -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="System\CurrentControlSet\Control\Session Manager">
					<Setting Key1="PendingFileRenameOperations">
						<Rule Name="szPendingFileRenames" Query="$."/>
					</Setting>
				</Object>
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Updates\UpdateExeVolatile">
					<Setting Key1="Flags">
						<Rule Name="fUpdateNeedsReboot" Query="$.!=0"/>
					</Setting>
				</Object>

				<!-- Hotfix checks -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Windows\CurrentVersion">
					<Setting Key1="ProgramFilesDir" Substitution="PROGRAMFILEPATH" SubstitutionFormat="\\----\\"/>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%PROGRAMFILEPATH%\\Common Files\\System\\Ole DB\\msdaps.dll'">
						<Setting Key1="Version">
							<Rule Name="szFileVersionMSDAPS" Query="replace($.,'^(\d+\.\d+\.\d+\.\d+).*$', '$1')"/>
						</Setting>
					</Object>
				</Object>

				<!-- // [105655] Check the existence of KB928388 -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific Standard Time">
					<Setting Key1="TZI">
						<Rule Name="fDST2007Enabled" Query="upper-case($.)='E001000000000000C4FFFFFF00000B0000000100020000000000000000000300000002000200000000000000'"/>
					</Setting>
					<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific Standard Time\Dynamic DST">
						<Setting Key1="__KEYPATH">
							<Rule Name="szDynamicDSTKey" Query="$."/>
						</Setting>
					</Object>
				</Object>

				<!-- // Check the installed version of the .NET Framework -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\.NETFramework">
					<Setting Key1="InstallRoot" Substitution="FRAMEWORKPATH" SubstitutionFormat="\\----\\"/>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%FRAMEWORKPATH%v2.0.50727\\mscorlib.dll'">
						<Setting Key1="Version">
							<Rule Name="szFileVersionMSCorLib" Query="replace($.,'^(\d+\.\d+\.\d+\.\d+).*$', '$1')"/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%FRAMEWORKPATH%v2.0.50727\\mscorwks.dll'">
						<Setting Key1="Version">
							<Rule Name="szFileVersionMSCorWks" Query="replace($.,'^(\d+\.\d+\.\d+\.\d+).*$', '$1')"/>
						</Setting>
					</Object>
				</Object>

				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Windows NT\CurrentVersion">
					<Setting Key1="SystemRoot" Substitution="WINDOWSPATH" SubstitutionFormat="\\----\\"/>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\Cluster\\clusres.dll'" Role="Mailbox,ClusterMailbox">
						<Setting Key1="Version">
							<Rule Name="szFileVersionClusRes" Query="$."/>
						</Setting>
					</Object>
					<!--// [108587] Check the existence of KB928368 -->
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\System32\\ntoskrnl.exe'">
						<Setting Key1="Version">
							<Rule Name="szFileVersionNtoskrnl" Query="replace($.,'^(\d+\.\d+\.\d+\.\d+).*$', '$1')"/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\msxml6.dll'" Role="UnifiedMessaging">
						<Setting Key1="Version">
							<Rule Name="szFileVersionMSXML6" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\wmspdmod.dll'" Role="UnifiedMessaging">
						<Setting Key1="Version">
							<Rule Name="szFileVersionWmspdmod" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\wmspdmoe.dll'" Role="UnifiedMessaging">
						<Setting Key1="Version">
							<Rule Name="szFileVersionWmspdmoe" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\wmvcore.dll'" Role="UnifiedMessaging">
						<Setting Key1="Version">
							<Rule Name="szFileVersionWmvcore" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\ldifde.exe'">
						<Setting Key1="Version">
							<Rule Name="szFileVersionLdifde" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\drivers\\tcpip.sys'">
						<Setting Key1="Version">
							<Rule Name="szFileVersionTCPIPSYS" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\drivers\\mountmgr.sys'">
						<Setting Key1="Version">
							<Rule Name="szFileVersionMountmgr" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\inetsrv\\adsiis.dll'" Role="ClientAccess,Mailbox">
						<Setting Key1="Version">
							<Rule Name="szFileVersionAdsiis" Query="$."/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\system32\\inetsrv\\iisext.dll'" Role="ClientAccess,Mailbox">
						<Setting Key1="Version">
							<Rule Name="szFileVersionIisext" Query="$."/>
						</Setting>
					</Object>
				</Object>

				<!-- Find out if W3SVC is installed -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="System\CurrentControlSet\Services\W3SVC">
					<Setting Key1="Start">
						<Rule Name="szW3SVCStartMode" Query="$."/>
					</Setting>
				</Object>

				<!-- Find out if NNTPSVC is installed -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="System\CurrentControlSet\Services\NntpSvc">
					<Setting Key1="Start">
						<Rule Name="szNNTPSvcStartMode" Query="$."/>
					</Setting>
				</Object>

				<!-- // [91227] Verify that Setup is using the same DC if DSAccess has been hard-coded -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="System\CurrentControlSet\Services\MSExchange ADAccess\Instance0">
					<Setting Key1="ConfigDCHostName">
						<Rule Name="fConfigDCHostNameMismatch" Query="$.!='' and lower-case($.) != lower-case('%DOMAINCONTROLLER%')" Error="Error" Text="因為登錄中有設定覆寫，所以安裝程式無法使用網域控制站 '{0}'。請再次執行安裝程式，並指定 '/DomainController:{1}'。" S0="%DOMAINCONTROLLER%" P1="$." GUID="12e99289-15ea-4c77-be70-77ee4b71d2a7"/>
					</Setting>
				</Object>

				<!-- // Enumerate cluster information -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="System\CurrentControlSet\Services\ClusSvc">
					<Setting Key1="Start" Substitution="STARTMODE">
						<Rule Name="szClusSvcStartMode" Query="$."/>
						<Rule Name="iPhysicalNodesInCluster" Query="count($szNodeName)"/>
						<Rule Name="iPhysicalNodesWithExchangeInCluster" Query="count($szNodeMailboxInstallation)"/>
					</Setting>
					<Setting Key1="ObjectName">
						<Rule Name="szClusSvcObjectName" Query="$."/>
					</Setting>

					<!-- // Check the state of the Cluster Service -->
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Service" Key4="Name='ClusSvc'">
						<Setting Key1="Started" Substitution="STARTED">
							<Rule Name="szClusSvcStarted" Query="$."/>
						</Setting>
						<!-- checks to do on cluster nodes -->
						<Object Type="If" Key1="'%STARTMODE%'='2' and '%STARTED%'='True'">
							<Object Type="Volume" Key2="%TARGETDIR%">
								<Setting Key1="IOCTL_VOLUME_IS_CLUSTERED">
									<Rule Name="fClusteredTargetDir" Query="$.=0"/>
								</Setting>
							</Object>
						</Object>
					</Object>
				</Object>

				<!-- // When installing a passive node, the 'Mailbox' role alone will be called -->
				<!-- // When installing an active node, both the 'Mailbox' and 'ClusterMailbox' roles will be called -->

				<!-- // Find out if this computer has the cluster key in the registry. If it fails the first reg open, all child objects will be skipped -->
				<!-- // Get the name of the local cluster from the registry -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Cluster" Role="Mailbox,ClusterMailbox">
					<Setting Key1="ClusterName">
						<!-- // [99003] The following rule ensure that a passive is always available within the cluster -->
						<!-- // The first portion of the query covers the case where the administrator is attempting to create a CMS on an existing passive -->
						<!-- // The second portion of the query covers the case where the administrator is attempting to install Exchange on a new cluster node -->
						<Rule Name="fTooManyActiveNodes" Query="(count($szExchangeStoreResource)!=0) and ((count($szExchangeStoreResource) &gt;=($iPhysicalNodesWithExchangeInCluster -1) and count($szMailboxInstallation) &gt;0) or (count($szExchangeStoreResource) &gt;=($iPhysicalNodesWithExchangeInCluster) and count($szMailboxInstallation)=0))" Error="Error" Text="無法建立新的 Active Cluster Mailbox role。叢集中至少要有一個節點是被動節點。" Task="PrecheckInstall" Role="ClusterMailbox" GUID="36110e19-b057-45c1-9f2a-6732e191a07d" AlwaysEvaluate="True"/>
						<Rule Name="fResourcesWillBeMoved" Query="($iPhysicalNodesWithExchangeInCluster &gt;1) and count($fClusterResourceOnline)=0 and count($fClusterResourceOffline) &gt;0" Error="Warning" Text="安裝程式執行工作時，會將此節點所擁有的叢集受管理服務容錯移轉至另一個節點。" Role="Mailbox" Task="PrecheckInstall,PrecheckUpgrade"/>
						<Rule Name="fResourcesNeedToBeOffline" Query="($iPhysicalNodesWithExchangeInCluster &gt;1) and count($fClusterResourceOnline) &gt;0" Error="Error" Text="在安裝程式繼續之前，需要先讓此節點所擁有的所有叢集受管理服務離線，或最好移至叢集中的另一個節點。" Task="PrecheckInstall,PrecheckUpgrade" Role="Mailbox" GUID="a140397f-ea3f-4cfd-8632-f8de7948762b"/>
						<Rule Name="fSingleNodeResourcesNeedToBeOffline" Query="($iPhysicalNodesWithExchangeInCluster=1) and count($fLocalExchangeStoreResourceOnline) &gt;0" Error="Error" Text="在安裝程式繼續之前，需要先讓此節點所擁有的所有 Exchange 叢集受管理服務離線。" Task="PrecheckUpgrade" Role="Mailbox"/>
						<Rule Name="fPassiveUninstallButCMSPresent" Query="not(contains('%SETUPROLES%','ClusterMailbox')) and count($fLocalExchangeStoreResource) &gt;0" Error="Error" Text="因為 Exchange 叢集管理服務是由此節點所擁有，所以無法移除此電腦中的 Exchange 檔案。" Task="PrecheckUninstall" Role="Mailbox" GUID="f8c59d96-e032-4e61-bf7e-cd8bf68e09c8"/>
						<Rule Name="fFileShareWitnessNotConfiguredWin2003" Query="$fE12 and $szWindowsVersion='5.2' and $iPhysicalNodesInCluster=2 and $fQuorumWin2003MNS and not($szMNSFileShare)" Error="Error" Text="尚未設定檔案共用見證。請設定 'MNSFileShare' 值、移動兩次叢集群組，並重試安裝作業。" Task="PrecheckInstall,PrecheckDR" Role="ClusterMailbox" GUID="dc071e15-4a39-43ef-8c72-3a3443b1ede1" AlwaysEvaluate="True"/>
						<Rule Name="fWitnessNotConfiguredLonghorn" Query="$szWindowsVersion='6.0' and $iPhysicalNodesInCluster=2 and $fQuorumLHMajorityWithoutWitness" Error="Error" Text="這是具有節點多數集功能的雙節點叢集，但是未設定見證。請設定見證，然後重新嘗試安裝程式作業。" Task="PrecheckInstall,PrecheckDR" Role="ClusterMailbox" AlwaysEvaluate="True"/>
						<Rule Name="fSharedDiskCCR" Query="'%CMSSHAREDSTORAGE%'='False' and $fQuorumResourcePhysicalDisk and not($fQuorumLHMajoritySharedDiskWitness or $fClusterStorageTypeNotCCR)" Error="Warning" Text="安裝叢集連續複寫時偵測到共用磁碟仲裁。建議使用多數節點集或節點多數集仲裁。" Task="PrecheckInstall,PrecheckDR" Role="ClusterMailbox" AlwaysEvaluate="True"/>
						<Rule Name="fSharedDiskSCCLonghorn" Query="$szWindowsVersion='6.0' and ('%CMSSHAREDSTORAGE%'='True' or $fClusterStorageTypeNotCCR) and $fQuorumLHSharedDisk" Error="Warning" Text="偵測到單一副本叢集組態的共用磁碟仲裁。建議使用具有見證機能的節點多數集。" Task="PrecheckInstall,PrecheckDR" Role="ClusterMailbox" AlwaysEvaluate="True"/>
						<Rule Name="fSharedDiskWitnessCCRLonghorn" Query="$szWindowsVersion='6.0' and not('%CMSSHAREDSTORAGE%'='True' or $fClusterStorageTypeNotCCR) and $fQuorumLHMajoritySharedDiskWitness" Error="Warning" Text="安裝叢集連續複寫時，偵測到具有共用磁碟見證機能的節點多數集。建議使用具有檔案共用見證機能的節點多數集。" Task="PrecheckInstall,PrecheckDR" Role="ClusterMailbox" AlwaysEvaluate="True"/>
						<Rule Name="fMultiSiteCluster" Query="count($szNodeSiteName) &gt;1" Error="Error" Text="此叢集跨越多個 Active Directory 站台。無法安裝 Exchange Server 2007。已偵測到 Active Directory 站台: {1}" P1="join(',', $szNodeSiteName)" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR" Role="Mailbox"/>

						<!-- // [116170] Need to find if this is a valid passive node uninstall scenario -->
						<Rule Name="fPassiveUninstallNoCMSPresent" Query="$fPassiveUninstallNoCMSPresentKey" AlwaysEvaluate="True"/>
						<Rule Name="fPassiveUninstallNoCMSPresentKey" Query="not(contains('%SETUPROLES%','ClusterMailbox')) and count($fLocalExchangeStoreResource)=0" Task="PrecheckUninstall" Role="Mailbox" AlwaysEvaluate="True"/>
						<!-- // [93427] For CCR configurations, only one CMS per cluster is permitted -->
						<Rule Name="fOnlyOneCCRCMSAllowed" Query="('%CMSSHAREDSTORAGE%'='False') and count($szExchangeStoreResource) &gt;0" Error="Error" Text="叢集中只能有一個叢集連續複寫伺服器。" Task="PrecheckInstall" Role="ClusterMailbox" GUID="71d79a54-1cc9-4cff-a53b-538d5c3d15d5"/>
					</Setting>

					<!-- // Obtain a list of all nodes in the cluster and enumerate basic information about the name and OS version -->
					<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Cluster\Nodes" Key4=".*">
						<Setting Key1="NodeName" Substitution="NODENAME">
							<Rule Name="szNodeName" Query="$."/>
							<Rule Name="fCMSNameUsedbyNode" Query="$.!='' and lower-case($.)=lower-case('%CMSNAME%')" Error="Error" Text="指定的叢集信箱伺服器名稱 '{2}' 已用作叢集節點的名稱。請重新啟動安裝程式，並對叢集信箱伺服器指定不同的名稱。" S2="%CMSNAME%" Task="PrecheckInstall" Role="ClusterMailbox"/>
						</Setting>
						<Setting Key1="BuildNumber"/>
						<Setting Key1="CSDVersion"/>
						<Setting Key1="__KEYPATH" Substitution="NODEKEY"/>

						<!-- // For each Exchange node in the cluster, check that the registry is accessible -->
						<Object Type="Registry" Key1="%PREREQSERVER%" Key3="%NODEKEY%\Parameters">
							<Setting Key1="MSExchange_NodeState" Substitution="NODESTATE"/>
							<Object Type="If" Key1="'%NODESTATE%'!='0'">
								<Object Type="Registry" Key1="%NODENAME%" Key3="Software\Microsoft\Windows NT\CurrentVersion">
									<Rule Name="fRedundantMachineUnreachable" Query="count(../Exception) &gt; 0" Error="Error" Text="無法遠端存取伺服器 {3} 的登錄。當您執行 Exchange Server 2007 安裝程式時，叢集中所有正在執行 Exchange 2007 的節點都必須可以使用。錯誤: {1}" P1="../Exception/@Message" S3="%NODENAME%" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR" Role="Mailbox,ClusterMailbox" GUID="b000c131-66af-4530-9115-9d04c45f9004"/>
								</Object>
							</Object>
						</Object>

						<!-- // For each node in the cluster, perform the following actions -->
						<!-- // Verify that the node is reachable -->
						<Object Type="Registry" Key1="%NODENAME%" Key3="Software\Microsoft\Windows NT\CurrentVersion">
							<Rule Name="szNodeRegConnectException" Query="string(../Exception/@Message)" Error="Warning" Text="安裝程式無法連絡叢集節點 '{2}'。請確認此節點運作正常。錯誤: {1}。" P1="string(../Exception/@Message)" S2="%NODENAME%"/>
							<Setting Key1="CurrentVersion">
								<Rule Name="szWindowsVersionNode" Query="$."/>
							</Setting>
							<Setting Key1="SystemRoot" Substitution="WINDOWSPATH" SubstitutionFormat="\\----\\"/>

							<!-- // Verify that other nodes in the cluster have the file share witness fix if this is a CCR installation -->
							<Object Type="WMI" Key1="%NODENAME%" Key3="CIM_Datafile" Key4="name = '%WINDOWSPATH%\\Cluster\\clusres.dll'">
								<Setting Key1="Version">
									<Rule Name="fNodeClusRes2736NotInstalled" Query="$fE12 and lower-case($szNodeName) != lower-case($szLocalNodeName) and ($iPhysicalNodesInCluster=2) and count($szMNSFileShare) &gt;0 and ($szWindowsVersionNode='5.2') and substring($szFileVersionClusRes,10,4)&lt;2736 and ('%CLEARLOCALCMS%'='False')" Error="Error" Text="叢集節點 '{2}' 需要更新。請如 Microsoft 知識庫文章 921181 (http://go.microsoft.com/fwlink/?LinkId=69785) 中所述安裝軟體更新。" S2="%NODENAME%" Role="ClusterMailbox" GUID="bdcf740d-1940-467b-a41d-5eac607d1dcc"/>
								</Setting>
							</Object>

							<!-- // Verify that Exchange binaries are in the same path on all nodes in the cluster. If a node doesn't have Exchange installed, this check will be skipped -->
							<Object Type="Registry" Key1="%NODENAME%" Key3="Software\Microsoft\Exchange\Setup">
								<Setting Key1="Services">
									<Rule Name="fTargetPathMismatch" Query="lower-case($.) != lower-case('%TARGETDIR%')" Error="Error" Text="指定的目標路徑 ({1}) 與叢集節點 '{2}' 上的現有 Exchange 安裝路徑 ({5}) 不符。" S1="%TARGETDIR%" P2="$szNodeName" P5="$." Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR" Role="Mailbox" GUID="520af7a8-3c85-4cd3-b673-79e3897dcb48"/>
								</Setting>
							</Object>

							<!-- // Retrieve the version and build of Exchange on the node -->
							<Object Type="Registry" Key1="%NODENAME%" Key3="Software\Microsoft\Exchange\v8.0\MailboxRole">
								<Setting Key1="ConfiguredVersion">
									<Rule Name="szNodeMailboxInstallation" Query="$."/>
								</Setting>
							</Object>
						</Object>

						<!-- // [113745] Verify all nodes belong to a single site -->
						<Object Type="DsGet" Key1="SiteName" Key2="%NODENAME%">
							<Setting Key1="SiteName" Substitution="NODESITENAME" SubstitutionFormat="LowerCase"/>
							<Object Type="Cache" Name="NodeSite" Key1="Add" Key2="NodeSite" Key3="%NODESITENAME%" Display="Hide"/>
						</Object>
					</Object>

					<Object Type="Cache" Name="NodeSite" Key1="Dump" Key2="NodeSite" Display="Hide">
						<Setting Key1="NodeSiteName">
							<Rule Name="szNodeSiteName" Query="$."/>
						</Setting>
					</Object>

					<!-- // Enumerate cluster network information -->
					<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Cluster\Networks" Key4=".*">
						<Setting Key1="Name">
							<Rule Name="szClusNetworkName" Query="$."/>
						</Setting>
					</Object>

					<!-- // Enumerate existing Exchange Store resources in the cluster -->
					<Object Type="WMI" Key1="%PREREQSERVER%" Key2="root\MSCluster" Key3="MSCluster_Resource" Key4="Type='Microsoft Exchange Information Store'">
						<Setting Key1="Name">
							<Rule Name="szExchangeStoreResource" Query="$."/>
						</Setting>
					</Object>

					<!-- // [114248][114532] Find the quorum type -->
					<Object Type="WMI" Key1="%PREREQSERVER%" Key2="root\MSCluster" Key3="MSCluster_Cluster" Key5="*">
						<Setting Key1="Name"/>
						<Setting Key1="QuorumType">
							<Rule Name="fQuorumMajority" Query="$.='Majority'"/>
						</Setting>
					</Object>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key2="root\MSCluster" Key3="MSCluster_ClusterToQuorumResource">
						<Setting Key1="GroupComponent">
							<Rule Name="fQuorumLHMajorityWithoutWitness" Query="$fQuorumMajority and ($szQuorumResource='' or count($szQuorumResource)=0)" AlwaysEvaluate="True"/>
							<Rule Name="fQuorumLHMajoritySharedDiskWitness" Query="$fQuorumMajority and $fQuorumResourcePhysicalDisk"/>
							<Rule Name="fQuorumLHSharedDisk" Query="not($fQuorumMajority) and $fQuorumResourcePhysicalDisk"/>
						</Setting>
						<Setting Key1="PartComponent" Substitution="QUORUMRESOURCE" Format="^MSCluster_Resource.Name=&quot;(?'resource'.*)&quot;$----${resource}">
							<Rule Name="szQuorumResource" Query="$."/>
						</Setting>
						<Object Type="WMI" Key1="%PREREQSERVER%" Key2="root\MSCluster" Key3="MSCluster_Resource" Key4="Name='%QUORUMRESOURCE%'">
							<Setting Key1="Name"/>
							<Setting Key1="Type">
								<Rule Name="fQuorumWin2003MNS" Query="$. ='Majority Node Set'"/>
								<Rule Name="fQuorumResourcePhysicalDisk" Query="$.= 'Physical Disk'"/>
							</Setting>
						</Object>
					</Object>

					<!-- // Retrieve the physical computer name (that is, the physical node name) -->
					<Object Type="GetComputerNameEx" Name="Node">
						<Setting Key1="ComputerNamePhysicalNetBIOS" Substitution="LOCALNODENAME">
							<Rule Name="szLocalNodeName" Query="$."/>
						</Setting>

						<!-- // Enumerate the list of cluster resources homed on the local node; this includes online and offline resources -->
						<Object Type="WMI" Key1="%PREREQSERVER%" Key2="root\MSCluster" Key3="MSCluster_NodeToActiveResource" Key4="GroupComponent='MSCluster_Node.Name=&quot;%LOCALNODENAME%&quot;'">
							<Setting Key1="PartComponent" SubstitutionFormat="^MSCluster_Resource.Name=&quot;(?'resource'.*)&quot;$----${resource}" Substitution="RESOURCENAME"/>

							<!-- // Enumerate the state of the resources homed on the local node -->
							<!-- // 1 = Initializing; 2 = Online; 3 = Offline; 4 = Failed; 5 = Pending; 6 = Online Pending; 7 = Offline Pending; 8 = Unknown -->
							<Object Type="WMI" Key1="%PREREQSERVER%" Key2="root\MSCluster" Key3="MSCluster_Resource" Key4="Name='%RESOURCENAME%'">
								<Setting Key1="Name"/>
								<Setting Key1="State">
									<Rule Name="fClusterResourceOnline" Query="($.=2 or $.=5 or $.=6 or $.=7 or $.=8) and not($fLocalPhysicalDiskResource or $fLocalCRHNIPAddressResource or $fLocalCRHNNetWorkNameResource)"/>
									<Rule Name="fLocalExchangeStoreResourceOnline" Query="($.=2 or $.=5 or $.=6 or $.=7 or $.=8) and $fLocalExchangeStoreResource"/>
									<Rule Name="fClusterResourceOffline" Query="$.=3 or $.=4 and not($fLocalCRHNIPAddressResource or $fLocalCRHNNetWorkNameResource)"/>
								</Setting>
								<Setting Key1="Type">
									<Rule Name="fLocalExchangeStoreResource" Query="$.='Microsoft Exchange Information Store'"/>
									<Rule Name="fLocalPhysicalDiskResource" Query="$.='Physical Disk'"/>
									<Rule Name="fLocalCRHNIPAddressResource" Query="$.='IP Address' and count($szClusterResourcePossibleOwnerNode)=1 and $fLocalNodePossibleOwner"/>
									<Rule Name="fLocalCRHNNetWorkNameResource" Query="$.='Network Name' and count($szClusterResourcePossibleOwnerNode)=1 and $fLocalNodePossibleOwner"/>
								</Setting>
							</Object>
							<Object Type="WMI" Key1="%PREREQSERVER%" Key2="root\MSCluster" Key3="MSCluster_ResourceToPossibleOwner" Key4="GroupComponent='MSCluster_Resource.Name=&quot;%RESOURCENAME%&quot;'">
								<Setting Key1="PartComponent" Format="^MSCluster_Node.Name=&quot;(?'node'.*)&quot;$----${node}">
									<Rule Name="szClusterResourcePossibleOwnerNode" Query="$."/>
									<Rule Name="fLocalNodePossibleOwner" Query="upper-case('%LOCALNODENAME%')=upper-case($.)"/>
								</Setting>
							</Object>
						</Object>
					</Object>

					<!-- // Find the MNSFileShare path for the Majority Node Set resource using registry search. File share witness only applies to (precisely) 2 node clusters -->
					<!-- // First of all we'll attempt to find the Majority Node Set resource (which will hiding under a dynamically-generated GUID) -->
					<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Cluster\Resources" Key4=".*" Key5="OneLevel">
						<Setting Key1="__KEYPATH" Substitution="KEYPATH"/>
						<Setting Key1="Type" Substitution="RESOURCENAME"/>

						<!-- // Now we'll look under the Parameters subkey to find the MNSFileShare REG_SZ -->
						<Object Type="If" Key1="'%RESOURCENAME%'='Majority Node Set'">
							<Object Type="Registry" Key1="%PREREQSERVER%" Key3="%KEYPATH%\Parameters">
								<Setting Key1="MNSFileShare" Substitution="MNSFILESHARE">
									<Rule Name="szMNSFileShare" Query="$."/>
									<Rule Name="fMNSFileShareNotUNC" Query="($iPhysicalNodesInCluster=2) and not(starts-with($.,'\\'))" Error="Error" Text="'MNSFileShare' 路徑無效。值必須是完整的 UNC 路徑 (如 \\server\sharename)。目前的值: {1}。" P1="$." Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR" GUID="5ce8f982-e75a-412e-ba15-0994659b2c68"/>
									<Rule Name="fFileShareWitnessNotInEffect" Query="($iPhysicalNodesInCluster!=2)" Error="Warning" Text="已有 'MNSFileShare' 路徑，但是叢集中有 {9} 個節點。具有檔案共用見證機能的多數節點集只能與兩個節點叢集搭配運作。" P9="$iPhysicalNodesInCluster" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR"/>

									<!-- // The following rule attempts to catch the case where you are installing a passive node as the first node in the cluster and intend to perform CCR -->
									<Rule Name="fMailboxClusRes2736NotInstalled" Query="$fE12 and ($iPhysicalNodesInCluster=2) and ($szWindowsVersion='5.2') and substring($szFileVersionClusRes,10,4)&lt;2736" Error="Error" Text="此叢集節點需要更新。請如 Microsoft 知識庫文章 921181 (http://go.microsoft.com/fwlink/?LinkId=69785) 中所述安裝軟體更新。" Role="Mailbox" GUID="bdcf740d-1940-467b-a41d-5eac607d1dcc"/>
								</Setting>

								<!-- // Verify that the MNSFileShare path actually exists -->
								<Object Type="MonadCommand" Key1="test-path '%MNSFILESHARE%'">
									<Setting Key1="__THIS">
										<Rule Name="fMNSFileShareDoesNotExist" Query="false() and ($iPhysicalNodesInCluster=2) and $.='False'" Error="Warning" Text="無法驗證 'MNSFileShare' 路徑。這可能是因為目前帳戶無法存取檔案共用。請檢查路徑 '{1}' 存在，且可透過叢集服務帳戶進行存取。" S1="%MNSFILESHARE%" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR"/>
									</Setting>
								</Object>
							</Object>
						</Object>
					</Object>

					<!-- // Verify that the CMSDATAPATH actually exists. It's good practice to design the disk layout and folders up-front -->
					<!-- // In SCC clusters, the CMSDATAPATH needs to reside on shared storage -->
					<!-- // In CCR clusters, it's okay for CMSDATAPATH to reside on a local disk -->
					<Object Type="MonadCommand" Key1="test-path '%CMSDATAPATH%'" Role="ClusterMailbox" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR">
						<Setting Key1="__THIS" Substitution="CMSDATAPATHEXISTS">
							<Rule Name="fCMSDataPathDoesNotExist" Query="$.='False'" Error="Warning" Text="資料路徑 '{1}' 不存在。應該先建立此資料夾，再繼續進行安裝。" S1="%CMSDATAPATH%"/>

							<!-- // Verify that the CMSDATAPATH is not a UNC path -->
							<Rule Name="fCMSDataPathIsUNC" Query="starts-with('%CMSDATAPATH%', '\\')" Error="Error" Text="資料路徑 '{1}' 無效。必須使用磁碟機代號指派指定路徑 (例如 s:\data)" S1="%CMSDATAPATH%" GUID="0ad84ad7-d5d7-40e2-9f48-b7ba82ee0ef7"/>
						</Setting>

						<!-- If the CMSDATAPATH is accessible, we should perform some basic tests on the filesystem. First of all, we need to escape the backslashes in the path before we can call WMI -->
						<Object Type="If" Key1="'%CMSDATAPATHEXISTS%'='True'">
							<Setting Key1="string('%CMSDATAPATH%')" Substitution="CMSDATAPATHESCAPED" SubstitutionFormat="\\----\\"/>

							<!-- // Use WMI to verify the file system attributes of the CMSDATAPATH -->
							<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Directory" Key4="name='%CMSDATAPATHESCAPED%'">
								<Setting Key1="FSName">
									<Rule Name="fCMSDataPathNonNTFS" Query="$.!='NTFS'" Error="Error" Text="資料路徑 '{1}' 位在非 NTFS 磁碟區上。必須先將該磁碟區轉換成 NTFS，安裝程式才能繼續。" S1="%CMSDATAPATH%" GUID="85028517-a09f-4d67-ad2f-07038e7dd316"/>
								</Setting>
								<!-- // Verify that the volume is writeable. This won't catch the case where the installer has been restricted through file permissions -->
								<Setting Key1="Writeable">
									<Rule Name="fCMSDataPathNotWriteable" Query="$.='False'" Error="Error" Text="無法寫入資料路徑 '{1}'。資料庫必須位於可寫入的儲存媒體。" S1="%CMSDATAPATH%" GUID="b9c2f5ee-f7d0-4d98-adfd-790e0f86c1a7"/>
								</Setting>
							</Object>
							<!-- // [104102] Detect whether CMSDATAPATH is located on a volume mount point -->
							<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Volume" Key4="DriveLetter IS NULL">
								<Setting Key1="Name">
									<Rule Name="fCMSDataPathOnMountPoint" Query="string-length($.) &gt;3 and substring($., 2,1)=':' and starts-with(upper-case(replace('%CMSDATAPATH%', '\\*$', '\\')), upper-case($.))"/>
								</Setting>
							</Object>
							<Object Type="Volume" Key2="%CMSDATAPATH%">
								<Setting Key1="IOCTL_VOLUME_IS_CLUSTERED">
									<Rule Name="fClusteredCmsDataPath" Query="$.=0"/>
								</Setting>
							</Object>
						</Object>
					</Object>
				</Object>

				<!-- // Call internal CMSO validation logic to verify that cluster tasks will succeed -->
				<!-- // For new installs -->
				<Object Type="MonadCommand" Key1="New-ClusteredMailboxServerObjects -DomainController:'%DOMAINCONTROLLER%' -Name:'%CMSNAME%' -IPAddress:%CMSIPADDRESS% -IPv4Addresses:%CMSIPV4ADDRESSES% -IPv4Networks:%CMSIPV4NETWORKS% -IPv6Networks:%CMSIPV6NETWORKS% -SharedStorage:$%CMSSHAREDSTORAGE% -DataPath:'%CMSDATAPATH%' -whatif" Role="ClusterMailbox" Task="PrecheckInstall">
					<Rule Name="szNewClusteredMailboxServerObjectsException" Query="../Exception/@Message" Error="Error" Text="無法繼續叢集信箱伺服器安裝: {1}" P1="../Exception/@Message"/>
				</Object>
				<!-- // For disaster recovery installs -->
				<Object Type="MonadCommand" Key1="New-ClusteredMailboxServerObjects -DomainController:'%DOMAINCONTROLLER%' -Name:'%CMSNAME%' -IPAddress:%CMSIPADDRESS% -IPv4Addresses:%CMSIPV4ADDRESSES% -IPv4Networks:%CMSIPV4NETWORKS% -IPv6Networks:%CMSIPV6NETWORKS% -SharedStorage:$%CMSSHAREDSTORAGE% -DataPath:'%CMSDATAPATH%' -DisasterRecovery:$true -whatif" Role="ClusterMailbox" Task="PrecheckDR">
					<Rule Name="szNewDRClusteredMailboxServerObjectsException" Query="../Exception/@Message" Error="Error" Text="無法繼續叢集信箱伺服器安裝: {1}" P1="../Exception/@Message"/>
				</Object>
				<!-- // For build to build upgrades - TODO: Disabled because further testing is required -->
				<Object Type="MonadCommand" Key1="Upgrade-ClusteredMailboxServerObjects -DomainController:'%DOMAINCONTROLLER%' -Name:'%CMSNAME%' -IPAddress:%CMSIPADDRESS% -IPv4Addresses:%CMSIPV4ADDRESSES% -IPv4Networks:%CMSIPV4NETWORKS% -IPv6Networks:%CMSIPV6NETWORKS% -SharedStorage:$%CMSSHAREDSTORAGE% -DataPath:'%CMSDATAPATH%' -whatif" Role="ClusterMailbox" Task="PrecheckUpgrade">
					<Rule Name="szUpgradeClusteredMailboxServerObjectsException" Query="false() and ../Exception/@Message" Error="Error" Text="無法繼續叢集信箱伺服器安裝: {1}" P1="../Exception/@Message"/>
				</Object>
				<!-- // For CMS uninstalls -->
				<Object Type="MonadCommand" Key1="Remove-ClusteredMailboxServerObjects -DomainController:'%DOMAINCONTROLLER%' -Identity:'%CMSNAME%' -whatif" Role="ClusterMailbox" Task="PrecheckUninstall">
					<Rule Name="szRemoveClusteredMailboxServerObjectsException" Query="('%CLEARLOCALCMS%'!='True') and ../Exception/@Message" Error="Error" Text="無法繼續移除叢集信箱伺服器: {1}" P1="../Exception/@Message"/>
				</Object>
				<!-- // This command is run when removing mailbox bits from the machine (passive uninstall). It's essential that the task checks if it's a cluster node before doing anything else. -->
				<Object Type="MonadCommand" Key1="set-ClusterPassiveNodeDefaults -InstallMode:uninstall -DomainController:'%DOMAINCONTROLLER%' -ActiveCmsUninstall:('%CMSACTIVEUNINSTALL%' -eq 'true') -whatif" Role="Mailbox" Task="PrecheckUninstall">
					<Rule Name="szSetClusterPassiveNodeDefaultsException" Query="../Exception/@Message" Error="Error" Text="無法繼續移除叢集信箱伺服器: {1}" P1="../Exception/@Message"/>
				</Object>
				<!-- // For clear local cms - Do verification at the task level -->
				<Object Type="MonadCommand" Key1="Remove-ClusteredMailboxServerObjects -DomainController:'%DOMAINCONTROLLER%' -Identity:'%CMSNAME%' -ClearLocalCMS -whatif" Role="ClusterMailbox" Task="PrecheckUninstall">
					<Rule Name="szClearClusteredMailboxServerObjectsException" Query="('%CLEARLOCALCMS%'='True') and ../Exception/@Message" Error="Error" Text="無法繼續清除本機 CMS: {1}" P1="../Exception/@Message"/>
				</Object>

				<!-- Enumerate network information -->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_NetworkAdapter" Key4="AdapterTypeID='0'" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR">
					<Setting Key1="Caption" Substitution="NICCAPTION"/>
					<Object Type="WMI" Name="Caption" Key1="%PREREQSERVER%" Key3="Win32_NetworkAdapterConfiguration" Key4="Caption='%NICCAPTION%'">
						<Setting Key1="DHCPEnabled">
							<Rule Name="fDHCPEnabled" Query="$.='True'"/>
						</Setting>
						<Setting Key1="IPAddress">
							<Rule Name="szIPv4Address" Query="$.[matches(., '^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*$')]"/>
							<Rule Name="fIPv6Enabled" Query="count($.[contains(., ':')]) &gt;0"/>
						</Setting>
						<Setting Key1="DNSServerSearchOrder" Substitution="DNSADDRESS" SubstitutionFormat="^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*$----$1;"/>
						<Object Type="Cache" Name="DNSOrder" Key1="Add" Key2="DNSAddr-%PREREQSERVER%" Key3="%DNSADDRESS%" Display="Hide">
							<Setting Key1="DNSAddr" Substitution="PRIMARYDNS" SubstitutionFormat="^(.*?);.*----$1"/>
							<Object Type="Port" Name="Primary DNS Alive" Key1="%PRIMARYDNS%">
								<Setting Key1="53">
									<Rule Name="fPrimaryDNSTestFailed" Query="not ($.[2]='53 Available' or $fIPv6Enabled)" Error="Warning" Text="安裝程式無法使用 TCP 通訊埠 53 連絡主要 DNS 伺服器 ({3})。請檢查 DNS 伺服器的 IP 位址是否正確，以及是否可存取 DNS 伺服器。" S3="%PRIMARYDNS%" GUID="2fcc99e5-6c19-4ad0-8c7a-7b77dbc3fe1b" AlwaysEvaluate="True"/>
								</Setting>
							</Object>
							<Object Type="GetComputerNameEx" Name="Local computer">
								<Setting Key1="ComputerNameDnsFullyQualified" Substitution="LOCALFQDN"/>
								<Object Type="DNS" Name="DNS" Key1="%PRIMARYDNS%" Key2="%LOCALFQDN%">
									<Setting Key1="A">
										<Rule Name="fHostRecordMissing" Query="$.[4]='DNS Query Result = '" Error="Warning" Text="安裝程式無法確認伺服器 {3} 上的 DNS 資料庫中有此電腦的 'Host' (A) 記錄存在。" S3="%PRIMARYDNS%" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox" GUID="ecf66997-d80e-4d0f-9e6a-1a942c92a8d9"/>
									</Setting>
									<Object Type="Cache" Name="DNSOrder" Key1="Delete" Key2="DNSAddr-%PREREQSERVER%" Display="Hide"/>
								</Object>
							</Object>
						</Object>
					</Object>
				</Object>

				<!-- Find out if we're going to hit a problem with upgrades of the search service on Mailbox servers -->
				<Object Type="MonadCommand" Key1="test-MSFTEInstall" Task="PrecheckUpgrade" Role="Mailbox">
					<Setting Key1="MSFTEInstallUserName" Substitution="MSFTEUSER"/>
					<Setting Key1="CanCurrentUserUpgrade">
						<Rule Name="fMSFTEUpgradeIssue" Query="$.='False'" Error="Error" Text="Microsoft Search 服務無法由登入的使用者升級。請以使用者 '{1}' 的身份登入，然後重試升級作業。" S1="%MSFTEUSER%"/>
					</Setting>
				</Object>

				<!-- // [122242] Check whether the msExchResourcePropertySchema value is invalid -->
				<Object Type="MonadCommand" Key1="Get-ResourceConfig | Set-ResourceConfig -whatif" Task="PrecheckUpgrade" Role="Global">
					<Rule Name="fResourcePropertySchemaException" Query="../Exception/@Message" Error="Error" Text="安裝程式無法繼續升級，因為資源內容包含無效的資料: {1}" P1="../Exception/@Message"/>
				</Object>

				<!-- Find out if there are any messages in the queues -->
				<Object Type="MonadCommand" Key1="get-Queue" Task="PrecheckUninstall" Role="Bridgehead,Gateway">
					<Setting Key1="Identity" Substitution="QUEUENAME"/>
					<Setting Key1="MessageCount">
						<Rule Name="fMessagesInQueue" Query="$. &gt;0" Error="Warning" Text="{1}' 佇列中有 {9} 封等待的郵件。繼續移除伺服器角色可能會導致資料遺失。" S1="%QUEUENAME%" P9="$." AlwaysEvaluate="True" Role="Bridgehead,Gateway" GUID="b9601fab-3a58-4b55-8f07-cf874dd122a2"/>
					</Setting>
				</Object>

				<!-- Test ADAM port availability for Gateway installs -->
				<Object Type="Port" Name="ADAM Port" Key1="%PREREQSERVER%" Task="PrecheckInstall" Role="Gateway">
					<Setting Key1="%ADAMPORT%">
						<Rule Name="fADAMPortAlreadyInUse" Query="not(contains($.[2],'Not Available'))" Error="Error" Text="Active Directory 應用程式模式 (ADAM) 服務執行個體安裝無法繼續。通訊埠 {7} 已在使用中。" S7="%ADAMPORT%" GUID="00dbc109-989b-4894-a36d-017e46fcc2ea"/>
					</Setting>
					<Object Type="Port" Name="ADAM SSL Port" Key1="%PREREQSERVER%">
						<Setting Key1="%ADAMSSLPORT%">
							<Rule Name="fADAMSSLPortAlreadyInUse" Query="not(contains($.[2],'Not Available'))" Error="Error" Text="Active Directory 應用程式模式 (ADAM) 服務執行個體安裝無法繼續。SSL 通訊埠 {7} 已在使用中。" S7="%ADAMSSLPORT%" GUID="00dbc109-989b-4894-a36d-017e46fcc2ea"/>
						</Setting>
					</Object>
				</Object>

				<!-- Test the target folder to see if it's compressed -->
				<Object Type="If" Name="Edge Target Path" Key1="true()" Task="PrecheckInstall,PrecheckUpgrade" Role="Gateway">
					<Setting Key1="string('%TARGETDIR%')" Key2="1" Substitution="TARGETPATH" Format="^(.:\\.*?)\\.*$----$1" SubstitutionFormat="\\----\\"/>
					<Setting Key1="string('%TARGETDIR%')" Key2="2" Substitution="TARGETDISPLAY" SubstitutionFormat="^(.:\\.*?)\\.*$----$1"/>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Directory" Key4="name='%TARGETPATH%'">
						<Setting Key1="Compressed">
							<Rule Name="fTargetPathCompressed" Query="$.='True'" Error="Error" Text="目錄路徑是壓縮的。請停用 '{5}' 的壓縮，並再次嘗試進行安裝程序。" S5="%TARGETDISPLAY%" GUID="ed7d0f7f-2629-4952-9f2e-49f5f68f9048"/>
						</Setting>
					</Object>
				</Object>

				<!-- Test for an existing ADAM directory. It's not possible to clean install into an existing directory -->
				<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\Microsoft\Exchange\v8.0\EdgeTransportRole\AdamSettings\MsExchange" Role="Gateway" Task="PrecheckInstall">
					<Setting Key1="DataFilesPath" Substitution="ADAMDATAPATH" SubstitutionFormat="\\----\\">
						<Rule Name="fADAMDataPathExists" Query="count($szADAMDataPath)&gt;0" Error="Error" Text="在 '{5}' 中找到現有的 Active Directory 應用程式模式 (ADAM) 安裝。必須移除此資料夾，安裝程式才能繼續。" P5="$szADAMDataPath" GUID="49e6c170-7d1c-4cda-b118-0c454d6277eb"/>
					</Setting>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Directory" Key4="name='%ADAMDATAPATH%'">
						<Setting Key1="Name">
							<Rule Name="szADAMDataPath" Query="$."/>
						</Setting>
					</Object>
				</Object>

				<!-- Test the target folder to see if old database files exist in the first and/or second storage groups -->
				<Object Type="Group" Name="Mailbox Target Path" Task="PrecheckInstall" Role="Mailbox,ClusterMailbox">
					<Setting Key1="Existing file check">
						<Rule Name="fFirstSGFilesExist" Query="count($szFirstSGFiles) &gt;0" Error="Error" Text="{5}' 中含有資料庫檔案。必須先加以移除，安裝程式才能繼續。" S5="%TARGETDIR%\Mailbox\First Storage Group" GUID="3c7fec71-7cd2-4bcd-b4be-814b8d19bcb4"/>
						<Rule Name="fClusterFirstSGFilesExist" Query="count($szClusterFirstSGFiles) &gt;0" Error="Error" Text="{5}' 中含有資料庫檔案。必須先加以移除，安裝程式才能繼續。" S5="%CMSDATAPATH%\First Storage Group" Role="ClusterMailbox" GUID="3c7fec71-7cd2-4bcd-b4be-814b8d19bcb4"/>
						<Rule Name="fSecondSGFilesExist" Query="count($szSecondSGFiles) &gt;0" Error="Error" Text="{5}' 中含有資料庫檔案。必須先加以移除，安裝程式才能繼續。" S5="%TARGETDIR%\Mailbox\Second Storage Group" GUID="3c7fec71-7cd2-4bcd-b4be-814b8d19bcb4"/>
						<Rule Name="fClusterSecondSGFilesExist" Query="count($szClusterSecondSGFiles) &gt;0" Error="Error" Text="{5}' 中含有資料庫檔案。必須先加以移除，安裝程式才能繼續。" S5="%CMSDATAPATH%\Second Storage Group" Role="ClusterMailbox" GUID="3c7fec71-7cd2-4bcd-b4be-814b8d19bcb4"/>
					</Setting>
					<Object Type="File" Key1="%PREREQSERVER%" Key2="%TARGETDIR%\Mailbox\First Storage Group" Key3="*.*" Key5="All">
						<Setting Key1="FullName" Key2="*.*">
							<Rule Name="szFirstSGFiles" Query="$."/>
						</Setting>
					</Object>
					<!-- Check the cluster case -->
					<Object Type="Group" Key2="%CMSDATAPATH%" Role="ClusterMailbox">
						<Setting Key1="IOCTL_VOLUME_IS_CLUSTERED">
							<Rule Name="fCMSDataPathNotClustered" Query="false() and $.!=0 and '%CMSSHAREDSTORAGE%'='True'"/>
						</Setting>
					</Object>
					<Object Type="File" Key1="%PREREQSERVER%" Key2="%CMSDATAPATH%\First Storage Group" Key3="*.*" Key5="All" Role="ClusterMailbox">
						<Setting Key1="FullName" Key2="*.*">
							<Rule Name="szClusterFirstSGFiles" Query="$."/>
						</Setting>
					</Object>
					<!-- Only test the Second Storage Group if the Mailbox role is being installed with a Public Folder database -->
					<Object Type="If" Key1="'%CREATEPUBLICDB%'='true'">
						<Object Type="File" Key1="%PREREQSERVER%" Key2="%TARGETDIR%\Mailbox\Second Storage Group" Key3="*.*" Key5="All">
							<Setting Key1="FullName" Key2="*.*">
								<Rule Name="szSecondSGFiles" Query="$."/>
							</Setting>
						</Object>
					</Object>
					<Object Type="If" Key1="'%CREATEPUBLICDB%'='true'">
						<Object Type="File" Key1="%PREREQSERVER%" Key2="%CMSDATAPATH%\Second Storage Group" Key3="*.*" Key5="All" Role="ClusterMailbox">
							<Setting Key1="FullName" Key2="*.*">
								<Rule Name="szClusterSecondSGFiles" Query="$."/>
							</Setting>
						</Object>
					</Object>
				</Object>

				<!-- Find out if it's okay to uninstall Unified Messaging -->
				<Object Type="MonadCommand" Key1="Remove-UMPublishingPoint -whatif" Role="UnifiedMessaging" Task="PrecheckUninstall">
					<Rule Name="szRemoveUMPublishingPointException" Query="../Exception/@Message"/>
				</Object>

				<!-- // [91374] Find out if an Edge Subscription still exists -->
				<Object Type="MonadCommand" Key1="get-EdgeSubscription" Task="PrecheckUninstall" Role="Gateway">
					<Setting Key1="Identity">
						<Rule Name="fEdgeSubscriptionExists" Query="upper-case($.)=upper-case($szComputerNameNetBIOS)" Error="Error" Text="從這個伺服器解除安裝 Edge Transport role 之前，需要移除 Edge 訂閱。從 Exchange 管理命令介面執行 'Remove-EdgeSubscription'。" GUID="a72e3f1f-3d72-4869-9790-e26b59955844"/>
					</Setting>
				</Object>

				<!-- // [104025] Verify that help file is not opened by HH.exe before allowing upgrade to proceed -->
				<Object Type="If" Key1="'%TARGETDIR%'!=''" Task="PrecheckUpgrade" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools">
					<Setting Key1="string('%TARGETDIR%')" Substitution="TARGETPATH" SubstitutionFormat="\\----\\">
						<Rule Name="fHelpFileOpened" Query="count($szExchHelpAccessMask)=0 or $szExchHelpAccessMask=''" Error="Error" Text="安裝程式無法繼續升級，因為已開啟 '{1}'。關閉檔案並重新啟動安裝程式。" S1="%TARGETDIR%\bin\ExchHelp.chm" GUID="ec3e58ba-25e6-4857-a1ed-e7089a79e3e9" AlwaysEvaluate="True"/>
					</Setting>
					<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_DataFile" Key4="name = '%TARGETPATH%\\bin\\ExchHelp.chm'">
						<Setting Key1="AccessMask">
							<Rule Name="szExchHelpAccessMask" Query="$."/>
						</Setting>
					</Object>
				</Object>

				<!-- // Verify that all non-core Exchange-related processes are closed before allowing upgrade to proceed -->
				<!-- // We also don't check ClusterMailbox because that shouldn't have file implications, and %TARGETDIR% won't be populated anyway -->
				<!-- // Use Monad to retrieve the list of processes that have Exchange files open -->
				<!-- // We ignore all core Exchange processes, IIS, cluster service and MOM because Setup will close these automatically -->
				<Object Type="MonadCommand" Key1="get-process | where { $_.ProcessName -notmatch '^(wmiprvse|clussvc|resrcmon|rhs|MOM|w3wp|msftesql|msftefd|EdgeTransport|EdgeCredentialSvc|mad|store|SpeechService|umservice|UMWorkerProcess|TranscodingService|SESWorker|ExBPA|Microsoft\.Exchange\..*|MSExchange.*)$' } | where { $_.Modules | where {$_.FileName -like '%TARGETDIR%*' } }" Task="PrecheckUpgrade" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools">
					<Setting Key1="ProcessName">
						<Rule Name="fProcessNeedsToBeClosed" Query="$." Error="Error" Text="因為 '{1}' ({7}) 處理程序 (識別碼: {9}) 有開啟檔案，所以安裝程式無法繼續進行升級。請關閉該處理程序，並重新啟動安裝程式。" P1="$." P7="$szOpenProcessTitle" P9="$szOpenProcessId"/>
					</Setting>
					<Setting Key1="Id">
						<Rule Name="szOpenProcessId" Query="$."/>
					</Setting>
					<Setting Key1="MainWindowTitle">
						<Rule Name="szOpenProcessTitle" Query="$."/>
					</Setting>
					<!-- // Collect module information because it lists out each binary in use by this process. This is useful for debugging -->
					<Setting Key1="Modules"/>
				</Object>

				<!-- // [111528] Verify that Microsoft.Exchange.Management.SnapIn.Esm.dll is not loaded by any process -->
				<!-- // When fProcessNeedsToBeClosed already fires for the dll, this rule does not fire -->
				<Object Type="MonadCommand" Key1="get-process | where { $_.Modules | where {$_.FileName -like '*\Microsoft.Exchange.Management.SnapIn.Esm.dll' } }" Task="PrecheckUpgrade" Role="Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools">
					<Setting Key1="ProcessName">
						<Rule Name="fEMCLoaded" Query="$." Error="Error" Text="安裝程式無法繼續升級，因為 '{1}' ({7}) 處理程序 (識別碼: {9}) 已載入 '{3}'。關閉處理程序並重新啟動安裝程式。" P1="$." S3="Microsoft.Exchange.Management.SnapIn.Esm.dll" P7="$szEMCLoadProcessId" P9="$szEMCLoadProcessTitle" GUID="f0d3f291-5a52-43ea-9121-24aa7cd0c30e"/>
					</Setting>
					<Setting Key1="Id">
						<Rule Name="szEMCLoadProcessId" Query="$."/>
					</Setting>
					<Setting Key1="MainWindowTitle">
						<Rule Name="szEMCLoadProcessTitle" Query="$."/>
					</Setting>
				</Object>

				<!-- // [112592] Forefront service checks -->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Processor" Task="PrecheckUpgrade" Range="1">
					<Setting Key1="AddressWidth" Substitution="ADDRESSWIDTH"/>
					<Object Type="If" Key1="true()">
						<Setting Key1="if('%ADDRESSWIDTH%'='64', 'Wow6432Node\', '')" Substitution="REGKEYADD"/>
						<Object Type="Registry" Key1="%PREREQSERVER%" Key3="Software\%REGKEYADD%Microsoft\Forefront Server Security\Exchange Server">
							<Setting Key1="InstalledPath" Substitution="FOREFRONTPATH" SubstitutionFormat="\\----\\">
								<Rule Name="fForefrontRTMInstalled" Query="$.!='' and starts-with($szFileVersionFSCController, '10.') and version-compare($szFileVersionFSCController, '10.0.566.0') &lt;=0" Error="Error" Text="安裝程式無法繼續升級，因為已偵測到 {3} 10.0。{3} 10.0 首先需要升級至相容版本的 {3}，而且其服務需要停用，然後才能升級 Exchange Server 2007。" S3="Forefront Security for Exchange Server" GUID="6dfac22b-581a-4e10-938b-5f2498ead01d"/>
								<Rule Name="fForefrontSP1orLaterRunning" Query="$.!='' and starts-with($szFileVersionFSCController, '10.') and version-compare($szFileVersionFSCController, '10.0.566.0') &gt;0 and count($szFSCStartedService) &gt;0" Error="Error" Text="安裝程式已偵測到 {3} 正在伺服器上執行，因此必須先停用，然後才能升級 Exchange Server 2007。請參閱您的 {3} 使用手冊，以取得停用 Forefront 的步驟，並在停用 Forefront 之後重新啟動安裝程式。" S3="Forefront Security for Exchange Server" GUID="41542f5d-87e4-48f6-b237-005264cbe640"/>
							</Setting>
							<Object Type="WMI" Key1="%PREREQSERVER%" Key3="CIM_Datafile" Key4="Name = '%FOREFRONTPATH%\\FSCController.exe'">
								<Setting Key1="Version">
									<Rule Name="szFileVersionFSCController" Query="replace($.,'^(\d+\.\d+\.\d+\.\d+).*$', '$1')"/>
								</Setting>
							</Object>
							<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_Service" Key4="(Name='FSCController' or Name='FSCMonitor' or Name='FSEIMC' or Name='FSEMailPickup') and Started='True'">
								<Setting Key1="Name">
									<Rule Name="szFSCStartedService" Query="$."/>
								</Setting>
							</Object>
						</Object>
					</Object>
				</Object>

				<!-- // Check the domain controller that Setup is using (or has been told to use) -->
				<!-- // Determine the Active Directory site name for the domain controller -->
				<!-- // If Setup uses an out-of-site domain controller, then it will run into replication issues midway through install -->
				<!-- // For this reason, we need to insist that the domain controller is in the same site as this computer -->
				<Object Type="DsGet" Key1="SiteName" Key2="%DOMAINCONTROLLER%" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR">
					<Setting Key1="SiteName">
						<Rule Name="fDomainControllerIsOutOfSite" Query="lower-case($szSiteName)!=lower-case($.) and ($szSiteName!='') and ($.!='')" Error="Error" Text="因為網域控制站 '{2}' 屬於 Active Directory 站台 '{1}'，所以安裝程式無法使用該網域控制站。安裝程式使用的網域控制站必須與此電腦位在相同的站台 ({0})。" P0="$szSiteName" P1="$." S2="%DOMAINCONTROLLER%"/>
					</Setting>

					<!-- // We need to make sure that the chosen domain controller is not running Windows 2000 as this will cause Setup failures -->
					<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Name="cn">
						<Setting Key1="configurationNamingContext" Substitution="CONFIGDN"/>
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Sites,%CONFIGDN%" Key3="(&amp;(objectClass=server)(|(cn=%DOMAINCONTROLLER%)(dNSHostName=%DOMAINCONTROLLER%)))" Key4="Subtree">
							<Setting Key1="serverReference" Substitution="DOMAINCONTROLLERREF"/>
							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%DOMAINCONTROLLERREF%">
								<Setting Key1="operatingSystemVersion">
									<Rule Name="fDomainControllerIsWin2000" Query="starts-with($., '5.0')" Error="Error" Text="因為網域控制站 '{2}' 執行的是 Windows 2000 Server，所以安裝程式無法使用該網域控制站。請使用 /DomainController 命令列參數指定執行 Windows Server 2003 或更新版本的網域控制站。" S2="%DOMAINCONTROLLER%"/>
								</Setting>
							</Object>
						</Object>
					</Object>
				</Object>

				<!-- Find out more about the Active Directory domain where this computer resides -->
				<Object Type="Group" Name="Local Domain Check" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox">
					<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Name="cn">
						<Setting Key1="configurationNamingContext" Substitution="CONFIGDN">
							<Rule Name="szConfigurationNamingContext" Query="$."/>
						</Setting>
						<Setting Key1="rootDomainNamingContext" Substitution="ROOTDN">
							<Rule Name="szRootDomainDN" Query="$."/>
						</Setting>
						<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_ComputerSystem">
							<Setting Key1="Domain" Substitution="COMPUTERDOMAIN"/>

							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Partitions,%CONFIGDN%" Key3="(&amp;(dnsRoot=%COMPUTERDOMAIN%)(systemFlags=3))" Key4="OneLevel">
								<!-- Check to make sure that the user can write to the domain container -->
								<Setting Key1="nCName" Substitution="LOCALNCNAME">
									<Rule Name="szComputerDomainDN" Query="$."/>
								</Setting>

								<Object Type="Directory" Key1="LDAP://%DOMAINCONTROLLER%" Key2="%LOCALNCNAME%">
									<Setting Key1="nTMixedDomain">
										<!-- The presence of the GUID signifies that setup wants to prepare the local domain -->
										<Rule Name="fLocalDomainModeMixed" Query="('%PREPAREDOMAIN%'='F63C3A12-7852-4654-B208-125C32EB409A') and $.=1" Error="Error" Text="Active Directory 網域 '{3}' 處於混合模式。若要安裝 Exchange Server 2007，網域功能等級必須提高為 Windows 2000 原生模式或以上版本。" S3="%LOCALNCNAME%" Role="Global" GUID="b88d3253-db66-4bc2-9423-65aff6b9f0a9"/>
										<Rule Name="fDomainPrepRequired" Query="not($fLocalDomainIsPrepped) and $szComputerDomainDN != $szRootDomainDN" Error="Error" Text="必須先準備本機網域 (透過 'Setup /PrepareDomain')，才能安裝伺服器角色。" Role="Mailbox,ClientAccess,Bridgehead,UnifiedMessaging" GUID="55a60a46-f72c-4227-aca5-c204ec6127db" AlwaysEvaluate="True"/>
									</Setting>
									<Setting Key1="objectSid" Format="Sid" Substitution="SIDLOCALDOMAIN"/>
									<Object Type="Directory" Key1="LDAP://%DOMAINCONTROLLER%" Key2="%LOCALNCNAME%" Key3="(objectCategory=msExchSystemObjectsContainer)" Key4="Subtree">
										<Setting Key1="objectVersion">
											<Rule Name="fLocalDomainIsPrepped" Query="$. &gt;=10605"/>
										</Setting>
									</Object>
									<!-- Check to see if the logged-on user is a member of the Domain Admins group. -->
									<Object Type="CheckTokenMembership" Key1="%SIDLOCALDOMAIN%-512" Name="DomainAdmins">
										<Rule Name="fLocalDomainAdmin" Query="count(../Instance[@Name='DomainAdmins']) &gt;0"/>
									</Object>
								</Object>

							</Object>
						</Object>

						<!-- Check if the provisioned name is duplicated -->
						<Object Type="If" Key1="'%NEWPROVISIONEDSERVERNAME%'!=''">
							<Object Type="Directory" Key1="GC://%GLOBALCATALOG%" Key2="%ROOTDN%" Key3="(&amp;(objectClass=computer)(name=%NEWPROVISIONEDSERVERNAME%))" Key4="Subtree">
								<Rule Name="fDuplicateShortProvisionedName" Query="count(../Instance) &gt; 1" Error="Error" Text="多個具有名稱 {0} 的電腦物件存在於目前的 Active Directory 樹系中。所提供的 Exchange 伺服器必須具有唯一的簡稱。" S0="%NEWPROVISIONEDSERVERNAME%"/>
							</Object>
						</Object>
					</Object>
				</Object>


				<!-- Verify that the operating system supports Exchange -->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_OperatingSystem" Role="Global,Mailbox,Bridgehead,ClientAccess,Gateway,UnifiedMessaging,AdminTools,ClusterMailbox">
					<Setting Key1="OSProductSuite">
						<Rule Name="iOSProductSuite" Query="$."/>
					</Setting>
				</Object>

				<!--Check to make sure that the computer belongs to the Windows domain-->
				<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_ComputerSystem" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox">
					<Setting Key1="DomainRole" Substitution="DOMAINROLE">
						<Rule Name="fComputerNotPartofDomain" Query="$.=0 or $.=2" Error="Error" Text="此電腦不是 Windows 網域的一部分。" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox"/>
					</Setting>
					<Setting Key1="Name" Substitution="LOCALSERVERNAME">
						<Rule Name="szServerName" Query="$."/>
						<!--Verifies that the local server name only contains 'A'-'Z', 'a'-'z', '0'-'9' and '-'-->
						<Rule Name="fServerNameNotValid" Query="not(matches($., '^[A-Za-z0-9\-]*$'))" Error="Error" Text="伺服器名稱無效。它含有 'A'-'Z'、'a'-'z'、'0'-'9' 及 '-' 以外的字元。" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox"/>
					</Setting>
					<!-- If the local computer is a domain controller, connect to the rootDSE and find out if it is also a global catalog server -->
					<Object Type="If" Key1="'%DOMAINROLE%'='4' or '%DOMAINROLE%'='5'">
						<Object Type="Directory" Key1="LDAP://%LOCALSERVERNAME%/">
							<Setting Key1="isGlobalCatalogReady">
								<Rule Name="fLocalComputerIsDCInChildDomain" Query="lower-case($.)='false' and $szComputerDomainDN != $szRootDomainDN" Error="Error" Text="不支援將 Exchange 2007 安裝在非根網域的網域控制站上。請將此電腦升級成通用類別目錄伺服器，或在網域的成員伺服器上執行安裝程式。" Task="PrecheckInstall,PrecheckDR" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging" GUID="b16f7767-3561-4d98-a95b-d7c8dd266af8"/>
							</Setting>
						</Object>
					</Object>
					<!--Verifies that user is logged on to an NT domain, not the local machine-->
					<Object Type="GetUserNameEx" Name="Interactive User">
						<Setting Key1="NameSamCompatible">
							<Rule Name="fLoggedOntoDomain" Query="starts-with(upper-case($.),concat(upper-case($szServerName), '\'))" Error="Error" Text="使用者未登入 Windows 網域" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox"/>
						</Setting>
					</Object>
				</Object>

				<Object Type="Group" Name="Active Directory Checks" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox">
					<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Name="cn">
						<Setting Key1="configurationNamingContext" Substitution="CONFIGDN"/>
						<Setting Key1="rootDomainNamingContext" Substitution="ROOTDN"/>
						<Setting Key1="schemaNamingContext" Substitution="SCHEMADN"/>

						<!-- Locate the Exchange Servers group. -->
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Microsoft Exchange,cn=Services,%CONFIGDN%">
							<Setting Key1="otherWellKnownObjects" Substitution="EXSVRDN" SubstitutionFormat="(^B:32:A7D2016C83F003458132789EEB127B84:(?'dn'.*))?.*$----${dn}"/>
							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%EXSVRDN%">
								<Setting Key1="sAMAccountName">
									<Rule Name="szExchangeServersGroup" Query="$."/>
								</Setting>
								<Setting Key1="nTSecurityDescriptor" Substitution="NTSD" Format="SecurityDescriptor"/>

								<!-- // Find out if the logged-on account has permissions on the Exchange Servers Universal Security Group object -->
								<!-- // See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/ads_rights_enum.asp for a full list of values -->
								<Object Type="AccessCheck" Key1="%NTSD%" Key2="MAXIMUM_ALLOWED">
									<Setting Key1="grantedAccess">
										<Rule Name="fHasExchangeServersUSGWritePerms" Query="bitwise-and($., hex('0xF00FF')) = hex('0xF00FF')"/>
										<Rule Name="fHasExchangeServersUSGBasicAccess" Query="bitwise-and($., hex('0xF01BD')) = hex('0xF01BD')"/>
									</Setting>
								</Object>
							</Object>

							<!-- Locate the Microsoft Exchange Security Groups organizational unit -->
							<Object Type="If" Key1="true()" Name="Microsoft Exchange Security Groups">
								<Setting Key1="string('%EXSVRDN%')" Substitution="MESGOU" SubstitutionFormat="^CN=Exchange Servers,(?'mesg'.*)$----${mesg}"/>
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%MESGOU%">
									<Setting Key1="allowedChildClassesEffective">
										<Rule Name="szAllowedWriteMESGClasses" Query="$."/>
									</Setting>
								</Object>
							</Object>
						</Object>

						<!-- // [111484] Verify that the logged-on account has permissions to Extended-Rights -->
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Extended-Rights,%CONFIGDN%">
							<Setting Key1="nTSecurityDescriptor" Substitution="NTSD" Format="SecurityDescriptor"/>
							<Object Type="AccessCheck" Key1="%NTSD%" Key2="MAXIMUM_ALLOWED">
								<Setting Key1="grantedAccess">
									<Rule Name="fHasExtendedRightsCreateChildPerms" Query="bitwise-and($., 1) = 1"/>
								</Setting>
							</Object>
						</Object>

						<!-- Check to make sure that the schema is up to date -->
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=ms-Exch-Schema-Version-Pt,%SCHEMADN%">
							<Setting Key1="rangeUpper">
								<Rule Name="iSchemaVersionRangeUpper" Query="$."/>
							</Setting>
						</Object>

						<!-- Check the version of windows running on schema FSMO -->
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%SCHEMADN%">
							<Setting Key1="fSMORoleOwner" Substitution="FSMOROLESCHEMA" SubstitutionFormat="CN=NTDS Settings,CN=(.*?),.*----$1"/>
							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Sites,%CONFIGDN%" Key3="(&amp;(objectClass=server)(cn=%FSMOROLESCHEMA%))">
								<Setting Key1="dNSHostName" Substitution="FSMOROLESCHEMA"/>
								<Setting Key1="serverReference" Substitution="FSMOROLESCHEMAREF">
									<Rule Name="szFSMOSchemaDomain" Query="concat('DC=',substring-after($.,'DC='))"/>
								</Setting>
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%FSMOROLESCHEMAREF%">
									<Setting Key1="operatingSystemVersion">
										<Rule Name="fWin2000FSMOSchemaServer" Query="starts-with($., '5.0')" Error="Error" Text="架構主機 '{2}' 正在執行 Windows 2000 Server。架構主機必須升級到 Windows Server 2003 Service Pack 1 或更新版本。" S2="%FSMOROLESCHEMA%" AlwaysEvaluate="True" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,ClusterMailbox" GUID="8067537b-4a5b-4abd-8736-09635f785bc7"/>
										<Rule Name="fWin2003FSMOSchemaServer" Query="starts-with($., '5.2')"/>
									</Setting>
									<Setting Key1="operatingSystemServicePack">
										<Rule Name="fFSMOSchemaServicePack" Query="starts-with($., 'Service Pack')"/>
									</Setting>
								</Object>
								<!-- Determine the Active Directory site name for the Schema Master -->
								<Object Type="DsGet" Key1="SiteName" Key2="%FSMOROLESCHEMA%">
									<Setting Key1="SiteName">
										<Rule Name="szFSMOSchemaSiteName" Query="$."/>
									</Setting>
								</Object>
							</Object>
						</Object>

						<!-- Find out if we can determine the local Active Directory site name -->
						<Object Type="DsGet" Key1="SiteName" Key2="">
							<Setting Key1="SiteName" Substitution="SITENAME">
								<Rule Name="szSiteName" Query="$."/>
								<Rule Name="fInvalidADSite" Query="$.=''" Error="Error" Text="此電腦不屬於有效的 Active Directory 站台。請檢查站台和子網路定義。" Role="Global,Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,AdminTools,ClusterMailbox" GUID="cb4b0ae5-1167-40e5-895d-31c01c71dc60"/>
								<Rule Name="fNoGCInSite" Query="count($fWin2003SPxGCInLocalSite)= 0 and (($fE12 and not($fE12SP1orHigher)) or ($fE12SP1orHigher and count($fLonghornGCInLocalSite)= 0))" Error="Error" Text="在本機 Active Directory 站台中，找不到任何執行 Windows Server 2003 Service Pack 1 或更新版本的通用類別目錄伺服器。" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,ClusterMailbox" GUID="67aca4a0-bc3f-4f8f-8297-b13e0d347942" AlwaysEvaluate="True"/>
							</Setting>

							<!-- Find out if there are any Active Directory Connectors in existence -->
							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Sites,%CONFIGDN%" Key3="(objectClass=msExchActiveDirectoryConnector)" Key4="Subtree">
								<Setting Key1="cn">
									<Rule Name="szADCServer" Query="$."/>
								</Setting>
							</Object>

							<!-- // [113257] Check whether the local computer is a Read Only DC -->
							<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_ComputerSystem" Task="PrecheckInstall">
								<Setting Key1="Name" Substitution="SHORTSERVERNAME"/>
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=%SHORTSERVERNAME%,cn=Servers,cn=%SITENAME%,cn=Sites,%CONFIGDN%" Key3="objectCategory=nTDSDSARO" Key4="OneLevel">
									<Setting Key1="distinguishedName">
										<Rule Name="fComputerRODC" Query="true()" Error="Error" Text="此電腦是唯讀的網域控制站。無法安裝 Exchange Server 2007。" Role="Mailbox,Bridgehead,ClientAccess,UnifiedMessaging,ClusterMailbox" GUID="f8c882cc-af03-434c-b391-6ed9639a1db7" AlwaysEvaluate="True"/>
									</Setting>
								</Object>
							</Object>

							<!-- Enumerate all domain controllers in the same Active Directory site as the local computer where Setup is running -->
							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=%SITENAME%,cn=Sites,%CONFIGDN%" Key3="(&amp;(objectClass=server)(dNSHostName=*))" Key4="Subtree">
								<Setting Key1="distinguishedName" Substitution="ADSERVERDN"/>
								<Setting Key1="dNSHostName">
									<Rule Name="fWin2003SPxGCInLocalSite" Query="$fADServerIsGC and $fADWin2003Server and $fADServicePack"/>
									<Rule Name="fLonghornGCInLocalSite" Query="$fADServerIsGC and $fADLonghornServer"/>
								</Setting>
								<Setting Key1="serverReference" Substitution="SERVERREF"/>

								<!-- Find out if this domain controller is a global catalog -->
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%ADSERVERDN%" Key3="(objectClass=nTDSDSA)" Key4="OneLevel">
									<Setting Key1="options">
										<Rule Name="fADServerIsGC" Query="bitwise-and($.,1)=1"/>
									</Setting>
								</Object>

								<!-- Retrieve the computer object from the domain naming context and find out if it is Windows 2003 SP1 or later -->
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%SERVERREF%">
									<Setting Key1="operatingSystemVersion">
										<Rule Name="fADWin2003Server" Query="starts-with($., '5.2')"/>
										<Rule Name="fADLonghornServer" Query="starts-with($., '6')"/>
									</Setting>
									<Setting Key1="operatingSystemServicePack">
										<Rule Name="fADServicePack" Query="starts-with($., 'Service Pack')"/>
									</Setting>
								</Object>

							</Object>
						</Object>

						<!-- Get the short server name and DNS domain name -->
						<Object Type="WMI" Key1="%PREREQSERVER%" Key3="Win32_ComputerSystem">
							<Setting Key1="Name" Substitution="SHORTSERVERNAME"/>
							<Setting Key1="Domain" Substitution="COMPUTERDNSDOMAIN"/>
							<!-- If this is a cluster, replace the SHORTSERVERNAME with the CMSNAME -->
							<Object Type="If" Key1="true()">
								<Setting Key1="if('%CMSNAME%'='', '%SHORTSERVERNAME%', '%CMSNAME%')" Substitution="SHORTSERVERNAME"/>

								<!-- Check whether the Exchange Organization is native or mixed mode -->
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Microsoft Exchange,cn=Services,%CONFIGDN%">
									<Setting Key1="distinguishedName" Substitution="DN"/>
									<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%DN%" Key3="objectClass=msExchOrganizationContainer" Key4="OneLevel">
										<Setting Key1="distinguishedName" Substitution="DN"/>
										<Setting Key1="distinguishedName" Substitution="OrgDN"/>
										<Setting Key1="msExchMixedMode">
											<Rule Name="szExchangeMixedMode" Query="$."/>
										</Setting>

										<!-- // We now check 'msExchVersion' on the org object. This doesn't exist by default in Exchange 2007 but the implied value is essentially 0.0:6.5.6500.0 -->
										<!-- // The fExchangeVersionBlock rule allows us to block installs of Exchange 2007 should we have a native mode in a future version of Exchange -->
										<Setting Key1="msExchVersion" Format="ExchangeVersion">
											<Rule Name="fExchangeVersionBlock" Query="number(substring-before($.,':')) &gt;=1.0" Error="Error" Text="Exchange 組織不支援此版本的 Exchange Server。"/>
										</Setting>

										<!-- Use Monad to retrieve the version of the existing Exchange Server object -->
										<Object Type="MonadCommand" Key1="Get-ExchangeServer -Identity %SHORTSERVERNAME%" Task="PrecheckUpgrade,PrecheckDR,PrecheckUninstall">
											<Setting Key1="AdminDisplayVersion">
												<Rule Name="iInstalledVersionCompare" Query="version-compare(replace($., '^Version (\d+\.\d+) \(Build (\d+\.\d+)\)$', '$1.$2'), '%EXCHANGEVERSION%')"/>
												<Rule Name="fCMSMinVersionCheck" Query="$iInstalledVersionCompare &gt;0 or ($iInstalledVersionCompare=0 and not($szClusterMailboxWatermark))" Error="Error" Text="Exchange Server 2007 叢集信箱伺服器角色安裝的版本與您嘗試升級的版本相同或為更新版本。安裝的版本: {9}" P9="replace($., '^Version (\d+\.\d+) \(Build (\d+\.\d+)\)$', '$1.$2')" Task="PrecheckUpgrade" Role="ClusterMailbox" AlwaysEvaluate="True"/>
												<Rule Name="fDRVersionCheck" Query="not($fDRExchange2007RTM) and $iInstalledVersionCompare != 0" Error="Error" Text="您必須使用與最後一次安裝相同版本的 Exchange 來執行嚴重損壞修復。目前安裝的版本是 '{8}'，而最後一次安裝的版本是 '{9}'。" S8="%EXCHANGEVERSION%" P9="replace($., '^Version (\d+\.\d+) \(Build (\d+\.\d+)\)$', '$1.$2')" Task="PrecheckDR" GUID="0327e02c-306a-4df0-82d6-42ee5df09203"/>
												<Rule Name="fDRExchange2007RTM" Query="'%EXCHANGEVERSION%'='8.0.685.25' and replace($., '^Version (\d+\.\d+) \(Build (\d+\.\d+)\)$', '$1.$2')='8.0.685.24'" Error="None" Text="執行 Exchange 2007 RTM 嚴重損壞修復。" Task="PrecheckDR"/>
											</Setting>
										</Object>

										<!-- // [124037] Check whether there are any SMTP/Send connectors with invalid settings -->
										<Object Type="MonadCommand" Key1="Get-SendConnector" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR" Role="Bridgehead">
											<Rule Name="fSendConnectorException" Query="../Exception/@Message" Error="Error" Text="安裝程式無法繼續，因為一或多個 SMTP/傳送連接器具有無效的設定: {1}" P1="../Exception/@Message"/>
										</Object>

										<!-- // [114394] We check whether the permission inheritance is blocked on public folder tree objects -->
										<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Administrative Groups,%DN%" Key3="(&amp;(objectCategory=msExchAdminGroup)(cn=*))" Key4="OneLevel" Task="PrecheckInstall" Role="Mailbox">
											<Setting Key1="distinguishedName" Substitution="DN"/>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Public Folders,cn=Folder Hierarchies,%DN%">
												<Setting Key1="distinguishedName" Substitution="DN"/>
												<Setting Key1="ntSecurityDescriptor" Format="SecurityDescriptor" NotForExport="True">
													<Rule Name="fInhBlockPublicFolderTree" Query="boolean(bitwise-and(sdget('Control', $.),4096))" Error="Error" Text="已封鎖 {1} 物件 ({3}) 的存取控制清單 (ACL) 繼承。重新啟用繼承並重新啟動安裝程式。" S1="Public Folder tree" S3="%DN%" GUID="7bfa2aec-d01b-4b5f-9229-ba2cde424b43"/>
												</Setting>
											</Object>
											<!-- // [124196] Check for Exchange Server 2003 or Exchange 2000 Server SMTP virtual servers with a smart host set -->
											<Object Type="If" Key1="not(contains('%DN%', 'FYDIBOHF23SPDLT'))">
												<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%DN%" Key3="objectClass=protocolCfgSMTPServer">
													<Setting Key1="distinguishedName">
														<Rule Name="szSMTPInstanceDN" Query="$."/>
													</Setting>
													<Setting Key1="msExchSmtpSmartHost">
														<Rule Name="fSMTPInstanceSmartHostSet" Query="$.!=''" Error="Warning" Text="SMTP 執行個體 '{3}' 已設定為透過智慧主機 '{1}' 路由傳送所有郵件。如果此 SMTP 執行個體已設定為 Exchange Server 2007 路由群組與 Exchange Server 2003 或 Exchange 2000 Server 路由群組之間的路由群組連接器的來源或目標傳輸伺服器，請移除此選項。" P1="$." P3="$szSMTPInstanceDN" Task="PrecheckInstall,PrechekUpgrade,PrechekDR" Role="Bridgehead"/>
													</Setting>
												</Object>
											</Object>
										</Object>
										<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchRoutingSMTPConnector)(routingList=SMTP:\2a;*))">
											<Setting Key1="cn">
												<Rule Name="szConnectorToStar" Query="$."/>
											</Setting>
										</Object>

										<!-- Get the information about the server we are going to do removeprovisionedserver on -->
										<!-- [115333] Should not allow removeprovisionedserver on a server which has roles installed -->
										<!-- Removeprovisionedserver takes both FQDN and Shortservername. We need to convert FQDN to shortservername -->
										<Object Type="If" Key1="true()">
											<Setting Key1="string('%REMOVEPROVISIONEDSERVERNAME%')" Substitution="REMOVESERVERNAME" SubstitutionFormat="^(.*?)\..*$----$1"/>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(cn=%REMOVESERVERNAME%))" Task="PrecheckUninstall" Key4="Subtree">
												<Setting Key1="msExchCurrentServerRoles">
													<Rule Name="fServerRemoveProvisioningCheck" Query="not(bitwise-and($.,4096)) and ('%REMOVEPROVISIONEDSERVERNAME%'!='')" Error="Error" Text="RemoveProvisionedServer 無法在 '{1}' 上執行，因為它已安裝角色。請解除安裝現有的角色後，再執行此作業。" S1="%REMOVEPROVISIONEDSERVERNAME%"/>
												</Setting>
											</Object>
										</Object>

										<!-- Get any existing information about the server that we're trying to install -->
										<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(cn=%SHORTSERVERNAME%))" Key4="Subtree">
											<Setting Key1="distinguishedName" Substitution="DN"/>
											<Setting Key1="cn">
												<Rule Name="fServerAlreadyExists" Query="$."/>
												<Rule Name="fCMSNameUsedbyOtherExchange" Query="not($fServerIsProvisioned)" Error="Error" Text="Exchange 伺服器 '{2}' 已存在。請重新啟動安裝程式，並對叢集信箱伺服器指定不同的名稱。" S2="%SHORTSERVERNAME%" Task="PrecheckInstall" Role="ClusterMailbox"/>
											</Setting>
											<Setting Key1="msExchCurrentServerRoles">
												<Rule Name="fMailboxRoleInstalled" Query="boolean(bitwise-and($.,2))"/>
												<Rule Name="fClientAccessRoleInstalled" Query="boolean(bitwise-and($.,4))"/>
												<Rule Name="fPublicFolderRoleInstalled" Query="boolean(bitwise-and($.,8))"/>
												<Rule Name="fUnifiedMessagingRoleInstalled" Query="boolean(bitwise-and($.,16))"/>
												<Rule Name="fBridgeheadRoleInstalled" Query="boolean(bitwise-and($.,32))"/>
												<Rule Name="fGatewayRoleInstalled" Query="boolean(bitwise-and($.,64))"/>
												<Rule Name="fServerIsProvisioned" Query="boolean(bitwise-and($.,4096))"/>
											</Setting>
											<Setting Key1="legacyExchangeDN" Substitution="PREREQSERVERLEGDN"/>
											<Setting Key1="distinguishedName" Substitution="PREREQSERVERDN"/>
											<Setting Key1="nTSecurityDescriptor" Substitution="NTSD" Format="SecurityDescriptor"/>
											<Setting Key1="msExchClusterStorageType">
												<Rule Name="fClusterStorageTypeNotCCR" Query="$.!=1"/>
											</Setting>
											<Setting Key1="msExchServerRedundantMachines">
												<Rule Name="fNodeNotPossibleOwner" Query="not(contains(upper-case($.),upper-case($szComputerNameNetBIOS)) or contains(upper-case($.),upper-case($szComputerNameDnsFullyQualified)))" Error="Error" Text="本機電腦不是您正在嘗試升級之叢集信箱伺服器的可能擁有者。在可能的擁有者上重新啟動安裝程式。可能的擁有者: {2}" P2="$." Task="PrecheckUpgrade" Role="ClusterMailbox"/>
											</Setting>
											<Setting Key1="msExchInstallPath">
												<Rule Name="fMsExchInstallPathMismatch" Query="upper-case($szMsiInstallPath)!=upper-case(replace($., '\\$', ''))" Error="Error" Text="本機節點上的安裝路徑與正要復原的叢集信箱伺服器的安裝路徑不符。安裝路徑應該是 '{1}'。" P1="$." Task="PrecheckDR" Role="ClusterMailbox"/>
											</Setting>

											<!-- Find out if the logged-on account has permissions on the Exchange server object -->
											<Object Type="If" Key1="true()">
												<Setting Key1="'0;a8df74a7-c5ea-11d1-bbcb-0080c76670c0'" Key2="mTA" Substitution="G01"/>
												<Setting Key1="'0;a8df74b2-c5ea-11d1-bbcb-0080c76670c0'" Key2="exchangeAdminService" Substitution="G02"/>
												<Setting Key1="'0;bf967a8b-0de6-11d0-a285-00aa003049e2'" Key2="container" Substitution="G03"/>
												<Setting Key1="'0;28630ec1-41d5-11d1-a9c1-0000f80367c1'" Key2="serviceConnectionPoint" Substitution="G04"/>
												<Setting Key1="'0;031b371a-a981-11d2-a9ff-00c04f8eedd8'" Key2="msExchInformationStore" Substitution="G05"/>
												<Setting Key1="'0;3435244a-a982-11d2-a9ff-00c04f8eedd8'" Key2="msExchStorageGroup" Substitution="G06"/>
												<Setting Key1="'0;36145cf4-a982-11d2-a9ff-00c04f8eedd8'" Key2="msExchPrivateMDB" Substitution="G07"/>
												<Setting Key1="'0;966540a1-75f7-4d27-ace9-3858b5dea688'" Key2="msExchAutoDiscoverVirtualDirectory" Substitution="G08"/>
												<Setting Key1="'0;9432cae6-b09e-11d2-aa06-00c04f8eedd8'" Key2="msExchProtocolCfgHTTPContainer" Substitution="G09"/>
												<Setting Key1="'0;93da93e4-b09e-11d2-aa06-00c04f8eedd8'" Key2="msExchProtocolCfgIMAPContainer" Substitution="G10"/>
												<Setting Key1="'0;a8df74d1-c5ea-11d1-bbcb-0080c76670c0'" Key2="protocolCfgSharedServer" Substitution="G11"/>
												<Setting Key1="'0;a8df74c5-c5ea-11d1-bbcb-0080c76670c0'" Key2="protocolCfgIMAPServer" Substitution="G12"/>
												<Setting Key1="'0;a8df74ce-c5ea-11d1-bbcb-0080c76670c0'" Key2="protocolCfgPOPServer" Substitution="G13"/>
												<Setting Key1="'0;3378ca84-a982-11d2-a9ff-00c04f8eedd8'" Key2="protocolCfgSMTPServer" Substitution="G14"/>
												<Setting Key1="'0;33bb8c5c-a982-11d2-a9ff-00c04f8eedd8'" Key2="protocolCfgSMTPDomainContainer" Substitution="G15"/>
												<Setting Key1="'0;3397c916-a982-11d2-a9ff-00c04f8eedd8'" Key2="protocolCfgSMTPRoutingSources" Substitution="G16"/>
												<Setting Key1="'0;8ef628c6-b093-11d2-aa06-00c04f8eedd8'" Key2="protocolCfgSMTPSessions" Substitution="G17"/>
												<Setting Key1="'0;93f99276-b09e-11d2-aa06-00c04f8eedd8'" Key2="msExchProtocolCfgPOPContainer" Substitution="G18"/>
												<Setting Key1="'0;93bb9552-b09e-11d2-aa06-00c04f8eedd8'" Key2="msExchProtocolCfgSMTPContainer" Substitution="G19"/>
												<Setting Key1="'0;44601346-776a-46e7-b4a4-2472e1c66806'" Key2="msExchSmtpReceiveConnector" Substitution="G20"/>
												<Setting Key1="'0;20309cbd-0ae3-4876-9114-5738c65f845c'" Key2="msExchSmtpSendConnectorFQDN" Substitution="G21"/>
												<Object Type="Cache" Name="GUIDS" Key1="AddValue" Key2="GUIDS" Key3="%G01%|%G02%|%G03%|%G04%|%G05%|%G06%|%G07%|%G08%|%G09%|%G10%|%G11%|%G12%|%G13%|%G14%|%G15%|%G16%|%G17%|%G18%|%G19%|%G20%|%G21%" Key4="\|"/>
												<Object Type="Cache" Name="GUIDS" Key1="Dump" Key2="GUIDS">
													<Setting Key1="OBJECT_TYPE_LIST" Substitution="OBJECT_TYPE_LIST"/>
													<Object Type="AccessCheck" Key1="%NTSD%" Key2="MAXIMUM_ALLOWED" Key4="%OBJECT_TYPE_LIST%">
														<Setting Key1="grantedAccess">
															<Rule Name="fHasServerDelegatedPermsBlocked" Query="bitwise-and($., hex('0xF00FF')) != hex('0xF00FF')"/>
														</Setting>
													</Object>
												</Object>
											</Object>

											<!-- Enumerate all storage groups on this server -->
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=InformationStore,%DN%" Key3="objectClass=msExchStorageGroup" Key4="OneLevel" Role="Mailbox,ClusterMailbox">
												<Setting Key1="distinguishedName" Substitution="DN"/>
												<Setting Key1="msExchESEParamLogFilePath" Substitution="LOGDRIVE" SubstitutionFormat="^(.:\\).*$----$1"/>
												<!-- Find out if the log drive(s) exist -->
												<Object Type="MonadCommand" Key1="test-path '%LOGDRIVE%'" Task="PrecheckDR">
													<Setting Key1="__THIS">
														<Rule Name="fLogDriveDoesNotExist" Query="$.='False'" Error="Error" Text="嚴重損壞修復安裝程式必須能夠存取記錄磁碟機 '{5}'，才能繼續執行。" S5="%LOGDRIVE%" Task="PrecheckDR" GUID="80689097-fe5e-4501-b1ec-2189297e7580"/>
													</Setting>
												</Object>

												<!-- Enumerate all mailbox databases in this storage group -->
												<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%DN%" Key3="objectClass=msExchPrivateMDB" Key4="OneLevel">
													<Setting Key1="distinguishedName" Substitution="DN"/>
													<Setting Key1="cn" Substitution="DATABASENAME">
														<Rule Name="fUnwillingToRemoveMailboxDatabase" Query="count($szRemoveMailboxDatabaseException) &gt;0 and ('%CLEARLOCALCMS%'='False')" Error="Error" Text="解除安裝無法繼續。資料庫 '{3}': {1}" P1="$szRemoveMailboxDatabaseException" S3="%DATABASENAME%" Task="PrecheckUninstall" GUID="4a96fd69-9cec-4a48-9571-5c9e8ab3cfe9"/>
													</Setting>
													<Setting Key1="msExchEDBFile" Substitution="EDBDRIVE" SubstitutionFormat="^(.:\\).*$----$1"/>
													<!-- Find out if the mailbox database EDB drive exists -->
													<Object Type="MonadCommand" Key1="test-path '%EDBDRIVE%'" Task="PrecheckDR">
														<Setting Key1="__THIS">
															<Rule Name="fMailboxEDBDriveDoesNotExist" Query="$.='False'" Error="Error" Text="嚴重損壞修復安裝程式必須能夠存取信箱資料庫磁碟機 '{5}'，才能繼續執行。" S5="%EDBDRIVE%" Task="PrecheckDR" GUID="6b5623fa-9a86-4b75-8af0-b3ca1045048c"/>
														</Setting>
													</Object>
													<!-- Find out if it's okay to remove this database -->
													<Object Type="If" Key1="'%CLEARLOCALCMS%'='False'">
														<Object Type="MonadCommand" Key1="Remove-MailboxDatabase '%DN%' -whatif" Task="PrecheckUninstall">
															<Rule Name="szRemoveMailboxDatabaseException" Query="../Exception/@Message"/>
														</Object>
													</Object>
												</Object>

												<!-- Enumerate all public folder databases in this storage group -->
												<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%DN%" Key3="objectClass=msExchPublicMDB" Key4="OneLevel">
													<Setting Key1="distinguishedName" Substitution="DN"/>
													<Setting Key1="cn" Substitution="DATABASENAME">
														<Rule Name="fUnwillingToRemovePublicFolderDatabase" Query="count($szRemovePublicFolderDatabaseException) &gt;0 and ('%CLEARLOCALCMS%'='False')" Error="Error" Text="解除安裝無法繼續。資料庫 '{3}': {1}" P1="$szRemovePublicFolderDatabaseException" S3="%DATABASENAME%" Task="PrecheckUninstall" GUID="b6e3b32a-8848-46cb-9567-72288ac15f60"/>
													</Setting>
													<Setting Key1="legacyExchangeDn" Substitution="LEGDN"/>
													<Setting Key1="msExchEDBFile" Substitution="EDBDRIVE" SubstitutionFormat="^(.:\\).*$----$1"/>
													<!-- Find out if the public folder database EDB drive exists -->
													<Object Type="MonadCommand" Key1="test-path '%EDBDRIVE%'" Task="PrecheckDR">
														<Setting Key1="__THIS">
															<Rule Name="fPublicFolderEDBDriveDoesNotExist" Query="$.='False'" Error="Error" Text="嚴重損壞修復安裝程式必須能夠存取公用資料夾資料庫磁碟機 '{5}'，才能繼續執行。" S5="%EDBDRIVE%" Task="PrecheckDR" GUID="e197c6c1-2fb8-4ab3-ad0f-6e973529f29b"/>
														</Setting>
													</Object>
													<!-- Find out if it's okay to remove this database -->
													<Object Type="If" Key1="'%CLEARLOCALCMS%'='False'">
														<Object Type="MonadCommand" Key1="Remove-PublicFolderDatabase '%DN%' -whatif" Task="PrecheckUninstall">
															<Rule Name="szRemovePublicFolderDatabaseException" Query="../Exception/@Message"/>
														</Object>
													</Object>
												</Object>
											</Object>

											<!-- Check to see if this server is responsible for any OABs -->
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Offline Address Lists,cn=Address Lists Container,%OrgDN%" Key3="(&amp;(objectClass=msExchOAB)(offlineABServer=%PREREQSERVERDN%))" Key4="Subtree" Role="Mailbox">
												<Setting Key1="distinguishedName">
													<Rule Name="szOABDN" Query="$."/>
												</Setting>
											</Object>

											<!-- // [108272] Find out if there are any additional UM languages packs installed for B2B upgrade -->
											<Object Type="MonadCommand" Key1="get-UMServer -Identity %SHORTSERVERNAME%" Task="PrecheckUpgrade" Role="UnifiedMessaging">
												<Setting Key1="Languages">
													<Rule Name="fAdditionalUMLangPackExists" Query="count($.[upper-case(.)!='EN-US']) &gt;0" Error="Error" Text="需要解除安裝美式英文 (en-US) 以外的所有整合通訊語言套件後，才能升級 Unified Messaging server role。已偵測到語言套件: {1}" P1="join(',', $.)" GUID="e158634b-50e3-4cb0-bf23-f94073bb9e43"/>
												</Setting>
											</Object>

											<!-- // Verify that its safe to remove the Hub Transport role from this server. Objects will be orphaned if we don't block uninstall -->
											<!-- // The tests are performed using Monad rather than LDAP because current AD attributes are overloaded for E12 and are due to be deprecated at a future point in time -->
											<!-- // Monad abstracts us from the underlying attributes should they change -->
											<!-- // By design, the rules are not conditioned on the number of servers in the organization, so we will force administrators to tear down objects manually, even for last server uninstalls -->
											<Object Type="Group" Name="Transport Uninstall" Role="Bridgehead" Task="PrecheckUninstall">
												<Setting Key1="Rules">
													<Rule Name="fServerIsSourceForSendConnector" Query="count($szSendConnector) &gt;0" Error="Error" Text="此電腦已設定為組織中 {9} 個連接器的來源傳輸伺服器。必須先加以移動或刪除，安裝程式才能繼續。" P9="count($szSendConnector)" GUID="67c28d7f-cf6f-4f9c-b8a0-7e28ed318e2f"/>
													<Rule Name="fServerIsBridgeheadForRGConnector" Query="count($szRGConnector) &gt;0" Error="Error" Text="此電腦已設定為組織中 {9} 個路由群組連接器的 Bridgehead 伺服器。必須先加以移動或刪除，安裝程式才能繼續。" P9="count($szRGConnector)" GUID="b35c4602-e6c4-4fcc-873c-31f80a2582e1"/>
													<Rule Name="fServerIsGroupExpansionServer" Query="count($szGroupDN) &gt;0" Error="Error" Text="此電腦負責展開 {9} 個通訊群組的成員資格。必須將這些通訊群組重新指派給另一部伺服器，安裝程式才能繼續。" P9="count($szGroupDN)" GUID="9b815db1-19fa-482b-8218-ba8affef57eb"/>
													<Rule Name="fServerIsDynamicGroupExpansionServer" Query="count($szDynamicGroupDN) &gt;0" Error="Error" Text="此電腦負責展開 {9} 個動態通訊群組的成員資格。必須將這些通訊群組重新指派給另一部伺服器，安裝程式才能繼續。" P9="count($szDynamicGroupDN)" GUID="9b815db1-19fa-482b-8218-ba8affef57eb"/>
													<Rule Name="fServerIsLastHubForEdgeSubscription" Query="count($szEdgeSubscriptionForSite) &gt;0 and count($szHubTransportRoleInCurrentADSite)=1" Error="Error" Text="這是唯一在 Active Directory 站台 '{1}' 中安裝 Hub Transport server role 的電腦，而且已向此站台訂閱 Edge 訂閱。必須移除 Edge 訂閱後，安裝程式才能繼續。" P1="$szSiteName" GUID="a72e3f1f-3d72-4869-9790-e26b59955844" AlwaysEvaluate="True"/>
												</Setting>

												<!-- // Check to see if this server is a source bridgehead for any Send Connectors -->
												<!-- // We use a RegEx here because we're testing a multi-valued property -->
												<Object Type="MonadCommand" Key1="Get-SendConnector | where {$_.SourceTransportServers -match '^%SHORTSERVERNAME%$'}">
													<Setting Key1="DistinguishedName">
														<Rule Name="szSendConnector" Query="$."/>
													</Setting>
												</Object>

												<!-- // Check to see if this server is a source or target bridgehead for any Routing Group Connectors -->
												<!-- // We use a RegEx here because we're testing a multi-valued property -->
												<Object Type="MonadCommand" Key1="Get-RoutingGroupConnector | where {$_.SourceTransportServers -match '^%SHORTSERVERNAME%$' -or $_.TargetTransportServers -match '^%SHORTSERVERNAME%$'}">
													<Setting Key1="DistinguishedName">
														<Rule Name="szRGConnector" Query="$."/>
													</Setting>
												</Object>

												<!-- // Check to see if this server is responsible for Distribution Group expansion -->
												<Object Type="MonadCommand" Key1="Get-DistributionGroup | where {$_.ExpansionServer -eq '%PREREQSERVERLEGDN%'}">
													<Setting Key1="DistinguishedName">
														<Rule Name="szGroupDN" Query="$."/>
													</Setting>
												</Object>

												<!-- // Check to see if this server is responsible for Dynamic Distribution Group expansion -->
												<Object Type="MonadCommand" Key1="Get-DynamicDistributionGroup | where {$_.ExpansionServer -eq '%PREREQSERVERLEGDN%'}">
													<Setting Key1="DistinguishedName">
														<Rule Name="szDynamicGroupDN" Query="$."/>
													</Setting>
												</Object>

												<!-- // Check to see if an Edge Transport server is subscribed to this AD site and this is not the last Hub Transport role in the site -->
												<Object Type="DsGet" Key1="SiteName" Key2="">
													<Setting Key1="SiteName" Substitution="SITENAME"/>
													<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=%SITENAME%,cn=Sites,%CONFIGDN%">
														<Setting Key1="canonicalName" Substitution="SITECANONICALNAME"/>
														<Object Type="MonadCommand" Key1="get-EdgeSubscription | where {$_.Site -eq '%SITECANONICALNAME%'}">
															<Setting Key1="Identity">
																<Rule Name="szEdgeSubscriptionForSite" Query="$."/>
															</Setting>
														</Object>
													</Object>
													<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,cn=Exchange Administrative Group (FYDIBOHF23SPDLT),cn=Administrative Groups,%OrgDN%" Key3="(&amp;(objectClass=msExchExchangeServer)(msExchServerSite=cn=%SITENAME%,cn=Sites,%CONFIGDN%)(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=32))" Key4="OneLevel">
														<Setting Key1="cn">
															<Rule Name="szHubTransportRoleInCurrentADSite" Query="$."/>
														</Setting>
													</Object>
												</Object>
											</Object>
										</Object>

										<!-- Enumerate the list of recipient policies -->
										<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Recipient Policies,%DN%" Key3="objectClass=msExchRecipientPolicy" Key4="OneLevel">
											<Setting Key1="cn" Substitution="RECIPPOLNAME"/>
											<Setting Key1="gatewayProxy" Format="^((?i:smtp)\:.*\@(?'smtpaddress'.*))?.*$----${smtpaddress}">
												<Rule Name="fServerFQDNMatchesSMTPPolicy" Query="$.[lower-case(.)=lower-case($szComputerNameDnsFullyQualified)]" Error="Error" Text="本機電腦的網域全名 (FQDN) 與收件者原則 '{3}' 的 SMTP 位址相符。安裝程式無法繼續。" S3="%RECIPPOLNAME%" Task="PrecheckInstall,PrecheckUpgrade,PrecheckDR" GUID="e21fee98-5929-4ef4-9e64-17c92c25222f"/>
												<Rule Name="fSMTPAddressLiteral" Query="$.[matches(., '^\[\d+\.\d+\.\d+\.\d+\]$')]" Error="Error" Text="收件者原則 '{3}' 使用不支援的 SMTP 定址格式 ({1})。必須先變更該值，安裝程式才能繼續。" P1="$.[matches(., '^\[\d+\.\d+\.\d+\.\d+\]$')]" S3="%RECIPPOLNAME%" Task="PrecheckInstall" Role="Global,Bridgehead" GUID="df0bb92d-92f3-42e7-bc62-a82e40358776"/>
											</Setting>
										</Object>

										<!-- Enumerate offline address lists -->
										<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Offline Address Lists,cn=Address Lists Container,%DN%" Key3="objectClass=msExchOAB" Key4="OneLevel" Task="PrecheckInstall" Role="ClientAccess">
											<Setting Key1="cn" Substitution="OABNAME"/>
											<Setting Key1="offLineABServer">
												<Rule Name="fOffLineABServerDeleted" Query="contains($., 'DEL:')" Error="Error" Text="已刪除為離線通訊錄 '{3}' 指定的 Exchange 伺服器。指定有效的伺服器並重新啟動安裝程式。" S3="%OABNAME%" GUID="d2b0382e-6f51-46ca-bf12-2dafaa9af2c9"/>
											</Setting>
										</Object>

										<!-- Get a list of all Exchange servers and versions in the forest -->
										<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Administrative Groups,%DN%" Key3="objectClass=msExchExchangeServer" Key4="Subtree">
											<Setting Key1="cn">
												<Rule Name="szExchangeServers" Query="$."/>
											</Setting>
											<Setting Key1="serialNumber">
												<Rule Name="fExchange12" Query="contains ($., 'Version 8')"/>
												<Rule Name="fExchange200x" Query="contains ($., 'Version 6')"/>
												<Rule Name="fExchange2003" Query="contains ($., 'Version 6.5')"/>
												<Rule Name="fExchange2000" Query="contains ($., 'Version 6.0')"/>
											</Setting>
											<Setting Key1="versionNumber">
												<Rule Name="fExchange2003PreSP2" Query="$fExchange2003 and $. &lt;7638"/>
												<Rule Name="fExchange2000PreSP3" Query="$fExchange2000 and $. &lt;6249"/>
											</Setting>
										</Object>

										<!-- Determine which roles are already present in the topology -->
										<Object Type="Group" Name="Roles installed in the topology">
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,cn=Exchange Administrative Group (FYDIBOHF23SPDLT),cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=32))" Key4="OneLevel">
												<Setting Key1="cn">
													<Rule Name="szBridgeheadRoleInTopology" Query="$."/>
												</Setting>
												<Setting Key1="serialNumber">
													<Rule Name="fE12SP1orHigherHubAlreadyExists" Query="version-compare(replace($., '^Version (\d+\.\d+).*$', '$1'), '8.1') &gt;=0"/>
												</Setting>
											</Object>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,cn=Exchange Administrative Group (FYDIBOHF23SPDLT),cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=16))" Key4="OneLevel">
												<Setting Key1="cn">
													<Rule Name="szUnifiedMessagingRoleInTopology" Query="$."/>
												</Setting>
												<Setting Key1="serialNumber">
													<Rule Name="fE12SP1orHigherUMAlreadyExists" Query="version-compare(replace($., '^Version (\d+\.\d+).*$', '$1'), '8.1') &gt;=0"/>
												</Setting>
											</Object>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,cn=Exchange Administrative Group (FYDIBOHF23SPDLT),cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=4))" Key4="OneLevel">
												<Setting Key1="cn">
													<Rule Name="szClientAccessRoleInTopology" Query="$."/>
												</Setting>
												<Setting Key1="serialNumber">
													<Rule Name="fE12SP1orHigherCASAlreadyExists" Query="version-compare(replace($., '^Version (\d+\.\d+).*$', '$1'), '8.1') &gt;=0"/>
												</Setting>
											</Object>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,cn=Exchange Administrative Group (FYDIBOHF23SPDLT),cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=2))" Key4="OneLevel">
												<Setting Key1="cn">
													<Rule Name="szMailboxRoleInTopology" Query="$."/>
												</Setting>
												<Setting Key1="serialNumber">
													<Rule Name="fE12SP1orHigherMBXAlreadyExists" Query="version-compare(replace($., '^Version (\d+\.\d+).*$', '$1'), '8.1') &gt;=0"/>
												</Setting>
											</Object>
										</Object>

										<!-- Determine whether Bridgehead and ClientAccess roles exist in this AD Site already -->
										<Object Type="DsGet" Key1="SiteName" Key2="" Task="PrecheckInstall" Role="Mailbox,ClusterMailbox">
											<Setting Key1="SiteName" Substitution="SITENAME"/>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,cn=Exchange Administrative Group (FYDIBOHF23SPDLT),cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(msExchServerSite=cn=%SITENAME%,cn=Sites,%CONFIGDN%)(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=32))" Key4="OneLevel">
												<Setting Key1="cn">
													<Rule Name="szBridgeheadRoleInCurrentADSite" Query="$."/>
												</Setting>
											</Object>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,cn=Exchange Administrative Group (FYDIBOHF23SPDLT),cn=Administrative Groups,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(msExchServerSite=cn=%SITENAME%,cn=Sites,%CONFIGDN%)(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=4))" Key4="OneLevel">
												<Setting Key1="cn">
													<Rule Name="szClientAccessRoleInCurrentADSite" Query="$."/>
												</Setting>
											</Object>
										</Object>

										<!-- Check to see if there are other E12 servers or E2K/E2K3 servers -->
										<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Administrative Groups,%DN%" Key3="(objectClass=msExchAdminGroup)" Key4="OneLevel">
											<Setting Key1="distinguishedName" Substitution="DN"/>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(|(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=2)(!(msExchCurrentServerRoles=*))))" Key4="OneLevel" Role="Mailbox">
												<Setting Key1="cn">
													<Rule Name="szOtherPotentialOABServers" Query="$."/>
												</Setting>
											</Object>
											<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Servers,%DN%" Key3="(&amp;(objectClass=msExchExchangeServer)(|(msExchCurrentServerRoles:1.2.840.113556.1.4.803:=32)(!(msExchCurrentServerRoles=*))))" Key4="OneLevel" Role="Bridgehead">
												<Setting Key1="cn">
													<Rule Name="szOtherPotentialExpansionServers" Query="$."/>
												</Setting>
											</Object>
										</Object>

									</Object>
								</Object>
							</Object>
						</Object>

						<!-- Perform checks on a domain specified with the PrepareDomain switch -->
						<Object Type="If" Key1="(('%PREPAREDOMAIN%'!='F63C3A12-7852-4654-B208-125C32EB409A') and ('%PREPAREDOMAIN%'!=''))" Role="Global">
							<Object Type="Group" Name="Prepare Domain">
								<Setting Key1="PrepareDomain Rules">
									<Rule Name="fPrepareDomainNotFound" Query="count($szPrepareDomain)=0" Error="Error" Text="安裝程式在 Active Directory 中找不到網域 '{3}'。已取消準備。" S3="%PREPAREDOMAIN%" AlwaysEvaluate="True" Role="Global"/>
									<Rule Name="fPrepareDomainNotAdmin" Query="count($szPrepareDomain) &gt;0 and not(($fPrepareDomainAdmin and $fHasExchangeServersUSGBasicAccess) or $fEnterpriseAdmin)" Error="Error" Text="您必須是網域 '{3}' 中的 'Domain Admins' 群組成員、'Exchange Organization Administrators' 群組成員或 'Enterprise Admins' 群組成員，才能繼續。" S3="%PREPAREDOMAIN%" Role="Global" GUID="b11d2392-58bc-4a44-bd5f-27ab95f4b38a" AlwaysEvaluate="True"/>
								</Setting>
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Partitions,%CONFIGDN%" Key3="(&amp;(systemFlags=3)(|(cn=%PREPAREDOMAIN%)(dnsRoot=%PREPAREDOMAIN%)))" Key4="OneLevel">
									<Setting Key1="nCName" Substitution="NCNAME">
										<Rule Name="szPrepareDomain" Query="$."/>
									</Setting>
									<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%NCNAME%">
										<Setting Key1="objectSid" Format="Sid" Substitution="SIDPREPAREDOMAIN"/>
										<Setting Key1="nTMixedDomain">
											<Rule Name="fPrepareDomainModeMixed" Query="$.=1" Error="Error" Text="Active Directory 網域 '{3}' 處於混合模式。若要安裝 Exchange Server 2007，此網域必須為 Windows 2000 原生模式或以上版本。" S3="%NCNAME%" Role="Global" GUID="b88d3253-db66-4bc2-9423-65aff6b9f0a9"/>
										</Setting>
										<!-- Check to see if the logged-on user is a member of the Domain Admins group. -->
										<Object Type="CheckTokenMembership" Key1="%SIDPREPAREDOMAIN%-512" Name="PrepareDomainAdmins">
											<Rule Name="fPrepareDomainAdmin" Query="count(../Instance[@Name='PrepareDomainAdmins']) &gt;0"/>
										</Object>
									</Object>
								</Object>
							</Object>
						</Object>

						<!-- // Enumerate all domains in the forest. The 'systemFlags=3' condition filters out internal and DNS partitions -->
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Partitions,%CONFIGDN%" Key3="(systemFlags=3)" Key4="OneLevel">
							<Setting Key1="nCName" Substitution="NCNAME"/>

							<!-- // Enumerate domain information from the domainNC -->
							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%NCNAME%">
								<Setting Key1="nTMixedDomain">
									<Rule Name="fDomainModeMixed" Query="('%PREPAREALLDOMAINS%'='true') and $.=1" Error="Error" Text="Active Directory 網域 '{3}' 處於混合模式。若要安裝 Exchange Server 2007，此網域必須為 Windows 2000 原生模式或以上版本。" S3="%NCNAME%" Role="Global" GUID="b88d3253-db66-4bc2-9423-65aff6b9f0a9"/>
								</Setting>

								<!-- // Find out if this domain is domainprep'd -->
								<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Microsoft Exchange System Objects,%NCNAME%" Role="Global,Mailbox,ClusterMailbox">
									<Setting Key1="cn">
										<Rule Name="fRUSMissing" Query="count($fExchange200x) &gt;0 and count($szRUSName)=0" Error="Warning" Text="找不到負責網域 '{3}' 的收件者更新服務。新的使用者及現有使用者可能並未正確地啟用 Exchange 功能。" S3="%NCNAME%" AlwaysEvaluate="True" GUID="3bc93fba-92fb-4bf6-94c3-3fcf17171cb0"/>
										<Rule Name="fNoValidDCForPrepareLegPerms" Query="('%PREPARELEGACYEXCHANGEPERMISSIONS%'='2A7F95FC-66C6-445F-AAB9-19744C05E70E') and $fEESGroupExists and $fEDSGroupExists and count($szDomainValidDC)=0" Error="Error" Text="在網域 '{3}' 中找不到至少一個執行 Windows Server 2003 Service Pack 1 或更新版本的網域控制站。這可能是在 Active Directory 中移動網域控制站物件的結果。檢查至少有一個執行 Windows Server 2003 Service Pack 1 或更新版本的網域控制站位於 '{4}' 組織單位 (OU)，然後重新執行安裝程式。" S3="%NCNAME%" S4="Domain Controllers" Role="Global" GUID="abd5c9be-a6b4-42db-bcab-0ad16f702601" AlwaysEvaluate="True"/>
									</Setting>

									<!-- // Find out if there is at least one Windows 2003 SP1 or later domain controller in the domain. This is necessary for /PrepareLegacyExchangePermissions to function -->
									<!-- // NOTE: It is possible to move DCs out of the (non-localized) 'Domain Controllers' OU which means that our search won't pick them up -->
									<!-- // NOTE: However, a domain-wide search with this LDAP filter is almost sure to time-out -->
									<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="ou=Domain Controllers,%NCNAME%" Key3="(&amp;(objectClass=computer)(serverReferenceBL=*)(|(&amp;(operatingSystemVersion=5.2*)(operatingSystemServicePack=*))(operatingSystemVersion=6.0*)))">
										<Setting Key1="cn">
											<Rule Name="szDomainValidDC" Query="$."/>
										</Setting>
										<Setting Key1="operatingSystemVersion"/>
										<Setting Key1="operatingSystemServicePack"/>
									</Object>

									<!-- // Verify that the EES/EDS groups exist. Initialize-ExchangeLegacyPermissions skips domains where these groups don't exist -->
									<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Exchange Enterprise Servers,cn=Users,%NCNAME%">
										<Setting Key1="objectGuid">
											<Rule Name="fEESGroupExists" Query="count($.) &gt;0"/>
										</Setting>
									</Object>
									<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Exchange Domain Servers,cn=Users,%NCNAME%">
										<Setting Key1="objectGuid">
											<Rule Name="fEDSGroupExists" Query="count($.) &gt;0"/>
										</Setting>
									</Object>

									<!-- // Find out if there is a RUS configured for this domain -->
									<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Microsoft Exchange,cn=Services,%CONFIGDN%" Key3="(&amp;(objectClass=msExchAddressListService)(msExchDomainLink=%NCNAME%))" Key4="Subtree">
										<Setting Key1="cn">
											<Rule Name="szRUSName" Query="$."/>
										</Setting>
									</Object>
								</Object>
							</Object>
						</Object>

						<!-- Get SID of root domain -->
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%ROOTDN%">
							<Setting Key1="objectSid" Format="Sid" Substitution="SIDROOTDOMAIN"/>

							<!-- Verify that the root domain is in native mode -->
							<Setting Key1="nTMixedDomain">
								<Rule Name="fRootDomainModeMixed" Query="$.=1" Error="Error" Text="Active Directory 根網域 '{3}' 處於混合模式。若要安裝 Exchange Server 2007，此網域必須為 Windows 2000 原生模式或以上版本。" S3="%ROOTDN%" Role="Global" GUID="b88d3253-db66-4bc2-9423-65aff6b9f0a9"/>
							</Setting>

							<!-- Check to see if the logged-on user is a member of the Schema Admins group. -->
							<Object Type="CheckTokenMembership" Key1="%SIDROOTDOMAIN%-518" Name="SchemaAdmins">
								<Rule Name="fSchemaAdmin" Query="count(../Instance[@Name='SchemaAdmins']) &gt;0"/>
							</Object>

							<!-- Check to see if the logged-on user is a member of the Enterprise Admins group. -->
							<Object Type="CheckTokenMembership" Key1="%SIDROOTDOMAIN%-519" Name="EnterpriseAdmins">
								<Rule Name="fEnterpriseAdmin" Query="count(../Instance[@Name='EnterpriseAdmins']) &gt;0"/>
							</Object>
						</Object>

						<!-- Discover the distinguishedName of the Exchange Org Admins group. -->
						<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="cn=Microsoft Exchange,cn=Services,%CONFIGDN%">
							<Setting Key1="otherWellKnownObjects" Substitution="ORGDN" SubstitutionFormat="(^B:32:354B603D92D95541AAFD8C0AE688EA0F:(?'dn'.*))?.*$----${dn}"/>
							<Object Type="Directory" Key1="LDAP://%GLOBALCATALOG%" Key2="%ORGDN%">
								<Setting Key1="sAMAccountName">
									<Rule Name="szExOrgAdminAccountName" Query="$."/>
								</Setting>
								<Setting Key1="objectSid" Format="Sid" Substitution="SIDEXORGADMINS"/>

								<!-- Check to see if the logged-on user is a member of the Exchange Org Admins group. -->
								<Object Type="CheckTokenMembership" Key1="%SIDEXORGADMINS%" Name="ExchangeOrgAdmins">
									<Rule Name="fExOrgAdmin" Query="count(../Instance[@Name='ExchangeOrgAdmins']) &gt;0"/>
								</Object>
							</Object>
						</Object>

					</Object>
				</Object>
			</Object>
		</Object>

	</Type>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>yS/clWSAQzv/Gls31Byj2AX03GM=</DigestValue></Reference></SignedInfo><SignatureValue>
    Q30Cn6JFwc+28M/O04ONJRvguikHk7a1fjYWv9AN8moGo2R4D0mgs2arENf4qfnZCgD51/OB
    Yz9gAs7C50j7m1qzTS0mjLOphUkFybPFp7PEs9x0f4LbZufIJMxxAugKY6iB2E57kKFH+qde
    Cfv9/1SD9P+CvzNArDcDgqL7q3uzP3Vy9AiqdpAvqfg21pnVVBeOK26hwE9bQ7Vfh8prozF6
    chb3FkW32NeUUJUlNDtyDRZObJVpKnxNOvx2fLgVCJsVJruS3hoL7SmV+aS2HGt25ISxjlXv
    SEaqYe7sQIHoAlokuvUm23foyl75ar/cgK5ZpCQAysGMLBBoK1/9Pg==
  </SignatureValue><KeyInfo>
      <KeyValue>
        <RSAKeyValue>
          <Modulus>
            otsKjc/CwUmbzao6NK0jWWvbbL4hIreUyOquv8bVJsIyEYu82l0s+zZWHhUrro8N3RSjbihM
            fxY/QayNQLFGiA3ZgZStlwbQV0R2XOrx/A7if3SjM8t05e/jYaF+A7dF/9U+EtWwyl4N0Hvy
            txMN/GBqKIV1jLetvIXoF7SQvvUWtmJd7RHfOu4hW4uvgHPDReOViXdgm+etd8E3jTMULxPb
            YsmuGqlPmGet1CA5MHHgjWdG4sYc9A1QdEEv6AUkaiFrSbCSxLI5x0KlbVwYSquP146DPngK
            R9iksoQjw+Lye2axSnS9JkFLnGEUYE4wyILz0AtwfO5VTXfSCFV2gQ==
          </Modulus>
          <Exponent>AQAB</Exponent>
        </RSAKeyValue>
      </KeyValue>
      <X509Data>
        <X509Certificate>
          MIIEajCCA1KgAwIBAgIKYQ94TQAAAAAAAzANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJV
          UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
          cm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
          QTAeFw0wNzA4MjMwMDIzMTNaFw0wOTAyMjMwMDMzMTNaMHQxCzAJBgNVBAYTAlVTMRMwEQYD
          VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
          Q29ycG9yYXRpb24xHjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZI
          hvcNAQEBBQADggEPADCCAQoCggEBAKLbCo3PwsFJm82qOjStI1lr22y+ISK3lMjqrr/G1SbC
          MhGLvNpdLPs2Vh4VK66PDd0Uo24oTH8WP0GsjUCxRogN2YGUrZcG0FdEdlzq8fwO4n90ozPL
          dOXv42GhfgO3Rf/VPhLVsMpeDdB78rcTDfxgaiiFdYy3rbyF6Be0kL71FrZiXe0R3zruIVuL
          r4Bzw0XjlYl3YJvnrXfBN40zFC8T22LJrhqpT5hnrdQgOTBx4I1nRuLGHPQNUHRBL+gFJGoh
          a0mwksSyOcdCpW1cGEqrj9eOgz54CkfYpLKEI8Pi8ntmsUp0vSZBS5xhFGBOMMiC89ALcHzu
          VU130ghVdoECAwEAAaOB+DCB9TAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFPMhQI58UfhU
          S5jlF9dqgzQFLiboMBMGA1UdJQQMMAoGCCsGAQUFBwMDMB8GA1UdIwQYMBaAFMwdznYAcFuv
          8drETppRRC6jRGPwMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNv
          bS9wa2kvY3JsL3Byb2R1Y3RzL0NTUENBLmNybDBIBggrBgEFBQcBAQQ8MDowOAYIKwYBBQUH
          MAKGLGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvQ1NQQ0EuY3J0MA0GCSqG
          SIb3DQEBBQUAA4IBAQBAV29TZ54ggzQBDuYXSzyt69iBf+4NeXR3T5dHGPMAFWl+22KQov1n
          oZzkKCn6VdeZ/lC/XgmzuabtgvOYHm9Z+vXx4QzTiwg+Fhcg0cC1RUcIJmBXCUuU8AjMuk1u
          8OJIEig1iyFy31+2r2kSJJTu6TQJ235ub5IKUsoqTEmqMiyG6KHMXSa8vDzgW7KDC7o1HE+E
          RUf/u5ShWQeplt14vVd/padOzPKtnJpB4stcJD7cfzRHTvbPyHud67bJnGMUU6+tmu/Xv8+g
          oauVynorhyzAx9n8bAPavzit8dFcGRcPwPfKgKYQCBrdkCPnsKFMPuqwESZ4DsEsuaRrx488
          
        </X509Certificate>
      </X509Data>
      <X509Data>
        <X509Certificate>
          MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNV
          BAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jv
          c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4X
          DTk3MDExMDA3MDAwMFoXDTIwMTIzMTA3MDAwMFowcDErMCkGA1UECxMiQ29weXJpZ2h0IChj
          KSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
          MSEwHwYDVQQDExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUA
          A4IBDwAwggEKAoIBAQCpAr3BcOY78k4bKJ+XeF4w6qKpjSVf+P6VTKO3/p2iID58UaKboo9g
          MmvRQmR57qx2yVTa8uuchhyPn4Rms8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dosvwy1WCbB
          RucKPjiWLKkoOajsSYNC44QPu5psVWGsgnyhYC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMU
          YFgFZZ8dN1KH96fvlALGG9O/VUWziYC/OuxUlE6u/ad6bXROrxjMlgkoIQBXkGBpN7tLEgc8
          Vv9b+6RmCgim0oFWV++2O14WgXcE2va+roCV/rDNf9anGnJcPMq88AijIjCzBoXJsyB3E4Xf
          AgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw72lyniNRfhSyTY7/y6FyMHAxKzApBgNV
          BAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jv
          c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8A
          wQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEBAJXoC8CN85cYNe24ASTYdxHzXGAy
          n54Lyz4FkYiPyTrmIfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzdMY09nxBwarv+
          Ek8YacD80EPjEVogT+pie6+qGcgrNyUtvmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH/YIX+OVn
          bA1R9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3IV+5lScdSVLa0AygS/5DW8AiP
          friXxas3LOR65Kh343agANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0cDWK3CqKM
          09VUP0bNHFWmcNsSOoeTdZ+n0qA=
        </X509Certificate>
      </X509Data>
      <X509Data>
        <X509Certificate>
          MIIEYDCCA0ygAwIBAgIKLqsR3FD/XJ3LwDAJBgUrDgMCHQUAMHAxKzApBgNVBAsTIkNvcHly
          aWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jw
          b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4XDTA3MDgyMjIy
          MzEwMloXDTEyMDgyNTA3MDAwMFoweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
          b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEj
          MCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0EwggEiMA0GCSqGSIb3DQEBAQUA
          A4IBDwAwggEKAoIBAQC3eX3WXbNFOag0rDHa+SU1SXfA+x+ex0Vx79FG6NSMw2tMUmL0mQLD
          TdhJbC8kPmW/ziO3C0i3f3XdRb2qjw5QxSUr8qDnDSMf0UEk+mKZzxlFpZNKH5nNsy8iw0ot
          fG/ZFR47jDkQOd29KfRmOy0BMv/+J0imtWwBh5z7urJjf4L5XKCBhIWOsPK4lKPPOKZQhRcn
          h07dMPYAPfTG+T2BvobtbDmnLjT2tC6vCn1ikXhmnJhzDYav8sTzILlPEo1jyyzZMkUZ7rtK
          ljtQUxjOZlF5qq2HyFY+n4JQiG4FsTXBeyS9UmY9mU7MK34zboRHBtGe0EqGAm6GAKTAh99T
          AgMBAAGjgfowgfcwEwYDVR0lBAwwCgYIKwYBBQUHAwMwgaIGA1UdAQSBmjCBl4AQW9Bw72ly
          niNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQg
          Q29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9z
          b2Z0IFJvb3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+9mPs30AwDwYDVR0TAQH/BAUwAwEB/zAd
          BgNVHQ4EFgQUzB3OdgBwW6/x2sROmlFELqNEY/AwCwYDVR0PBAQDAgGGMAkGBSsOAwIdBQAD
          ggEBAHurrn5KJvLOvE50olgndCp1s4b9q0yUeABN6crrGNxpxQ6ifPMCQ8bKh8z4U8zCn71W
          b/BjRKlEAO6WyJrVHLgLnxkNlNfaHq0pfe/tpnOsj945jj2Yarw4bdKIryP93+nWaQmRiL3+
          4QC7NPP3fPkQEi4F6ymWk0JrKHG3OI/gBw3JXWjNvYBBa2aou7e7jjTK8gMQfHr10uBC33v+
          4eGs/vbf1Q2zcNaS40+2OKJ8LdQ92zQLYjcCn4FqI4n2XGOPsFq7OddgjFWEGjP1O5igggyi
          X4uzLLehpcur2iC2vzAZhSAUDSq8UvRB4F4w45IoaYfBcOLzp6vOgEJydg4=
        </X509Certificate>
      </X509Data>
    </KeyInfo><Object id="ts-countersig"><X509Data><X509Certificate>MIIEnTCCA4WgAwIBAgIKYUl87QAAAAAABTANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJVUzET
MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgVGltZXN0YW1waW5nIFBDQTAeFw0wNjA5
MTYwMTU1MjJaFw0xMTA5MTYwMjA1MjJaMIGmMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMScw
JQYDVQQLEx5uQ2lwaGVyIERTRSBFU046MTBEOC01ODQ3LUNCRjgxJzAlBgNVBAMTHk1pY3Jvc29m
dCBUaW1lc3RhbXBpbmcgU2VydmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOq6
BWPI2XmuhEQ+pbPE7UyeJN85dh4J1jJKWHjSK9mlB5Dv5z37vSZ8o/vlfX4yz9k9izk38vjYOzQW
1JKC+zTsaIVyGo/guEzguIXzMwoCwaJ2czVMXfG34Up9HbiUeNv/HoUVQkZxzn8nVxLRg087z/re
9ovtPwDj1d5h+ReNS6SBPPVpQOrhib8HT7p0e+kM5Ufqq2zx1WeBCPgWyn0Tu3PiCUz6YvvtoDma
Ov7rEchhHmJY2ApUg9U7S0viVb0vYBqOkgVD2l3rggojlwmgBTFli5NOHkEhopKQ/UVERW81sUU3
rWmpZfk0Q7EXwjs54RCM8hqH41RQHzudMa0CAwEAAaOB+DCB9TAdBgNVHQ4EFgQUfnLwLj9WKeAl
92i4AfxL4X7P4z4wHwYDVR0jBBgwFoAUb+hOP5e5NKtLho+8nOqsO0FDxtAwRAYDVR0fBD0wOzA5
oDegNYYzaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvdHNwY2EuY3Js
MEgGCCsGAQUFBwEBBDwwOjA4BggrBgEFBQcwAoYsaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br
aS9jZXJ0cy90c3BjYS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgbAMA0G
CSqGSIb3DQEBBQUAA4IBAQBpeoIJDBbR3s9GiS6/0TR6gX8nKEEq89Mhkg6XrV9TXin57cFUSqh9
9xPQCxT5TfKGFQBu44MdKEWnLDky3W+aN1ruI1KPVAONP6ecZDj2NsgUQ7Y6PpjJDcNxgSjzZqcx
4lxdj/lSUuFc65OQnWkJTInR0XZMNA1q4XxEpytbg1R/RSQZJcSKRsUl4xmAaSkU9hfG8CIsgUZe
K/T5psZ3PiNv+aZkhY6iYg2pLR6o5ZA+f/+wjvyX7PH9BK/NSc5adKz68xMfGznOo7TWvPS07sit
8lYe+zzxyNYqRLy/nD99ZhjNsiBjCspAPWUyGXyyuD3BJkhOIhmZbowwwfGR</X509Certificate></X509Data><X509Data><X509Certificate>MIIEnTCCA4WgAwIBAgIQaguZT8AAJasR20UfWHpnojANBgkqhkiG9w0BAQUFADBwMSswKQYDVQQL
EyJDb3B5cmlnaHQgKGMpIDE5OTcgTWljcm9zb2Z0IENvcnAuMR4wHAYDVQQLExVNaWNyb3NvZnQg
Q29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29mdCBSb290IEF1dGhvcml0eTAeFw0wNjA5MTYw
MTA0NDdaFw0xOTA5MTUwNzAwMDBaMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNV
BAMTGk1pY3Jvc29mdCBUaW1lc3RhbXBpbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA3Ddu+6/IQkpxGMjOSD5TwPqrFLosMrsST1LIg+0+M9lJMZIotpFk4B9QhLrCS9F/Bfjv
db6Lx6jVrmlwZngnZui2t++Fuc3uqv0SpAtZIikvz0DZVgQbdrVtZG1KVNvd8d6/n4PHgN9/TAI3
lPXAnghWHmhHzdnAdlwvfbYlBLRWW2ocY/+AfDzu1QQlTTl3dAddwlzYhjcsdckO6h45CXx2/p1s
bnrg7D6Pl55xDl8qTxhiYDKe0oNOKyJcaEWL3i+EEFCy+bUajWzuJZsT+MsQ14UO9IJ2czbGlXqi
zGAG7AWwhjO3+JRbhEGEWIWUbrAfLEjMb5xD4GrofyaOawIDAQABo4IBKDCCASQwEwYDVR0lBAww
CgYIKwYBBQUHAwgwgaIGA1UdAQSBmjCBl4AQW9Bw72lyniNRfhSyTY7/y6FyMHAxKzApBgNVBAsT
IkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBD
b3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+
9mPs30AwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFG/oTj+XuTSrS4aPvJzqrDtBQ8bQMBkG
CSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4IBAQCUTRExwnxQuxGOoWEHAQ6McEWN73NUvT8JBS3/uFFThRztOZG3o1YL
3oy2OxvR+6ynybexUSEbbwhpfmsDoiJG7Wy0bXwiuEbThPOND74HijbB637pcF1Fn5LSzM7djsDh
vyrNfOzJrjLVh7nLY8Q20Rghv3beO5qzG3OeIYjYtLQSVIz0nMJlSpooJpxgig87xxNleEi7z62D
Ok+wYljeMOnpOR3jifLaOYH5EyGMZIBjBgSW8poCQy97Roi6/wLZZflK3toDdJOzBW4MzJ3cKGF8
SPEXnBEhOAIch6wGxZYyuOVAxlM9vamJ3uhmN430IpaczLB3VFE61nJEsiP2</X509Certificate></X509Data><X509Data><X509Certificate>MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsT
IkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBD
b3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4XDTk3MDExMDA3
MDAwMFoXDTIwMTIzMTA3MDAwMFowcDErMCkGA1UECxMiQ29weXJpZ2h0IChjKSAxOTk3IE1pY3Jv
c29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNy
b3NvZnQgUm9vdCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpAr3B
cOY78k4bKJ+XeF4w6qKpjSVf+P6VTKO3/p2iID58UaKboo9gMmvRQmR57qx2yVTa8uuchhyPn4Rm
s8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dosvwy1WCbBRucKPjiWLKkoOajsSYNC44QPu5psVWGs
gnyhYC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMUYFgFZZ8dN1KH96fvlALGG9O/VUWziYC/OuxU
lE6u/ad6bXROrxjMlgkoIQBXkGBpN7tLEgc8Vv9b+6RmCgim0oFWV++2O14WgXcE2va+roCV/rDN
f9anGnJcPMq88AijIjCzBoXJsyB3E4XfAgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw72ly
niNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29y
cC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJv
b3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEBAJXoC8CN85cY
Ne24ASTYdxHzXGAyn54Lyz4FkYiPyTrmIfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzd
MY09nxBwarv+Ek8YacD80EPjEVogT+pie6+qGcgrNyUtvmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH
/YIX+OVnbA1R9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3IV+5lScdSVLa0AygS/5DW
8AiPfriXxas3LOR65Kh343agANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0cDWK3CqKM
09VUP0bNHFWmcNsSOoeTdZ+n0qA=</X509Certificate></X509Data><X509Data><X509Certificate>MIIEnTCCA4WgAwIBAgIKYUdSugAAAAAABDANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJVUzET
MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgVGltZXN0YW1waW5nIFBDQTAeFw0wNjA5
MTYwMTUzMDBaFw0xMTA5MTYwMjAzMDBaMIGmMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMScw
JQYDVQQLEx5uQ2lwaGVyIERTRSBFU046RDhBOS1DRkNDLTU3OUMxJzAlBgNVBAMTHk1pY3Jvc29m
dCBUaW1lc3RhbXBpbmcgU2VydmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJtt
3IZR6DI7NzqWJbLPb+5htUHSGDtanXhnuvgf2QhVkoh+40FT+uwoVP612v5wO5UnSH5DoDIvJoFK
8gJ2d8jJqfiiIVh+Db0B2iTG/kQRBTU6AajqVAozLIfSfkGz6AnZsL7jmSWmvCXt19OO2/S3bRtJ
C+bTw4du7kbJf/Nt6+eDHqhTRj/KJH7mfMks+3kUKEXATzZrUxqnhrPn/OHBn1EJ27ylu/7Khwn2
tzIZvuFKUby8fKwslWqXc+pyV6Gci4bYm71L/CczwW0yrOBoGNhuOi4iQ9H5j+3xAAENZMDJo90P
8cjpVMoR/9x4KT4drFjA29+q3K5lG9OdvGcCAwEAAaOB+DCB9TAdBgNVHQ4EFgQUTxiJitLKAHjG
7FkND/18xMEigN4wHwYDVR0jBBgwFoAUb+hOP5e5NKtLho+8nOqsO0FDxtAwRAYDVR0fBD0wOzA5
oDegNYYzaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvdHNwY2EuY3Js
MEgGCCsGAQUFBwEBBDwwOjA4BggrBgEFBQcwAoYsaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br
aS9jZXJ0cy90c3BjYS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgbAMA0G
CSqGSIb3DQEBBQUAA4IBAQA3Jx71jEDg9mUmPmTEkLw+41eF3UMNQIRnvoeoKtrctDYgmI4zfC5f
4FB7YTHzGhPehL3qaRxYfLMbk+EIJ4FFttRwyhS3X7pX6dRe0DtDqrc/ttphi3HP1H3Ve26/tMpa
MJHf2goOozWfJWFOwDJ0K3oGlHIArBidS+WeK8U6VKykYNin95t/2alt7URrutzgEvrwrYcMlWMK
Mh6JTszMfqc3pf5f2Gf6RkvRbR2nfdK+Av/zboLzh3TEaeW5cMxLZaMHNalEnoR9OW7+FAW9GlAh
tT6f83ccj8KanVfhaX1p6IPPAm8qIrs3Mzpy+tYwHZGt9lAa6xPeOsW3XM2z</X509Certificate></X509Data><CounterSignature xmlns="http://schemas.microsoft.com/xmldsig/timestamp/2003" ts-format="cms-timestamp-message">MIIGpQYJKoZIhvcNAQcCoIIGljCCBpICAQMxCTAHBgUrDgMCGjCCARMGCSqGSIb3DQEHAaCCAQQE
ggEAQ30Cn6JFwc+28M/O04ONJRvguikHk7a1fjYWv9AN8moGo2R4D0mgs2arENf4qfnZCgD51/OB
Yz9gAs7C50j7m1qzTS0mjLOphUkFybPFp7PEs9x0f4LbZufIJMxxAugKY6iB2E57kKFH+qdeCfv9
/1SD9P+CvzNArDcDgqL7q3uzP3Vy9AiqdpAvqfg21pnVVBeOK26hwE9bQ7Vfh8prozF6chb3FkW3
2NeUUJUlNDtyDRZObJVpKnxNOvx2fLgVCJsVJruS3hoL7SmV+aS2HGt25ISxjlXvSEaqYe7sQIHo
AlokuvUm23foyl75ar/cgK5ZpCQAysGMLBBoK1/9PqCCA1mhggNVMIICPQIBATCB1qGBrKSBqTCB
pjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjEw
RDgtNTg0Ny1DQkY4MScwJQYDVQQDEx5NaWNyb3NvZnQgVGltZXN0YW1waW5nIFNlcnZpY2WiJQoB
ATAJBgUrDgMCGgUAAxUAotV9Y88zGxd74UcIj+q+xziL4B2gga0wgaqkgacwgaQxCzAJBgNVBAYT
AkdCMRcwFQYDVQQIEw5DYW1icmlkZ2VzaGlyZTESMBAGA1UEBxMJQ2FtYnJpZGdlMSQwIgYDVQQK
ExtuQ2lwaGVyIENvcnBvcmF0aW9uIExpbWl0ZWQxKDAmBgNVBAsTH25DaXBoZXIgTlRTIEVTTjog
OUE0Qy1FQkE2LTlEMzgxGDAWBgNVBAMTD3RtYy5uY2lwaGVyLmNvbTANBgkqhkiG9w0BAQUFAAIF
AMu3FeIwIhgPMjAwODA0MjExMzMyMThaGA8yMDA4MDUwMTEzMzIxOFowdTA7BgorBgEEAYRZCgQB
MS0wKzAKAgUAy7cV4gIBADAHAgEAAgJWgDAIAgEAAgMChCEwCgIFAMvEROICAQAwNgYKKwYBBAGE
WQoEAjEoMCYwDAYKKwYBBAGEWQoDAaAKMAgCAQACAw9CQKEKMAgCAQACAwehIDANBgkqhkiG9w0B
AQUFAAOCAQEADzlaF69Bvdsdz+LvewbfkmGZTmYgcH3zP9ogUACWUMA4FSQNBjx8wOJZWYzGn1rG
CSeHKQVjC1n+OpdJCSdb1/R1kJhxjQBEC8P3Yh3xmfW22bNo2EhXaucYdEx5ttykPSE//MRHErdZ
GS1fDS7GKR9wxHN8BgOFbZBI1A3JEeuDZJADF3reKi3I+n46T4+x6phj24xaIcy87o3UCwCakzVj
sskRSPg274QhXH7lPN4ujB9pPAYKcyqHEsq0G0T4XL5cDfqU3CH4gIH08AIm+lF4mqxnfbz18y1N
L+vFzmqUWwgFIx9woa3DsahD7r6fED1xcMUumC50gYRJ56MhZTGCAgwwggIIAgEBMIGHMHkxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBUaW1lc3RhbXBpbmcg
UENBAgphSXztAAAAAAAFMAcGBSsOAwIaoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkq
hkiG9w0BCQUxDxcNMDgwNDIxMTM0NzA2WjAjBgkqhkiG9w0BCQQxFgQUdM7SPXwjm0b3D5XRhbDH
fUeiXn8wDQYJKoZIhvcNAQEFBQAEggEALboWrwdgdVJhK3w/K7feQGnOeq4C1t0pJ4WQBzpWPTaE
w+B3lCuCNsqBMS1CShm3CQL1yVvFWqJu6afAlWZYXHTwf5pim1q3g5n4IbS386zT6eF1CcYZ8lwP
OLBQUS4k06FdY5QXf0rkuVetudcYZ0hsFjQXGv4mwXlr7ZCSrYumoKkcN+qWOcPYZ3IChU1Zt5S1
7fVaOMPzKc9lT+omnTtz15a76z9mqlo/ohBNCICuVpgXl7DEETrbWpucH4nbMb24bOpWJ2EYC5k7
lnLZ3I86yvWEd9hvaSkT4hhXxO2MO36AkyTJjvD6wAClApj6i44RgFhq8V/DcGcfrvKgTQ==</CounterSignature></Object></Signature></ObjectCollector>
