Фон:
Я поджарил свой старый жесткий диск на работе и получил новый. При этом мне придется перестроить мою машину. Мой менеджер имеет Windows 7, установленную на нем ноутбуком с ноутбуком, который я использовал, пока моя машина не работает. Но я столкнулся с проблемой.
У нас есть довольно много приложений, которые используют ссылку Microsoft.Office.Interop.Excel. Я пропустил несколько ошибок до сих пор, но тот, за которым я застрял последние несколько дней (моя машина на самом деле потерпела неудачу жесткого диска после первой перестройки), и было невозможно найти исправление. Я искал эту ошибку, но не могу найти кого-либо, имеющего эту проблему, в Windows 7, хотя я пробовал другие исправления для Windows Server 2008 безрезультатно.
Если я не могу исправить эту проблему, я не смогу использовать Windows 7 и хотел бы знать, что до того, как я перестрою машину, нужно только стереть ее и начать снова (в третий раз).
Проблема:
ОС: Windows 7 Enterprise
Сообщение об ошибке: Исключение из HRESULT: 0x800A03EC
Код:
Private m_xls As Microsoft.Office.Interop.Excel.Application
Private m_wkbk As Microsoft.Office.Interop.Excel.Workbook
Private m_wksht As Microsoft.Office.Interop.Excel.Worksheet
m_xls = New Application
m_xls.Visible = False : m_xls.DisplayAlerts = False
m_wkbk = m_xls.Workbooks.Open(Me.FilePath)
m_wksht = CType(m_wkbk.ActiveSheet, Worksheet)
'...Write some data...'
m_wkbk.SaveAs(Me.FilePath, XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, False, False, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value)
Ошибка в последней строке.
Что я пробовал до сих пор:
- Изменение AppPool для использования Учетная запись NetworkService (это было 'ApplicationPoolIdentity', который я не удалось найти в списке пользователей в Настройки безопасности). Затем давая Полный доступ к учетной записи NetworkService в соответствующую папку.
- Предоставление NetworkService доступа ко всем настройкам "Microsoft Excel Application" в DCOMCNFG
- Запуск этой команды "appcmd set config -section: asp -enableParentPaths: true", потому что это единственное, что я мог найти
- Использование обработанной .SaveCopyAs(), но вызвало разные ошибки.
Я просто хотел увидеть, если кто-то еще сталкивался с этим или нет, поскольку Windows 7 является новой. Я могу пойти с Server 2008, но я хотел бы иметь некоторые обоснованные аргументы, прежде чем я скажу своему менеджеру, что он не будет работать.
Спасибо, Джефф