整合 Citrix 應用程式
發行︰ 2016年11月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2013、Dynamics CRM 2015、Dynamics CRM 2016
透過在 Unified Service Desk 中代管的方式,將您的 Citrix 應用程式與 Unified Service Desk 整合。 這可讓客戶服務專員從 Unified Service Desk 用戶端內與 Citrix 應用程式互動,同時在 Microsoft Dynamics 365 中處理客戶資料。 您可以在執行做為 Unified Service Desk 託管應用程式的 Citrix XenApp 7.6 上,將 Windows 應用程式當做虛擬應用程式進行設定。 詳細資訊:TechNet:Citrix XenApp 應用程式虛擬化的軟體需求
Unified Service Desk 用戶端中託管的 Citrix 應用程式使用 Independent Computing Architecture (ICA) 通訊協定從遠端與 Citrix 伺服器上的應用遠端通訊。 Citrix .ica 檔案包含連線至遠端伺服器的資訊,例如伺服器位址、工作階段屬性及驗證資訊。
如需有關 Unified Service Desk 與 Citrix 整合的詳細資訊,請參閱部落格:Citrix 和 Unified Service Desk
本主題提供設定伺服器端和用戶端元件的資訊,用於整和 Unified Service Desk 與 Citrix 應用程式、Citrix 配接器,以及一些最佳作法。
本主題內容
設定 Citrix 整合的伺服器端元件
設定 Citrix 整合的用戶端元件
Citrix 整合:如何運作?
範例 Citrix 配接器
Citrix 整合:最佳作法
設定 Citrix 整合的伺服器端元件
伺服器端元件是做為可執行檔實作 (Microsoft.Uii.Csr.CitrixIntegration.exe),該可執行檔設定為啟動程式,會在 Citrix 應用程式啟動時自動啟動。 如果 Citrix 應用程式尚未從 Unified Service Desk 用戶端叫用,則可執行檔會快速自我終止。 伺服器端元件需要在每一部 Citrix 伺服器上設定。
下載User Interface Integration (UII)SDK 套件。
按兩下套件檔案,解壓縮內容。
瀏覽至 <ExtractedFolder>\UII\Bin\UII\Citrix Server Component 資料夾,然後將此資料夾中的所有檔案複製到 Citrix 伺服器上的某個資料夾 (例如 ServerSideComponent)。
在 Citrix 伺服器上的 ServerSideComponent 資料夾中,使用筆記本編輯 RegPatch Install StartupPrograms on Citrix Server.reg 檔案,將 "StartupPrograms" 參數的值設定為 Microsoft.Uii.Csr.CitrixIntegration.exe 可執行檔的完整檔案路徑。
在 Citrix 伺服器上套用登錄修補程式,透過執行 RegPatch Install StartupPrograms on Citrix Server.reg 檔案。 此登錄修補程式會指定可執行檔為啟動程式,並且將隨著 Citrix 應用程式一併啟動。
設定 Citrix 整合的用戶端元件
Citrix 整合的用戶端設定包含兩件事:
在您的 Dynamics 365 執行個體中設定 UII 託管應用程式 (Remote Hosted Application) 執行個體,可直接使用而不需任何自訂程式碼,或是可以視需要擴充。 在 UII 託管應用程式執行個體上引發的動作會傳輸到伺服器端元件,使用 .ica 檔案,然後在該處調度至設定的應用程式配接器 (如有的話)。 如需 UII 託管應用程式的詳細資訊,請參閱UII 託管應用程式
複製 Unified Service Desk 用戶端安裝目錄中的 Citrix 應用程式可執行檔和其他必要的組件,套用用戶端登錄修補程式,以及在 Unified Service Desk 用戶端應用程式設定檔中新增 Citrix 專屬的值。 此步驟需要在每一部已安裝 Unified Service Desk 用戶端應用程式的電腦上執行。
設定遠端託管應用程式
登入 Microsoft Dynamics 365。
移至 [設定] > [Unified Service Desk]。
按一下 [託管控制項],然後按一下 [新增]。
在 [新增託管控制項] 頁面的 [一般] 區域下,指定名稱、排序順序及顯示託管應用程式的名稱。 每個託管應用程式必須有唯一的名稱。 排序順序指定 Unified Service Desk 中擷取及顯示託管應用程式的順序。
在 [Unified Service Desk] 區域中,從 [USD 元件類型] 清單選取 [CCA 託管應用程式]。
在 [託管應用程式類型] 區域下,從 [託管應用程式] 清單選取 [遠端託管應用程式]。
在 [配接器設定] 區段,有三個配接器設定可從 [配接器] 下拉式清單中選取:
不使用配接器:指定託管應用程式不需要任何自動化。
使用自動化配接器 (HAT):指定用於託管應用工具套件 (HAT) 軟體工廠的預設設定。 如果託管應用程式使用自動化配接器 (HAT),在 [自動化] 區段的 [自動化 XML] 欄位中指定託管應用程式的繫結資訊。 如需繫結的詳細資訊,請參閱使用 UII 檢查器建立其他託管應用程式的繫結。
使用配接器:指定託管應用程式使用自訂的配接器。
如需使用配接器進行 Citrix 整合的資訊,請參閱範例 Citrix 配接器
在 [Citrix 應用程式設定] 區域下,指定下列值:
ICA 檔案名稱:指定啟用 Citrix 應用程式所需的 .ica 檔案的完整路徑。 .ica 檔案包含連線至遠端伺服器的資訊,例如伺服器位址、工作階段屬性及驗證資訊。
程序取得嘗試:指定伺服器端可執行檔應掃描程序資料表的次數,以尋找執行啟動的 Citrix 應用程式的程序。 Citrix 應用程式程序可能需要花一點時間才會出現在程序資料表中。
程序取得延遲:指定兩次程序資料表掃描之間的延遲時間 (毫秒)。
程序取得檔案名稱:指定 Citrix 應用程式檔案名稱的完整路徑。 此值可由伺服器端可執行檔用來比較執行程序的檔案名稱,以找出相符項目。
儲存託管控制項。
複製可執行檔、套用登錄修補程式,以及新增 Citrix 組態設定
此步驟必須在每一部已安裝 Unified Service Desk 用戶端應用程式的電腦上執行。
瀏覽至 <ExtractedFolder>\UII\Bin\UII\Citrix Server Component 資料夾,其中 <ExtractedFolder> 是您在上一節設定 Citrix 整合的伺服器端元件中擷取下載的 UII SDK 套件檔案的位置。
從 <ExtractedFolder>\UII\Bin\UII\Citrix Server Component 資料夾將下列檔案複製到 Unified Service Desk 用戶端資料夾 (通常是 C:\Program Files\Microsoft Dynamics CRM USD\USD):
Microsoft.Uii.Csr.CitrixIntegration.exe
AxWFICALib.dll
WFICALib.dll
在您的 Unified Service Desk 用戶端電腦上套用登錄修補程式,以便使用自訂虛擬通道,藉由執行下列位於 <ExtractedFolder>\UII\Bin\UII\Citrix Server Component 資料夾中的檔案:
x86 用戶端:RegPatch 允許在 ICAClient.reg 中的自訂虛擬通道
x64 用戶端:RegPatch 允許在 ICAClient x64 Client.reg 中的自訂虛擬通道
注意
如果未套用此登錄修補程式,用戶端和伺服器之間就無法通訊。
新增下列應用程式設定,於 UnifiedServiceDesk.exe.config 檔案中,位於 Unified Service Desk 用戶端安裝目錄。 這些應用程式設定必須新增至根 <configuration> 節點下:
<appSettings> <add key="CitrixIntegration.VirtualChannelNamePrefix" value="CTXUII"/> <add key="CitrixIntegration.XmitFragmentSize" value="200"/> <add key="CitrixIntegration.RecvTimeoutInMilliseconds" value="2000"/> <add key="CitrixIntegration.HeartbeatMaxWaitInMilliseconds" value="60000"/> <add key="CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds" value="15000"/> </appSettings>
注意
這些應用程式設定也會在 Microsoft.Uii.Csr.CitrixIntegration.exe.config 檔案的伺服器端元件中提供。
以下是每個機碼的描述:
金鑰
描述
CitrixIntegration.VirtualChannelNamePrefix
對於每個啟動的 Citrix 應用程式,會建立兩個不同命名的虛擬通道來共用通用首碼。 此設定會公開首碼至自訂,雖然通常不是必要。 此設定在用戶端和伺服器端上必須完全相同。
CitrixIntegration.XmitFragmentSize
虛擬通道傳輸會依據此處指定的限制分散。 金鑰會於內部受到限制,如果它超過內部限制的話 (追蹤訊息應會在此情況發生時回報)。 此設定在用戶端與伺服器端上可以不同。
CitrixIntegration.RecvTimeoutInMilliseconds
就像所有網路通訊一樣,逾時是必要的,有助於決定通訊需要協助決定通訊對等何時無法使用。 Citrix 整合通訊是要求/回覆導向,且此設定會指定它要花多久時間傳回回覆,在系統放棄等待回覆之前。 此設定在用戶端與伺服器端上可以不同。
CitrixIntegration.HeartbeatMaxWaitInMilliseconds
任何虛擬通道通訊活動都會視為「活動訊號」。 此設定指定可經過的時間長度上限,這段時間內沒有任何介入的通訊發生,在這段時間後,通訊通道的任一端 (用戶端或伺服器) 認定對方已無法使用。 對於伺服器端可執行檔 (Microsoft.Uii.Csr.CitrixIntegration.exe),它會在得到這個結論後終止。 對於用戶端託管控制項執行個體,它會終止內部活動訊號 ping 計時器。 此設定在用戶端與伺服器端上可以不同。
CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds
指定觸發 PING 訊息至伺服器端可執行檔 (Microsoft.Uii.Csr.CitrixIntegration.exe) 的計時器時段,接著將以對應的 PONG 訊息回覆。 這是為了避免用戶端與伺服器元件同時不正確地認定其通訊。 此設定僅適用於用戶端。
Citrix 整合:如何運作?
現在您已知道如何在 Unified Service Desk 中設定 Citrix 整合,以下說明 Citrix 整合的運作方式,從專員在 Unified Service Desk 用戶端中啟動託管控制項開始,到託管控制項結束為止。
客戶服務專員會從 Unified Service Desk 用戶端啟動 Citrix 託管控制項,它會在 Citrix 伺服器上使用 ICA 檔案名稱 (為託管控制項所設定) 啟動 Citrix 應用程式。
伺服器端可執行檔 (Microsoft.Uii.Csr.CitrixIntegration.exe) 會自動啟動,並從 Unified Service Desk 用戶端要求為託管控制項設定的 Citrix 應用程式設定。 您已在設定遠端託管應用程式一節的步驟 8 中設定此資訊。
如果應用程式設定要求逾時,依據 CitrixIntegration.RecvTimeoutInMilliseconds 應用程式設定中指定的值,則伺服器端可執行檔 (Microsoft.Uii.Csr.CitrixIntegration.exe) 會認定 Citrix 應用程式執行個體不是 UII 託管應用程式,並且終止。
如果應用程式設定要求未逾時,請執行下一個步驟。
使用 Citrix 託管控制項的應用程式設定時,伺服器端可執行檔 (Microsoft.Uii.Csr.CitrixIntegration.exe) 會繼續進行識別 Citrix 應用程式的程序。
如果無法識別 Citrix 應用程式程序,伺服器端可執行檔會繼續執行,並傳送訊息給大致相同的用戶端。 如果您已啟用追蹤,則可以檢視訊息。
如果識別出 Citrix 應用程式程序,伺服器端可執行檔會擷取程序,並繼續識別指定的應用程式頂端視窗。 此設定通常用於外部應用程式,並由伺服器端可執行檔參考,而且可用來選取非預設頂端視窗。 如果找不到頂端視窗,伺服器端可執行檔會繼續執行,並傳送資訊訊息給可以看見的用戶端,如果追蹤已開啟。
最後,託管控制項的應用程式配接器會具現化。 擷取的程序和頂端視窗會提供給配接器,而所有配接器作業此時都會在用戶端與伺服器之間路由傳送。
注意
如果找不到程序,值會是 null。 如果找不到視窗,值會是 0。 如果無法具現化配接器,伺服器端可執行檔會繼續執行,並傳送資訊訊息給可以看見的用戶端,如果追蹤已開啟。
當客戶服務專員在 Unified Service Desk 用戶端中關閉 Citrix 託管控制項時,伺服器端可執行檔也會終止。
範例 Citrix 配接器
以下是一些範例 Citrix 配接器,可讓您檢視/嘗試。
範例應用程式配接器
Citrix 的範例應用程式配接器可在 UII SDK 下載套件中找到。 若要檢閱/嘗試此配接器:
下載User Interface Integration (UII)SDK 套件。
按兩下套件檔案,解壓縮內容。
瀏覽至 <ExtractedFolder>\UII\SampleCode\UII\Citrix\ApplicationAdapter 資料夾。 資料夾中的 README.txt 檔案提供有關此配接器的資訊。
範例資料導向配接器
為了簡化使用現有的資料導向配接器 (DDA),而不需開發自訂配接器,Unified Service Desk 提供了下列配接器來使用 DataDrivenAdapterBindings 標籤具現化 DDA,以及將 DDA 動作轉譯成已具現化 DDA 的呼叫:Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.dll。 根據預設,此組件可在您的 Unified Service Desk 用戶端安裝目錄中找到。
若要使用範例 DDA 配接器搭配您的 Citrix 託管控制項,請更新託管控制項定義以指定下列值,在託管控制項的 [配接器設定] 區域下:
欄位 |
值 |
---|---|
配接器 |
使用配接器 |
URI |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter |
Type |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.DdaAutomationAdapter |
Citrix 整合:最佳作法
以下是您可能會考慮的事項,在設定與 Citrix 應用程式整合時。
確認您想要在 Unified Service Desk 中代管的 Citrix 應用程式能夠成功自行啟動,藉由明確將它啟動。
用來追蹤來識別和疑難排解問題。 追蹤訊息可幫助您識別和疑難排解問題 (如果有)。 根據預設,Verbose 追蹤會在 Microsoft.Uii.Csr.CitrixIntegration.exe.config 檔案中啟用,以記錄伺服器上的執行訊息:
<add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
然後您就可以使用其中一個標準 User Interface Integration (UII) 記錄提供者 (例如,檔案記錄提供者) 將追蹤記錄寫入檔案中。 追蹤也會出現在任何附加的偵錯工具中。 在用戶端 (UnifiedServiceDesk.exe.config 檔案) 上相同的設定會啟動用戶端上的追蹤功能。
在 Windows 中,執行相同程式的多個程序會共用它們的記憶體頁面 (包含可執行程式碼)。 .NET 程式的本質是,Just-In-Time (JIT) 編譯器會在執行階段編譯中繼語言 (IL) 為機器指令 (可執行程式碼),當應用程式啟動時。 此執行階段編譯會阻止共用一模一樣的字碼頁,其會阻止字碼頁共用最佳化。 由於伺服器端可執行檔 (Microsoft.Uii.Csr.CitrixIntegration.exe) 是 .NET 程式,其中多個執行個體可以在單一電腦上執行,因此將能有效運用 Ngen.exe (原生影像產生器) 工具來建立伺服器端可執行檔的相依組件的原生影像,並且將它們安裝到本機電腦上的原生影像快取中。 這樣將促使對伺服器資源做更佳的利用,藉由使用來自快取的原生影像,而不使用 JIT 編譯器編譯原始組件。
另請參閱
UII 託管應用程式
建立和管理 UII 託管應用程式
擴充 Unified Service Desk
Unified Service Desk 2.0
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權