2010-11-20 33 views
5

我最近從XP升級到Win 7.我曾經可以從ASP經典應用程序調試到VB6。但是我現在得到一個:IIS7 VB6調試

「檢查權限時Server.CreateObject的調用失敗的訪問被拒絕到這個對象。」

這隻有當我開始在VB6的DLL和訪問occurrs ASP應用程序。在IIS7之前,這將允許您進入VB6 dll。有任何想法嗎?

+0

您是否曾嘗試以管理員身份運行VB6? – 2010-11-22 02:43:18

+0

我已經在這裏回答了這個http:// stackoverflow。COM /問題/ 8728958 /何燦我調試-A-VB6-IIS應用程序上 - 窗口7-64位/ 14165582#14165582。 – yuben 2013-01-04 21:54:43

回答

2

從ASP應用程序調試VB6組件時,此錯誤通常是由DCOM配置問題引起的。 VB IDE(VB6.exe)沒有DCOM條目,默認情況下ISS帳戶沒有適當的權限。

本文概述瞭如何解決此問題。 http://support.microsoft.com/kb/q259725/

1

我剛剛碰到同樣的問題,並應用上面的「修復」後,仍然有一個問題。我發現確保Web應用程序關閉了匿名身份驗證(我使用了Windows身份驗證),最終允許我從傳統ASP調試vb6。

從這我不能否註冊表項,或DCOM權限更改(都來自q259725),有助於修復。

希望這可以幫助別人!

3

我最近在我們的開發環境中從WinXP到Win7有相同的經歷,並且對我們的一些傳統應用程序也有同樣的痛苦。這是我如何修復它。

爲了清楚起見,我們的經典ASP網站打電話給我們的內部VB6 .dll,並且這些.dll文件是我希望能夠進入和調試的.dll文件。

啓用32位應用程序

在應用程序池部分,右鍵點擊該網站的應用程序池,然後選擇「高級設置」。

  • 將'啓用32位應用程序'更改爲'真'。

  • 將'Managed Pipeline Mode'更改爲'Classic'。

ASP認證

由於@GregWoods曾建議,檢查IIS網站的認證細節,具體情況如下:

  • 匿名身份驗證 - 禁用
  • ASP.Net假冒 - 禁用
  • 基本身份驗證 - 已啓用
  • 窗體身份驗證 - 禁用
  • Windows身份驗證 - 啓用

運行Visual Basic IDE中的VB6應用程序,並打開一個網頁瀏覽器;導航到網站,當代碼進入外部VB6 .dll時,Visual Basic 6環境現在應停止在代碼中設置的斷點處。達達。

更多步驟?

我也希望能夠從VS2010或VS2012中自己調試實際的經典ASP頁面......這也完全可能,但還有一個額外的步驟可以添加到此列表中,只需指示IIS:

在IIS中,單擊先前創建的網站,然後在「功能」視圖中單擊「ASP」。

  • 展開「調試屬性」選項組。

  • 將「啓用客戶端調試」更改爲「True」。

  • 將「啓用服務器端調試」更改爲「True」。

  • 點擊'應用'保存。 (「操作」窗格的右上角)。

然後,爲了使在斷點處的Visual Studio停止,你必須附加到進程:

  • 轉至「工具」菜單,選擇「附加到進程.. 」

  • 更改‘附加到’選項設置爲‘自動:本機代碼’

  • 選擇‘w3wp.exe的’進程,然後單擊‘連接’。

現在,當你在你所選擇的瀏覽器中打開該網站,nabigate到您的網站,IIS和VS2010/VS2012將結合工作和Visual Studio將停止任何破發點。

希望這可以幫助你。