Ошибка создания 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 под панелью управления. Переместите уровень безопасности на носитель.