2009-07-27 40 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发布服务。