2011-04-18 90 views
0

我想將包含comdlg32.ocx組件的窗體分配給聯網共享。自動安裝Comdlg32.ocx?

Windows 7用戶可能不會安裝或註冊此組件。有沒有辦法自動檢查,然後可能在Windows 7中安裝此組件?

回答

0

我曾經有一些代碼,做了沿着

on error goto errhandler 
try to instantiate an object of type x 
we're not in the error handler - the dll must have already been registered! 
continue processing... 
exit sub (or whatever) 

errhandler: 
shell "regsvr.exe /s " & path_to_dll 
retry instantiation 

顯然線的東西你要避免陷入死循環,如果隨附的regsvr調用失敗。此外,我不會建議在網絡共享上註冊dll;它可能在宏下次運行時不可用。嘗試先將其複製到本地驅動器。

還有一件事要考慮:你不應該真的在複製一個系統DLL,因爲它們是以集合形式發佈的,這樣做會導致版本問題。但是,有時候,我也發現只需承擔風險並繼續前進就容易了。

+0

我還沒有時間去探索這個選項,但這是否適用於Windows 7?要手動執行此操作,您需要使用「以管理員身份運行」級別進入命令窗口。 – ForEachLoop 2011-04-20 14:11:16

+0

啊,好點,你可能是對的。我沒有想到這一點。當我們使用這個解決方案時,這不是問題。 – 2011-04-20 22:11:49