Web Installer для сбоя приложения ASP.NET на компьютерах под управлением IIS7 - PullRequest
3 голосов
/ 11 сентября 2009

У меня есть относительно простое приложение ASP.NET, для которого я пытаюсь создать установщик. В настоящее время я использую Visual Studio 2008 «Проект веб-установки», который, хотя мне говорят, что он не идеален, не показал никаких проблем при установке на Windows Server 2003 и IIS6.

IIS7 на Server 2008 и Vista оказался значительно сложнее. Программа установки запускается нормально, а затем останавливается с бесполезным « Программа установки была прервана, прежде чем ее можно было установить. Вам нужно перезапустить программу установки, чтобы повторить попытку. » UAC выключен, и я уже убедился m выполнение программы установки с правами администратора.

Проблема звучит идентично проблеме, описанной в этом сообщении в блоге , однако у меня уже установлена ​​служба роли совместимости метабазы ​​IIS6. Я также пытался поиграться с AppPools, встроенными / классическими конвейерами и т. Д., Но все безрезультатно.

С тех пор я включил ведение журнала MSI и, хотя я не нашел ничего конкретного, я считаю, что откат начинается где-то вокруг этого сообщения об ошибке.

Ошибка указывает, что IIS работает в 64-битном режиме, в то время как это приложение является 32-битным приложением и, следовательно, не совместимо.

Это не имеет никакого смысла для меня, так как Vista и Server 2008 являются 32-битными установками. Я подозреваю, что это красная сельдь, но я не уверен.

Кто-нибудь сталкивался с подобной проблемой, и если да, то есть ли решение, которое не предполагает перехода на другую среду установки?

Ответы [ 2 ]

1 голос
/ 07 июля 2012

Чтобы исправить это сообщение об ошибке для пользователей Windows 2003 x64, введите в командной строке следующие команды:

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

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

aspnet_regiis.exe -i 

Источник:
Как запустить веб-приложение Microsoft .NET 2.0 или выше в 32-разрядном режиме в IIS 6.0 на 64-разрядном сервере

Примечание:
Сделав первый шаг, вы заметите, что вкладка ASP.net больше не видна.
Это известная ошибка, и обходной путь - использование сценариев для изменения версии .Net для любых работающих сайтов.

1 голос
/ 11 сентября 2009

Попробуйте поставить дружественную галочку рядом с каждым узлом в

[Программы и компоненты // Включение или отключение функций Windows // Информационные службы Интернета // Инструменты веб-управления // Совместимость управления IIS 6]

Обратите внимание, что у меня были те же симптомы, опубликованные в блоге, и это исправило это для меня. У тебя могут быть разные.

Просто взялся за эту последнюю ночь, поэтому я искренне желаю вам удачи.

...