2009-07-27 41 views
2

在我維護的Web服務器安裝程序中,我們會跟蹤是否安裝IIS 7和/或ASP(或在Vista或更高版本中安裝)或 如果存在適當的值,則會保存註冊表。在卸載期間,如果該值爲 ,並且沒有其他網站在該計算機上使用IIS,則會詢問用戶 是否要刪除IIS/ASP。如果是這樣,我們刪除我們安裝的任何 。如何在WOW64下卸載IIS 7?

以下是(增加換行符爲清楚起見),我們以刪除IIS 7和ASP 啓動命令:

C:\Windows\system32\pkgmgr.exe /norestart /uu:IIS-WebServerRole; 
IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent; 
IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors; 
IIS-ApplicationDevelopment;IIS-ASP;IIS-ISAPIExtensions; 
IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries; 
IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering; 
IIS-HttpCompressionStatic;IIS-WebServerManagementTools; 
IIS-ManagementConsole;WAS-WindowsActivationService; 
WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI 

這適用於32位系統正常,但不能在所有的工作在64位 系統上,即使禁用了WOW64重定向。 (忽略/ norestart 參數,因爲如果需要 ,安裝程序會在安裝結束時重新啓動。)我甚至嘗試將此命令輸入管理員級命令 提示符(不帶/ norestart參數),但無濟於事。

,我們在使用該命令的install來安裝IIS 7/ASP同樣是 長,它總是工作,所以我無法想象的是,問題是 卸載命令行太長。 (爲了檢驗這一理論,我甚至試過 打破了命令成兩個命令,逐一取出ASP組件,僅 其次,除去休息。同樣的問題,沒有被刪除。)

有一些其他的命令那會在64位系統上做我們想要的嗎?如果 那麼,我們是否必須禁用WOW64重定向,並且它還可以在32位的 系統上工作? (它只會在Vista和更高版本的系統上被調用,在早期的 系統上,我們依靠用戶確保IIS和ASP已預先安裝。)

+0

64位系統返回什麼錯誤? – 2009-07-27 17:55:43

+0

這屬於serverfault?因爲什麼時候是關於Windows Vista的serverfault? – 2009-07-27 17:58:18

回答

0

事實證明,我所遇到的問題與pkgmgr.exe沒有任何關係,除非您想在進行手動測試時發現缺乏耐心,以瞭解它爲什麼不起作用。在安裝程序中,問題在於安裝腳本做了一些阻止命令啓動的操作。在手動測試的情況下,我只是沒有等待命令完成運行。 (在上述命令行的情況下,大約需要幾分鐘)。

0

我不確定這適用於您的問題,但我曾多次被一個事實咬過,一個訪問64位Windows上的HKEY_LOCAL_MACHINE\SOFTWARE密鑰的32位程序實際上會被重定向到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node密鑰。如果您混合使用32位和64位進程,則64位進程將不具有與32位進程相同的註冊表視圖。

0

我已經嘗試了很多解決方案,包括上面給出的解決方案。我簡單的不能刪除Windows企業版x64上的IIS 7 我終於重新安裝了IIS,然後禁用IIS Admin和World Wide Web發佈服務。