Центр обновления Windows KB4338819 COM-компонент "Не удается создать объект"
Мы используем компонент C# COM для связи нашего классического приложения asp с SQL Server.
Поскольку обновление Windows KB4338819
Когда я запускаю приложение, мы получаем исключение ASP:
Microsoft JScript runtime error '800a01ad'
Automation server can't create object
выполнение строки ASP:
var foo = Server.CreateObject("MyComComponent");
Если я удаляю обновление, оно работает.
Пул приложений настроен на разрешение 32-битных приложений (значение: true
) (даже без обновления, если установлено false
мы получаем ту же ошибку)
Идеи? Есть ли лучшее место, чтобы задать такой вопрос?
Спасибо!
ОБНОВИТЬ:
Microsoft признает проблему, но они все еще работают над решением. Между тем они предлагают некоторые обходные пути здесь:
3 ответа
Проверьте, можете ли вы решить проблему, изменив конфигурацию IIS, как описано здесь https://stackoverflow.com/questions/51310868/c-sharp-com-object-can-no-longer-be-created-from-classic-asp-since-kb4338419/51312721
У меня такая же проблема. В приложении asp я не могу создать COM-объекты из сборки.Net (независимо от 32-битного или 64-битного приложения). У меня есть проверка подлинности Windows и удостоверение личности NetworkService. Я пытался изменить это, но это не помогло. Помогает только одно - удалить kb4338819.
Файл Default.asp ---------------- <% 'Default.asp 'Пул приложений настроен на разрешение 32-битных приложений Response.Write "привет
" Библиотека времени выполнения сценариев Microsoft ( C:\Windows\System32\scrrun.dll и C:\Windows\SysWOW64/scrrun.dll) Установить fso = Server.CreateObject("Scripting.FileSystemObject") 'ОК Установить d = Server.CreateObject("Scripting.Dictionary") 'ОК Основная сборка взаимодействия (PIA) для ADO ( C:\Program Files (x86)\Microsoft.NET\ Основные сборки взаимодействия \adodb.dll) Установить conn = Server.CreateObject("ADODB.Connection") 'ОК сбой при комментировании кода Application_OnStart (перезапуск пула вручную после изменений в Global.asa) Windows Update KB4338819 виноват Set arr = Server.CreateObject("System.Collections.ArrayList") 'Сбой Set md5 = Server.CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider") 'Сбой Set utf16 = Server.CreateObject("System.Text.UnicodeEncoding") 'не работает Set sha1 = Server.CreateObject("System.Security.Cryptography.SHA1Managed") 'не работает Response.Write "готово" %> Файл Global.asa ---------------