如何在WOW64下卸载IIS 7?

时间:2009-07-27 17:54:44

标签: iis-7 asp-classic windows-vista wow64

在我正在维护的Web服务器安装程序中,我们会跟踪是否或 安装程序没有安装IIS 7和/或ASP(在Vista或更高版本下)和 如果是这样,请将适当的值保存到注册表中。在卸载期间,如果那样 值是存在的,没有其他网站在该机器上使用IIS,即用户 被问及是否要删除IIS / ASP。如果是这样,我们删除任何东西 我们安装了。

以下是我们为了删除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 参数,因为安装程序在安装结束时重新启动if 必须。)我甚至尝试将此命令输入管理级命令 提示(没有/ norestart参数),但无济于事。

我们在安装过程中使用的用于安装IIS 7 / ASP的命令是类似的 很久了,它总是有效的,所以我无法想象问题就在于 卸载命令行太长。 (为了测试这个理论,我甚至尝试过 将命令分成两个命令,一个只删除ASP组件 然后一个删除其余的。同样的问题,没有删除。)

是否有其他命令可以在64位系统上执行我们想要的操作?如果 那么,我们是否必须禁用WOW64重定向,它还可以在32位上运行 系统? (它只会在Vista和更高版本的系统上调用 系统,我们依靠用户确保预安装IIS和ASP。)

3 个答案:

答案 0 :(得分:0)

我不确定这是否适用于您的问题,但我一再被一个32位程序访问64位Windows上的HKEY_LOCAL_MACHINE\SOFTWARE密钥重定向到{{1密钥。如果混合使用32位和64位进程,则64位进程将不会具有与32位进程相同的注册表视图。

答案 1 :(得分:0)

事实证明,我遇到的问题与pkgmgr.exe没有任何关系,除非你想在进行手动测试时没有耐心,看看为什么它不起作用。在安装程序中,问题是安装脚本执行了阻止命令启动的操作。在手动测试的情况下,我只是没有等待命令完成运行。 (在上述命令行的情况下,大约需要几分钟。)

答案 2 :(得分:0)

我尝试了许多解决方案,包括上面给出的解决方案。我简单无法在Windows Enterprise x64上删除IIS 7 我最终重新安装了IIS,然后禁用了IIS Admin和World Wide Web发布服务。