Создать App_Data и зарегистрировать приложение Excel при развертывании ASP.NET?(IIS7) - PullRequest
0 голосов
/ 23 мая 2011

Я развертываю приложение ASP.NET MVC3 в IIS7. Я уже развернул другие приложения, но они никогда не использовали папку App_Data или какой-либо дополнительный компонент, такой как библиотека Interop.

Я использовал развертывание одним щелчком и подал в суд на пул приложений по умолчанию. Когда я запускаю приложение, я сразу же получаю сообщение об ошибке:

[веб-доступ] Извините, при обработке вашего запроса произошла ошибка.

[просмотр из IIS7] Не удалось найти часть пути 'D: \ Data \ Apps \ OppUpdate \ App_Data \ Test.xlsx'.

Затем я вручную добавил папку App_Data в каталог развертывания, и приложение запускается регулярно. Затем, когда дело доходит до такс, который использует библиотеку Interop, я получаю следующую ошибку:

[веб-доступ] Извините, при обработке вашего запроса произошла ошибка.

[обзор из IIS7] Не удалось получить фабрику класса COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG) )).

Есть ли способ автоматического добавления папки App_Data при использовании развертывания в 1 клик? Как я могу зарегистрировать услуги Interop?

Спасибо тебе,

Francesco

1 Ответ

0 голосов
/ 24 мая 2011

Очевидно, что проблема связана с Server 2008. Приложение Excel, которое будет выполняться на стороне сервера, вызывает всплывающее окно безопасности, которое теперь присутствует в MS OS, такой как Win 7 и Vista. Это диалоговое окно, которое отображается пользователям каждый раз, когда они запускают приложение, и предупреждает их о повреждениях, которые может нанести недоверенное приложение на их ПК. Очевидно, что когда приложение, в данном случае Excel, запускается другим приложением, в данном случае веб-приложением, диалоговое окно не появляется, а сервер не получает разрешение на запуск Excel.

Решение этой ужасающей ошибки в Microsoft IIS & Excel просто потрясающее:

Создать каталог "C: \ Windows \ SysWOW64 \ config \ systemprofile \ Desktop" Установить права полного доступа для рабочего стола каталога (например, в Win7 & IIS 7 и DefaultAppPool установить разрешения для пользователя «IIS AppPool \ DefaultAppPool»)

источник: http://forums.iis.net/t/1148371.aspx

...