我們有2個DLL。這兩個DLL的基本相同。 一個DLL(DLL_A)位於運行網頁的一個目錄中。 另一個DLL(DLL_B)位於另一個目錄中,另一個網頁將調用它。這兩個網頁都是孤立的。從一個myWebA.htm到myWebB.htm沒有 聯繫人。
d:\ mywebA \ myWebA.htm
d:\ mywebA \ DLL_A.dll
vc dll自動註銷自己
d:\ myWebB \ myWebB.htm
d:\ myWebB \ DLL_B.DLL
的DLL_A是幾年前寫的。 最近我們創建了在myWebB中使用的DLL_B。 現在我們注意到這個問題。
如果用戶網頁調用DLL_A.dll,它會取消註冊DLL_B.dll。 反之亦然。
這兩個DLL都可以註冊。 被稱爲FIRST的DLL將取消註冊其他DLL。
我注意到的一件事,即運行着DLL的服務器(windows 2003)上將有相同的PID 。
如果我可以註冊這些與不同的PID將解決問題? 如果是這樣怎麼樣?
其他建議?
TIA Steve42
是的他們有相同的GUID。 **如何更改它?**在文件OAIDL.H中有MIDL_INTERFACE(「00020405-0000-0000-C000-000000000046」) – Steve42 2013-04-08 16:00:55
@ Steve42 - 在這種情況下,您有兩種選擇:[1 ]獲取源代碼並重新編譯DLL_A或DLL_B(並且記住在重新編譯之前更改GUID)。 [2]另一種方法是取消註冊這兩個DLL,並將它們放在他們所需的Web應用程序目錄中。通過這種方式,兩個DLL對彼此都不會有任何可見性,並且它們將在同一臺機器上工作,儘管它們具有相同的GUID。 – 2013-04-08 16:17:15
我想用此DLL中的編譯代碼進行更改。我試着在OAIDL.H中改變它。它不起作用。我嘗試在其他區域更改它,但它默認回到「00020405 ...」**我在哪裏更改GUID?** – Steve42 2013-04-08 17:26:29