2008-09-10 71 views
1

我們有一個適用於MS Office並使用Microsoft.mshtml.dll的應用程序。我們使用ClickOnce來部署應用程序。該應用程序在大多數計算機上都沒有問題,但有時會出現錯誤,提示「系統需要更新,Microsoft.mshtl.dll應該位於GAC中」。ClickOnce部署,需要系統更新Microsoft.mshtml

我們嘗試在沒有運氣的情況下安裝Office的PIA。由於Microsoft.mshtml.dll是一個依賴於系統的文件,因此我們無法將其包含在軟件包中並重新分發。什麼是部署應用程序的最佳方式?

回答

1

你知道你定位的是哪個版本的MS Office嗎?這些PIA對於Office的版本非常具體。我記得當我們構建一個智能客戶端應用程序時,我們曾經擁有Build VM機器,每臺機器都針對特定版本的Outlook。

另一個障礙是無法將這些PIA指定爲先決條件,或將它們與應用程序捆綁在一起。這些PIA需要使用Office CD安裝在客戶端上(at least for 2003 version)。

0

您可以set up prerequisites in a clickonce app,它會在允許用戶安裝之前檢查GAC中的特定程序集。您仍然需要手動安裝包含ClickOnce之外所需辦公室DLL的應用程序,但至少應避免發生錯誤。

0

我們的目標是Office 2003和Office 2007,但將Office 11(2003)dll作爲Office 2007使用是向後兼容的。

該問題僅出現在Microsoft.mshtml.dll文件中。該文件是ClickOnce應用程序的先決條件。

在此特定安裝中,我們嘗試安裝Office 2003和Office 2007 PIA都無濟於事。

0

我也有這個問題。

解決方法是轉到解決方案資源管理器中的參考文件夾,然後右鍵單擊Microsoft.mshtml,然後單擊屬性。

在Propoerties頁面標記「複製本地」爲真。 這應該工作。