Ошибка создания ActiveXObject "Сервер автоматизации не может создать объект"
У меня очень простой код javascript,
<script language="javascript">
function RunExe()
{
w = new ActiveXObject("WScript.Shell");
w.run('notepad.exe');
return true;
}
</script>
<form id="form1">
<div>
<input type="button" value="Run" onclick="return RunExe()" />
</div>
</form>
Создайте объект activeX для запуска notepad.exe, если я сохраню его в обычном html и запустил его в IE, он отлично работает, открывая блокнот, но если я вставляю его на страницу aspx и запускаю его, он даст ошибку, называемую "Сервер автоматизации, не может создать объект", я много раз ее запускал в Google, но те вещи безопасности IE, которые я уже сделал, и я думаю, что это что-то в ASP или IIS, которые я не мог понять.
Ваши предложения и материалы очень заметны.
Thanx
Ответы
Ответ 1
Ну, вы не можете запустить код из блокнота, так что это означает, что вы открываете страницу из файловой системы. aka c:/foo/bar/hello.html
Когда вы запускаете код с страницы asp.net, вы запускаете его из localhost. aka http://loalhost:1234/assdf.html
Каждый из них запускается в разных зонах безопасности в IE.
Ответ 2
Это вызвано параметрами безопасности для Internet Explorer. Вы можете исправить это, изменив настройки интернет-проводника. Перейти к настройкам- > Свойства обозревателя- > вкладки безопасности. Вы увидите разные зоны: i) Интернет ii) Местная интрасеть iii) Надежные сайты iv) Ограниченные сайты. В зависимости от вашего требования выберите одну зону. Я запускаю свое приложение в localhost, поэтому я выбрал Local intranet, а затем нажмите кнопку Custom Level. Откроется окно настроек безопасности. Пожалуйста, включите Initialize и script Элементы ActiveX, не помеченные как безопасные для параметра сценариев. Он должен работать.
![enter image description here]()
![enter image description here]()
Ответ 3
Для этого вам действительно нужно действительно ослабить свои настройки безопасности (обычно НЕ рекомендуется)
Вам нужно будет добавить веб-сайт в свою "доверенную зону", затем перейдите в пользовательские настройки (прокрутите примерно на 1/2 пути вниз по странице) и измените:
Элементы управления ActiveX и плагины
- Включить (или пригласить)... любые настройки, которые применяются к вашему коду (я думаю, что последний - тот, который вы нажимаете)
- "script Элементы ActiveX, помеченные как безопасные для сценариев *"
Все сказанное, если у вас нет действительно хорошей причины для этого, вы открываете большую "дыру" в вашей безопасности браузеров... шаг очень осторожно... и не ожидаем, что другие конечные пользователи захотят сделать то же самое.
Ответ 4
У меня также есть такая же проблема и решить ее.
Пожалуйста, перейдите по ссылке
добавьте свой сайт в доверенную зону и измените следующие параметры, т.е.
Меню "Сервис" → "Свойства обозревателя" → "Безопасность" → "Пользовательский уровень" → "Инициализация и script Элементы управления ActiveX, не помеченные как безопасные для сценариев"
http://forums.codeguru.com/showthread.php?t=256114
Ответ 5
У меня та же проблема, она решена путем регистрации dll
при свойствах проекта = > build = > register for COM interop = > проверить его
Ответ 6
Эта ошибка является причиной кластеров безопасности между веб-приложением и вашей Java. Чтобы решить эту проблему, загляните в настройки java под панелью управления. Переместите уровень безопасности на носитель.