2010-11-30 57 views
0

是否可以讓我的Internet Explorer插件更新自身而無需使用.msi手動卸載/重新安裝?我一直在考慮嘗試以編程方式執行此操作,但我不確定需要執行哪些操作(註冊.dll等)。更新IE Addon

謝謝,Nathan

回答

1

只需在後臺下載新的MSI。完成後,提示用戶,如果他們同意,則運行新的MSI。

RE:避免用戶輸入: 您可以在未經他們許可的情況下執行此操作......但由於安裝新的附加組件需要重新啓動瀏覽器,因此這可能不是隨機執行的最佳操作。當你知道商店將被關閉時,你可能會這樣做,但如果他們在黑色星期五的午夜開放,該怎麼辦?你必須仔細考慮。

另一種方法是實現一個存根DLL,它公開所有擴展實現的接口並將該存根註冊爲IE加載的接口。然後你的存根可以在真正的dll上調用loadlibrary,並通過所有的調用。當你想安裝一個新的版本時,你下載新的實現DLL並讓存根卸載舊版本,然後加載新版本。如果你正確地做到了這一點,對用戶來說可能是沒有意義的......當新的DLL需要新的註冊表項或者你需要更新存根時......這些問題都可以解決,但所需的努力爆炸。

我的建議是保持簡單,直到你絕對需要去這些長度。

+0

這實際上是我決定的。然而,它仍然不夠完美,因爲這將會被傳送到使用許多終端的零售連鎖店,所以任何用戶輸入都是不合需要的。 – Nathan 2010-12-01 14:51:14