2009-11-12 28 views
3

我有用C#編寫的IE插件。在任何時候,用戶都將運行卸載程序或更新程序來重寫或刪除插件的文件。Explorer正在鎖定我的IE插件

要註銷的IE插件我要運行regasm/U爲我的文件,但會出現該文件的劇照鎖定(加載),我不能刪除它,直到我重新啓動機器。

其實,explorer進程已鎖定該文件。如果我殺死了瀏覽器進程,我將能夠刪除該文件。

,我怎麼能刪除或重寫文件,而不殺死Explorer的進程或重啓機器的任何想法?

謝謝

+0

- 也不要重命名文件。 – jonaspp 2009-11-13 14:07:28

+0

其BHO插件。 – jonaspp 2010-02-26 12:52:24

回答

2

當您註冊IE插件,把一個REG_DWORD設置爲1名在BHO鍵=「NoExplorer」(假設它是一個BHO擴展名),例如HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Browser幫助對象{您的guid}

告訴資源管理器只從IE中加載您的擴展,而不是在Explorer.exe中加載。

+0

Dude ...讓我試試這個......謝謝! – jonaspp 2010-02-26 12:35:59

+0

謝謝,兄弟......它的工作! – jonaspp 2010-02-26 12:51:14

+0

Thanks @Rory!對於未來的觀衆:如果您的BHO被「explorer.exe」鎖定(因爲忘記了您的「NoExplorer」條目),請嘗試從註冊表中刪除它的所有痕跡並重新啓動。如果一開始你沒有成功,請嘗試再試一次。我不得不這樣做兩三次;即使重新啓動* 3次以後,'explorer.exe'仍然會保留我的DLL *。希望這節省了幾分鐘的痛苦! – 2011-04-11 23:28:44

-2

重命名舊文件並寫入新文件。

+0

我無法重命名該文件,因爲它被瀏覽器進程鎖定。 – jonaspp 2009-11-13 14:01:12

+0

在這種情況下,您可能需要使用某種技術,這會使Windows在重新啓動時執行此操作。但我不記得如何做到這一點。 – 2009-11-13 14:19:48

+0

我們現在正在執行此操作,它是「運行一次」註冊表項。我們正試圖避免重啓,因爲它是我們軟件的靜默更新。謝謝你的幫助! – jonaspp 2009-11-13 14:36:55

相關問題