注意: 安裝精靈 」 不會註冊 VB OLE DLL 以 DLL 安裝

文章翻譯 文章翻譯
文章編號: 153020 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當 「 安裝精靈 」 來產生安裝程式的 OLE DLL 的時 DLL 會不登錄正確使用安裝程式時。如果 「 安裝精靈 」 用來產生程式 OLE 自動化用戶端和 DLL 包含在安裝精靈的步驟 4 中的 OLE 伺服器,則不會發生這個問題。

其他可行方案

「 安裝精靈 」 產生 SETUP.LST 檔案每組就會產生的安裝媒體。這個檔案用來決定要複製哪些檔案、 將它們,複製的位置和方式可以登錄這些控制項,在其他方面。您可以修改 SETUP.LST 檔案使安裝程式精靈產生的程式正確地登錄在安裝時 DLL。

在產生使用 「 安裝精靈 」 的安裝媒體之後, 請使用文字編輯器如 「 記事本 」 來開啟 SETUP.LST 檔案。所參考的 DLL 檔案的那一行看起來像這樣 (全部在同一行):
   File2=1,,DS.dl_,DS.dll,$(CommonFiles)\OleSvr,,$(Shared),2/19/1996,10240,
   1.0.0.0
				

若要造成 DLL 時安裝正確註冊,只是新增文字 '$ (DLLSelfRegister)' 之間正確的逗點,集,讓線條看起來像這樣:
   File2=1,,DS.dl_,DS.dll,$(CommonFiles)\OleSvr,$(DLLSelfRegister),$(Shared
   ),2/19/1996,10240,1.0.0.0
				

安裝程式現在會知道要註冊的 DLL 檔案複製到硬碟機之後。

狀況說明

Microsoft 已確認這是在本篇文章開頭所列的 Microsoft 產品中的問題。Microsoft 研究這個問題,並且將張貼新資訊 「 Microsoft 知識庫 」 中可用時。

其他相關資訊

如果要重現的步驟

  1. 開始 Visual Basic 和開啟 DS 範例專案 (vb\samples\oleserv\ds.vbp)。一個 OLE DLL 從程式碼選取編譯。 '製作 OLE DLL 檔案...' 從 [檔案] 功能表儲存變更。
  2. 啟動 Visual Basic 安裝精靈。在步驟 1,選取 DS 範例專案檔案。這會造成文字欄位以變更為 '重建專案的 DLL 檔案' 下方的核取方塊
  3. 請依照下列步驟,在步驟 6 中選取確保該 '安裝為 OLE 自動化共用元件'。按一下 [完成] 讓安裝程式精靈產生安裝程式檔案為 DLL。
  4. 用來產生安裝磁碟在同一部電腦上, 解除登錄 DS.DLL 檔案。這可透過使用-u 參數執行 REGSVR32:

    REGSVR32-u DS.DLL
  5. 執行步驟 3 中產生 SETUP.EXE 並安裝該 DLL。
  6. 啟動 Visual Basic,並選取 [從 [工具] 功能表的 [參考]。 請注意 '示範 OLE 伺服器' 不會列在參考中,因為未註冊由安裝程式。手動註冊 (與 REGSVR32) DLL 或修改 SETUP.LST 檔案如前文所述,然後重新執行安裝程式,可以解決問題。

屬性

文章編號: 153020 - 上次校閱: 2004年6月24日 - 版次: 3.0
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
關鍵字:?
kbmt kbbug kbdsstools kbsetup KB153020 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:153020
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com