简体   繁体   English

ASP.NET应用程序的Web安装程序在运行IIS7的计算机上失败

[英]Web Installer for an ASP.NET application failing on machines running IIS7

I have a relatively simple ASP.NET application that I am trying to create an installer for. 我有一个相对简单的ASP.NET应用程序,我正在尝试为其创建安装程序。 I am currently using Visual Studio 2008's "Web Setup Project" which, though I'm told is not ideal, has proved no problems when installing on Windows Server 2003 & IIS6. 我目前正在使用Visual Studio 2008的“Web安装项目”,虽然我被告知并不理想,但在Windows Server 2003和IIS6上安装时证明没有问题。

IIS7 on Server 2008 and Vista has proved substantially more difficult. 事实证明,Server 2008和Vista上的IIS7更加困难。 The installer starts off fine before halting with an unhelpful " The installer was interrupted before could be installed. You need to restart the installer to try again. " UAC is switched off, and I've already ensured I'm executing the installer with administritive privledges. 安装程序启动正常,然后暂停“无助” 安装程序在安装之前被中断。您需要重新启动安装程序才能再次尝试。 “UAC已关闭,我已经确保我正在使用administritive执行安装程序privledges。

The problem sounds identical to the issue outlined in this blog post , however I have the IIS6 Metabase Compatibility role service installed already. 问题听起来与本博文中列出的问题相同,但我已经安装了IIS6元数据库兼容性角色服务。 I've also tried playing around with AppPools, the Integrated/Classic pipelines and so on, all to no avail. 我也试过玩AppPools,集成/经典管道等等,但都无济于事。

I've since turned on MSI logging and, whilst I found nothing concrete, I believe the rollback begins somewhere around this error message. 我已经开启了MSI日志记录,虽然我没有发现任何具体内容,但我相信回滚会在此错误消息的某处开始。

The error indicates that IIS is in 64 bit mode, while this application is a 32 bit application and thus not compatible. 该错误表明IIS处于64位模式,而此应用程序是32位应用程序,因此不兼容。

This doesn't make any sense to me whatsoever, as both Vista and Server 2008 are 32-bit installations. 这对我来说没有任何意义,因为Vista和Server 2008都是32位安装。 I suspect it's a red herring, but I can't be sure. 我怀疑它是红鲱鱼,但我不能确定。

Has anyone encountered a similar problem, and if so, is there a solution that doesn't involve me moving to a different installation framework? 有没有人遇到类似的问题,如果有的话,是否有一个解决方案不涉及我转移到不同的安装框架?

In order to fix that error message for those using Windows 2003 x64, use the following commands from a cmd prompt: 要为使用Windows 2003 x64的用户修复该错误消息,请使用cmd提示符中的以下命令:

cscript.exe %SystemDrive%\Inetpub\AdminScripts\adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"

cd WINDOWS\Microsoft.NET\Framework\v2.0.50727

aspnet_regiis.exe -i 

Source: 资源:
How to Run a Microsoft .NET 2.0 or higher Web Application in 32-bit Mode in IIS 6.0 on a 64-bit Server 如何在64位服务器上的IIS 6.0中以32位模式运行Microsoft .NET 2.0或更高版本的Web应用程序

Note: 注意:
By doing the first step, you will now notice that the ASP.net tab is no longer visible. 通过执行第一步,您现在将注意到ASP.net选项卡不再可见。
This is a known bug and the work around is too use scripts to change the .Net version for any running sites. 这是一个已知的错误,并且解决方法是使用脚本来更改任何正在运行的站点的.Net版本。

Try putting a friendly lil checkmark beside each node in 尝试在每个节点旁边放一个友好的lil复选标记

[Programs and Features // Turn Windows features on or off // Internet Information Services // Web Management Tools // IIS 6 Management Compatibility] [程序和功能//打开或关闭Windows功能// Internet信息服务// Web管理工具// IIS 6管理兼容性]

Note that I had the same symptoms posted in the blog though, and this fixed it for me. 请注意,我在博客中发布了相同的症状,这对我来说是固定的。 Yours may be different. 你的可能会有所不同。

Just tackled this last night, therefore my sincerest good luck to you. 刚刚解决了这个问题,所以我最诚挚的祝你好运。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM