修正:當您在執行 Windows 7 的電腦上安裝 SQL Server 2008 時出現錯誤訊息:「在建立視窗控制碼之前,無法在控制項上呼叫 Invoke 或 BeginInvoke。」

Microsoft 會發佈 Microsoft SQL Server 2008 修正程式作為一個可下載的檔案。 由於修正程式是累積式,因此每個新版本都包含所有 Hotfix 和先前 SQL Server 2008 修正程式版本中包含的所有安全性修正程式。

症狀

在 Windows 7 中,您可以執行下列其中一個作業:

  • 您可以透過圖形使用者介面 (GUI) 安裝 Microsoft SQL Server 2008。

  • 您可以透過 GUI 從 SQL Server 2000 或 SQL Server 2005 升級至 SQL Server 2008。

  • 您透過 GUI 安裝 SQL Server 2008 叢集。

  • 您可以透過 GUI 從 SQL Server 2000 叢集或 SQL Server 2005 叢集升級至 SQL Server 2008 叢集。

執行其中一項作業之後,您可能會在安裝的 [設定支援規則] 步驟期間收到下列錯誤訊息:

注意

在建立視窗控制碼之前,無法在控制項上呼叫 Invoke 或 BeginInvoke。

        
此外,下列錯誤訊息可能會記錄在 SQL Server 安裝程式的其中一個安裝程式記錄檔中。 例如,下列錯誤訊息可能會記錄在 Detail_LandingPage.txt 檔案中:

注意

<日期><時間> Slp: 例外狀況類型:System.InvalidOperationException
<日期><時間> slp: 訊息:

<日期><時間> Slp:在建立視窗控制碼之前,無法在控制項上呼叫 Invoke 或 BeginInvoke。
<日期><時間> slp: 堆疊:

<日期><時間> slp:位於 System.Windows.Forms.Control.WaitForWaitHandle (WaitHandle waitHandle)

<日期><時間> slp: 位於 System.Windows.Forms.Control.MarshaledInvoke (控制呼叫者、委派方法、Object[] 引數、布林值同步)

<日期><時間> slp:位於 System.Windows.Forms.Control.Invoke (委派方法,Object[] 引數)

<日期><時間> Slp 位於 Microsoft.SqlServer.Configuration.UIExtension.WaitScreen.Close ()

<日期><時間> Slp:位於 Microsoft.SqlServer.Configuration.UIExtension.UserInterfaceService.Start (字串 moniker)

<日期><時間> Slp:位於 Microsoft.SqlServer.Configuration.UIExtension.StartAction.ExecuteAction (字串 actionId)
<日期><時間> Slp:位於 Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute (字串 actionId、TextWriter errorStream)

<日期><時間> Slp:位於 Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction (WorkflowObject metabase、TextWriter statusStream)

<日期><時間> Slp:位於 Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions (WorkflowObject metaDb、TextWriter loggingStream)

<日期><時間> Slp: 規則評估完成: 成功

解決方式

SQL Server 2008 Service Pack 1

此問題的修正程式最初在 SQL Server 2008 Service Pack 1 的累積更新 4 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

973602 SQL Server 2008 Service Pack 1 的累積更新套件 4 注意 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些都包含在先前的 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 發行 SQL Server 2008 Service Pack 1 之後所發行的 SQL Server 2008 組建
Microsoft SQL Server 2008 Hotfix 是為特定 SQL Server Service Pack 而建立。 您必須將 SQL Server 2008 Service Pack 1 Hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2008 的發行版本

重要 如果您執行的是 SQL Server 2008 的發行版本,則必須安裝此修正程式。

此問題的修正程式最初在累積更新 8 中發行。 如需有關如何取得此 SQL Server 2008 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

975976 適用於 SQL Server 2008 的累積更新套件 8 注意 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式隨附於先前的 SQL Server 2008 修正程式版本。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

956909 在 SQL Server 2008 發行之後所發行的 SQL Server 2008 組建 (機器翻譯)

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

如需有關 SQL Server 累加式服務模型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)

如需有關 SQL Server 更新命名架構的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

822499 Microsoft SQL Server 軟體更新套件的新命名架構

如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

824684 描述Microsoft軟體更新所使用的標準術語說明