解決方案簡介
發佈日期: 2016年11月
適用對象: Dynamics CRM 2015
解決方案是自訂者和開發人員撰寫、封裝以及維護 Microsoft Dynamics CRM 2015 和 Microsoft Dynamics CRM Online 2015 更新 擴充功能的方式。 自訂者和開發人員發佈解決方案,讓組織可以使用 Microsoft Dynamics 365 來安裝及解除安裝由解決方案定義的商務功能。
本主題內容
擴充性選擇
版本相容性
解決方案元件
未受管理和受管理的解決方案
受管理的屬性
衝突解決方案
相依性追蹤
支援多種語言
擴充性選擇
使用解決方案擴充 Microsoft Dynamics 365 功能。 對於在外部應用程式外部執行的軟體,請使用傳統封裝以及安裝應用程式的方法,例如安裝程式。
如果您的應用程式只包含 Microsoft Dynamics 365 解決方案元件,它會直接匯入至 Dynamics 365。 您不需要建立安裝程式。
不過,如果擴充功能包括 Microsoft Dynamics 365 解決方案元件和外部元件 (不是 Microsoft Dynamics 365 解決方案元件) 的組合,需要安裝程式。
例如,您可以使用 Web 服務 API,建立 .NET Framework 應用程式,來管理在自訂 Microsoft Dynamics 365 實體中儲存資料。 安裝您的應用程式的人員可以安裝 Microsoft Dynamics 365 解決方案建立自訂實體,然後使用安裝程式個別安裝您的應用程式。 或者,您可以將 Microsoft Dynamics 365 解決方案安裝包括在為應用程式建立的安裝程式中。
版本相容性
從舊版 Dynamics 365 匯出的解決方案可以匯入更新的版本中,如下圖所示。
通常可以將解決方案匯入至版本高於解決方案匯出來源組織兩個版本以內的組織。 Service Pack 版本會提供選項,以匯出具有該 Service Pack 相容性的解決方案,或只是具備基本版本所含功能的解決方案。其他資訊:版本相容性。
對於 Microsoft Dynamics CRM 2013 Service Pack 1 (SP1),新的 Microsoft Dynamics CRM Online 組織已加入服務增強功能,而現有 Microsoft Dynamics 365 組織可以選擇安裝這些功能。 從具備服務增強功能的組織匯出的解決方案無法安裝到沒有啟用服務增強功能的 CRM 2013 SP1 組織,除非解決方案是使用選擇基本版本相容性的選項所匯出。其他資訊:偵測產品更新中可用的服務增強功能
解決方案元件
解決方案元件是使用 Microsoft Dynamics 365 包含的自訂工具或 API 建立且在應用程式中完整託管。 下圖說明解決方案元件的類型。
當您定義 Dynamics 365 解決方案時,您建立可以一起管理的解決方案元件群組。
備註
解決方案只可以加入新的解決方案元件或覆寫現有的解決方案元件。 解決方案無法用來刪除解決方案元件。
未受管理和受管理的解決方案
Microsoft Dynamics 365 解決方案有兩種類型:受管理和未受管理。 受管理的解決方案 本身即是一種用於發佈和安裝的完整解決方案。 未受管理的解決方案是一種仍在開發中,或是尚無發佈打算的解決方案。 在未受管理的解決方案完成時,而您想要發佈,請匯出並封裝為受管理的解決方案。
下列圖表簡介受管理和未受管理的解決方案如何與系統解決方案互動,以控制應用程式行為。
系統解決方案
系統解決方案表示在 Microsoft Dynamics 365 中定義的解決方案元件。 沒有任何受管理的解決方案或自訂,系統解決方案定義預設應用程式行為。系統解決方案中的許多元件都是可自訂的,可用於受管理的解決方案或未受管理自訂。
受管理的解決方案
受管理的解決方案安裝在系統解決方案頂端,可以修改所有可自訂的解決方案元件或新增多個解決方案元件。受管理的解決方案也可以分層堆疊在其他受管理的解決方案上方。 只要受管理的解決方案啟用其解決方案元件自訂,其他受管理的解決方案可安裝在其上方並修改它提供的所有可自訂的解決方案元件。
未受管理的自訂
系統解決方案或任何受管理的解決方案所提供的所有可自訂的解決方案元件,可在未受管理的解決方案中自訂。未受管理的解決方案
未受管理的解決方案是未受管理的自訂群組。 所有未受管理的自訂解決方案元件可與任何未受管理的解決方案數量相關聯。透過匯出未受管理的解決方案,並選擇封裝為受管理的解決方案,建立受管理的解決方案。
應用程式行為
特定組織 Microsoft Dynamics 365 執行個體的最終行為是系統解決方案、任何受管理的解決方案與任何未受管理自訂的結果。
未受管理的解決方案
如果是未受管理的解決方案,您可以執行下列動作:
新增元件。
移除元件。
刪除允許刪除的元件。
匯出及匯入未受管理的解決方案。
將解決方案匯出為受管理的解決方案。
其他資訊:建立、匯出或匯入未受管理的解決方案
匯入未受管理的解決方案
當您匯入未受管理的解決方案,您可以在新組織中編輯其元件。
重要
當您匯入未受管理的解決方案,已在組織中所有解決方案元件定義會被覆寫。 您無法復原這個動作。
未受管理的自訂
每個 Microsoft Dynamics 365 組織包含可自訂的解決方案元件。 所有這些解決方案元件通稱為預設解決方案。 這是當您在應用程式中選取 [自訂系統] 時,編輯的解決方案。 您可以匯出此解決方案與其中的自訂,就像未受管理的解決方案。 不過,您無法將預設解決方案匯出為受管理的解決方案。
建立未受管理的解決方案
如果您不要產生受管理的解決方案,您不需要建立未受管理的解決方案。 您可以直接自訂系統。 若只要可以編輯、備份和傳輸其自訂的組織不需要使用 Microsoft Dynamics 365 解決方案架構更進階的功能。
當您建立未受管理的解決方案時,您建立一種群組可自訂的解決方案元件子集的方式。 未受管理解決方案的解決方案元件是組織中可自訂的解決方案元件參照。
在建立未受管理的解決方案之後,您可以將解決方案元件新增至其中。 透過使用此一組較少的元件,可決定僅包括與特定功能相關的解決方案元件。 當您匯出解決方案時,這允許小型套件和更容易管理的一組元件。
新增至未受管理解決方案的所有元件包含在系統中可自訂的解決方案元件。 未受管理的解決方案元件可加入至多個未受管理的解決方案。
重要
因為每個未受管理的解決方案包含解決方案共用群組的參照,針對某個解決方案中解決方案元件的變更也適用於參考這些解決方案元件的所有未受管理的解決方案。
提示
您也可以建立未受管理的解決方案,只為了提供特定解決方案元件的方便存取。 例如,您可以使用多種 HTML Web 資源,但是只有部分表示您的解決方案最上層使用者介面元素。 您可能想要建立只包括最上層使用者介面元件的未受管理解決方案,讓您可以輕鬆找到並開啟它們。
未受管理解決方案的解決方案發行者
每個解決方案都需要解決方案發行者。 如果是未受管理的解決方案,解決方案發行者提供一般自訂首碼及選項值首碼。其他資訊:建立解決方案發行者
許多解決方案可以與單一解決方案發行者相關聯。 每個組織都有解決方案發行者,稱為「<OrganizationUniqueName> 的預設發行者」。 如果想要所有未受管理的解決方案共用相同自訂首碼及選項值首碼,建議您關聯未受管理的解決方案與組織的預設發行者。
備註
解決方案發行者控制受管理的解決方案如何更新。 當您安裝受管理的解決方案時,發行者為可見,但無法關聯未受管理的解決方案與它。 如果您想要發佈受管理的解決方案,請參閱 受管理解決方案的解決方案發行者。
刪除未受管理的解決方案
如果您刪除未受管理的解決方案,只刪除用來包含解決方案元件參照的群組。 未受管理解決方案的解決方案元件保留在系統中,但不再與刪除的未受管理解決方案相關聯。
備註
如果您刪除未受管理解決方案的解決方案元件,則會從系統中刪除它,而且其他未受管理的解決方案無法使用它。 若要從未受管理的解決方案移除解決方案元件,使用「移除」而非「刪除」。
受管理的解決方案
如果您想要發佈解決方案為受管理的解決方案,匯出未受管理的解決方案,以及選取 [套件類型] 對話方塊中的 [受管理] 選項。
備註
當您產生受管理的解決方案後,則包含用來建立它的未受管理解決方案的相同 Microsoft Dynamics 365 組織中無法安裝它。 它必須安裝在不同組織中。
在安裝受管理的解決方案之後,適用下列:
您無法新增或移除受管理解決方案的解決方案元件。
您無法匯出受管理的解決方案。
刪除受管理的解決方案會解除安裝其中所有解決方案元件。
如需可執行於受管理解決方案的特定工作的詳細資訊,請參閱 建立、安裝和更新受管理的解決方案。
在安裝受管理的解決方案後,可以自訂解決方案元件,如果受管理的解決方案的建立者已設定受管理的解決方案啟用它。 必須使用 [自訂系統] 來存取可自訂的解決方案元件,而不是透過受管理的解決方案本身。
解決方案元件是否可自訂,以及哪些特定自訂動作已啟用,是使用 受管理的屬性 控管的。
受管理解決方案的解決方案發行者
當您想要發佈受管理的解決方案時,在安裝解決方案的每個組織中會建立與受管理的解決方案相關的解決方案發行者記錄。 使用解決方案發行者提供安裝您的解決方案的人員如何與您連絡的資訊。
若要發行更新給受管理的解決方案,受管理解決方案的解決方案發行者也是很重要。 如果您使用相同的解決方案發行者,您可以建立新的受管理的解決方案,能夠更新先前發行受管理的解決方案。其他資訊:維護受管理的解決方案
受管理的屬性
使用受管理屬性,受管理解決方案的建立者可以控制解決方案元件是否可自訂,以及哪些特定部分可能自訂。
備註
在未受管理的解決方案中必須設定受管理屬性。 受管理屬性設定只在受管理的解決方案封裝且安裝後套用。
確切的受管理屬性依據解決方案元件類型。 下列螢幕擷取畫面顯示自訂實體的受管理屬性。
根據預設,受管理屬性設定假設,任何解決方案元件類型都是可完整自訂。 鼓勵解決方案開發人員將其解決方案的解決方案元件設定為可自訂。 不過,有些狀況下,解決方案元件定義必須「鎖定」,避免潛在破壞性變更或讓未來維護解決方案元件更容易。
其他資訊:使用受管理的屬性
衝突解決方案
當兩個以上的解決方案以不同方式定義解決方案元件,Microsoft Dynamics 365 使用兩個策略合併和頂端贏,以解決衝突。 下圖說明差異。
合併
使用者介面元件 (命令列、功能區、表單、網站地圖) 合併。 這表示解決方案元件自最低到最高重新計算,讓組織的未受管理自訂最後套用。頂端贏
如果是其他解決方案元件,所有衝突計算有利於最後套用的自訂。 若是受管理的解決方案,這通常表示會套用最後安裝的解決方案。 不過,當安裝受管理解決方案的更新,有特殊案例。
對受管理解決方案的更新的衝突解決
因為未受管理自訂在衝突解決方面視為在所有受管理的解決方案的「上面」,安裝受管理解決方案的更新的組織可能不會出現這些變更,因為是未受管理修改。 有選項可以確保受管理解決方案的更新所套用的變更可用。
當您發行受管理解決方案的更新時,安裝更新的組織可以選擇:
保留已套用在受管理的解決方案頂端的所有自訂。
覆寫已套用在受管理的解決方案頂端的所有自訂。
安裝受管理解決方案的更新的組織必須與受管理的解決方案建立者一起評估哪個選項是最佳。
重要
實體表單和 SiteMap 的變更不會覆寫,即使已選取覆寫選項。 請參閱 合併表單自訂 和 合併導覽 (SiteMap) 自訂,以取得有關管理變更的指導。 可能需要手動某些自訂,以合併未受管理自訂與受管理的解決方案更新中包括的變更。
相依性追蹤
解決方案架構自動追蹤解決方案元件相依性。 在解決方案元件的每個作業自動計算系統中其他元件的任何相依性。 相依性資訊用於維護系統的完整性和避免可能造成不一致狀態的作業。
基於相依性追蹤,下列行為會強制執行:
如果在系統中其他元件依賴元件,無法刪除元件。
在其他系統中匯入解決方案時,如果任何有遺失的元件可能會造成失敗,則匯出該解決方案時警告使用者。
如果解決方案開發人員想要解決方案只安裝在相依元件預期存在的組織中,使用者可忽略在匯出時的警告。 例如,當您建立解決方案,其設計安裝在預先安裝的「基礎」解決方案上。
如果所有必要元件未包括解決方案中也不存在目標系統,匯入解決方案會失敗。
- 此外,當匯入受管理的解決方案時,所有必要元件必須與解決方案的套件類型符合。 受管理的解決方案中的元件只可以依據其他受管理的元件。
其他資訊:解決方案元件相依性追蹤
支援多種語言
Microsoft Dynamics 365 原生支援多種語言。 已安裝語言套件 (有時稱為「MUI 套件」) 時,使用者介面元素可透過其他語言顯示。
根據解決方案的解決方案元件類型,有許多不同技術可以套用。其他資訊:建立支援多種語言的解決方案
另請參閱
使用解決方案,封裝與發佈擴充功能
適用於解決方案建造商的 Microsoft Dynamics CRM Online 模式與原則
解決方案開發計劃
解決方案元件相依性追蹤
建立、匯出或匯入未受管理的解決方案
建立、安裝和更新受管理的解決方案
解除安裝或刪除解決方案
建立支援多種語言的解決方案
解決方案實體
使用解決方案
範例:使用解決方案
範例:偵測解決方案相依性
解決方案實體
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權