公司使用的FW還是使用.net 1.1的架構,考慮到自己沒米買筆記本進行2.0下的開發,也趁著公司電腦的記憶體是1G ,不用則廢,於是安裝了一個 Vmware Workstation;沒有系統安裝光碟片,便down了一個xp的光碟片iso.不想這個iso不帶IIS 的安裝組件。鬱悶了好久。
沒法子,下一個操作的ISO也挺辛苦的,便改下了一個IIS5 的壓縮包。
開始時,添加/刪除windows 組件嚮導裡都沒有" Internet 資訊服務 "這個選擇項。按照網上高人的例子,把這個選項給揪了出來。
方法是:進入C:\WINDOWS\INF\SYSOC.INF ,用記事本開啟,在[COMPONENTS]下
找到此行:iis=iis.dll,OcEntry,iis.inf,hide,7 改為 iis=iis.dll,OcEntry,iis.inf,,7 .
如果沒有這行,直接加上即可 ,儲存。重新開啟添加/刪除windows 組件嚮導便會有這個選項。
然後同正常的光碟片安裝IIS一樣,選擇IIS5壓縮包的釋放路徑,進行安裝。安裝期間,系統可能會提示缺少一些dl_檔案,可以使用系統的搜尋功能搜尋檔案名稱,注意不要帶尾碼搜尋。 像 .dl_ .in_ 都是一些windows的壓縮檔,安裝嚮導可以自動從中提取。
經過漫長的安裝,終於OK了。滿以為大事已成,誰知隨便運行一個asp程式都不能運行。系統提示 The requested resource is in use
折騰了無從下手, 後來想到偵錯工具有調試日誌,按這樣的話,系統解析asp引擎出錯應該在系統日誌裡也能夠找到解決的線索。遂 運行 eventvwr ,調出時間查看器。果然,在 系統 分類下,找到了很多 錯誤。錯誤訊息如下:
應用程式-特定 使用權限設定未將 COM 伺服器應用程式(CLSID 為
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 啟用 許可權授予使用者 IBM-D882681D063\IWAM_ZHANGYUXIANG SID
(S-1-5-21-1304240173-3011969147-3728014682-1013)。可以使用元件服務管理工具修改此安全許可權
按照別人的提示,我開啟 控制台>管理工具>元件服務>電腦>我的電腦>DCOM選項 ,找到 IIS ADMIN SERVICE 這個組件,右鍵點屬性,在 安全>啟動和啟用許可權 中選擇 自訂。查看了下自訂 選項是否有 IWAM_ZHANGYUXIANG 這個帳戶。我看的是存在這個帳戶,然後儲存修改。 開啟IE,重新運行了該程式,發現OK。 解決!
後來我在此基礎上安裝了.net 2.0 framework ,運行2.0 asp.net程式時,同樣出現這樣的問題
電腦-預設 使用權限設定未將 COM 伺服器應用程式(CLSID 為
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 啟用 許可權授予使用者 ZHANGYUXIANG\ASPNET SID (S-1-5-21-1417001333-764733703-839522115-1003)。可以使用元件服務管理工具修改此安全許可權。
同樣是設定 IIS ADMIN SERVICE 的屬性,只是這次是沒有 aspnet 這個帳戶存在 這個組件的屬性中,輕輕鬆鬆添加儲存,問題便迎刃而解 。
附:在window xp home 版中安裝iis,如果碰到此類問題,亦可以用這種方法解決。
特別是分析下事件檢視器的日誌,對處理問題是有很大協助的