2013-03-07 72 views
0

我目前支持一系列外部依賴項的Microsoft Access 2000業務應用程序,包括用於郵件合併的Microsoft Word 2007。該應用程序使用一個批處理腳本,以保持外部引用最新的複製和註冊(如果需要)在用戶的計算機上的每個DLL,類似下面的腳本:MS Office在DLL更新後運行配置?

COPY "\\fileshare\references\fileX.dll" "C:\WINDOWS\system32\fileX.dll" 
regsvr32 "C:\WINDOWS\system32\fileX.dll" 

這裏是DLL的影響:

  • COMDLG32.OCX(註冊)
  • MSCOMCTL.OCX(註冊)
  • STDOLE2.TLB
  • MS09.dll
  • MSACC9.OLB
  • msoutl.olb
  • MSWORD.OLB
  • VBE6.DLL(註冊)
  • DAO360.DLL(註冊)
  • msado21.tlb

往往不是批處理腳本只是用相同版本的同一個DLL替換用戶的DLL。但是,由於某些原因,在執行此批處理腳本並且用戶嘗試在Office 2007中打開文檔之後,配置嚮導將彈出並從文檔中竊取焦點,僅需要重新啓動即可完成。

雖然這不是一個非常重要的工作停止問題,但它肯定是一個煩惱。顯而易見的猜測是它是Office 2007 DLL中的一個,但我無法確定哪個DLL是罪魁禍首。

任何輸入,非常感謝!

回答

0

這是我的理解,你不應該分發OLB文件。它們包含在Office的安裝中,並且已安裝在辦公室的任何工作站上。

您也不應該手動安裝任何ADO,DAO或任何其他MDAC/WDAC組件。 對於較舊的操作系統,您應該運行一個安裝程序(MDAC_TYP.EXE),該安裝程序將安裝整套數據訪問組件;谷歌爲MDAC installer欲瞭解更多信息。在較新的操作系統上,WDAC作爲Windows的一部分安裝。

您的清單,這些是我會考慮安全分發的唯一文件:

comdlg32.ocx 
mscomctl.ocx 
stdole2.tlb (although, this REALLY shouldn't be necessary) 

所有其他文件都是辦公室的任一部分,應該已經在包裝盒上,或者是部分的WDAC/MDAC。

如果絕對必要,您可以隨時安裝Access 2000 Runtime。這將允許未安裝Access 2000的用戶仍能夠啓動應用程序。

+0

我們目前爲每個用戶安裝了Access 2000運行時。此外,我們目前正在爲我們的操作系統使用Windows XP。抱歉!我應該提到這一點。 – 2013-03-07 16:16:17

+0

優秀;我不確定運行時是否包含MDAC組件。如果我必須打賭,我會認爲它確實如此。 – 2013-03-07 16:17:51

+0

因此,如果您停止發佈所有這些其他文件(除列出的3個文件之外),則應該會發現您的應用程序仍然有效,但您不應該在嘗試自行修復Office 2007時遇到問題。 – 2013-03-07 18:06:46