COM 應用程式的執行階段初始設定
更新:2007 年 11 月
在 COM 應用程式可以啟動 Managed 型別之前,Common Language Runtime 必須載入記憶體。雖然 COM Interop 並未真正載入 Runtime (是由 Runtime 啟始程式碼載入),但 COM 應用程式可以對準特定的 Runtime 版本。
下列因素決定 Runtime 版本:
COM 應用程式可以在應用程式組態檔中指定 Runtime 版本。如需詳細資訊,請參閱 設定並存執行的 COM 應用程式。
藉由可延伸的主應用程式,例如 Microsoft Internet Explorer 或 Microsoft Office,可以將 Runtime 先載入記憶體中。外掛程式 COM 應用程式使用主應用程式載入的 Runtime 來執行 Managed 元件。
當需要嚴格控制時,COM 應用程式可藉由叫用 CorBindToRuntimeHost 方法 (從 mscoree.dll 匯出),以程式的方式預先載入 (Preload) 特定的 Runtime 版本。要不然,藉由叫用 GetRequestedRuntimeVersionForCLSID 方法 (也從 mscoree.dll 匯出) 和傳遞傳回值至 CorBindToRuntimeHost,應用程式可根據啟動的 COM 類別來對準不同的 Runtime 版本。
這些因素都不存在時,啟始程式碼會載入安裝在電腦上最新的相容 Runtime 版本。
型別解析
如果包含要啟動型別的多版本組件存在於 Windows 登錄中,根據預設 Runtime 會載入其最新的版本。
如果 COM 應用程式擁有應用程式組態檔,可以將繫結重新導向至特定組件版本的型別中。如需詳細資訊,請參閱 設定並存執行的 COM 應用程式。
注意事項: |
---|
.NET Framework 1.0 版安裝的元件中沒有與版本相關的登錄機碼。針對這些元件,COM 只能在電腦上使用唯一的型別版本。 |