Проблема с ActiveXObject("WScript.Shell"), IE7
От: XJess  
Дата: 07.09.09 08:39
Оценка:
Привет всем!
В клиентском JavaScript на HTML-странице создаю объект

var WshShell = new ActiveXObject("WScript.Shell");


Этот объект я использую для того, чтобы лазить по реестру на машине клиента (WshShell.RegRead) — так я проверяю наличие нужных ActiveX-компонент на машине клиента. Так вот — открываю страницу из IE7. Если эту страницу класть на localhost и открывать с адреса http://localhost..., то она отлично открывается и объект ActiveXObject("WScript.Shell") отлично создается, а если положить ее на другую машину в нашей сети, и с ее адреса попытаться открыть, то IE показывает ошибку "Automation server can't create object". Кто мне подскажет, что мне с этим делать и как сделать так, чтобы страница нормально открывалась отовсюду? Или, может, кто-нибудь подскажет, как прочесть реестр из клиентского JavaScript каким-то другим способом?
Re: Проблема с ActiveXObject("WScript.Shell"), IE7
От: Sheridan Россия  
Дата: 07.09.09 09:47
Оценка:
ЕМНИП такое невозможно из соображений безопасности. Представь что бы творилось, если бы каждый вася пупкин смог бы к примеру копаться в реестре твоего компа при открытии тобой его страницы.
avalon 1.0rc2 rev 300, zlib 1.2.3
build date: 19.08.2009 14:13:36 MSD +04:00
Qt 4.5.2
Matrix has you...
Re[2]: Проблема с ActiveXObject("WScript.Shell"), IE7
От: XJess  
Дата: 07.09.09 10:45
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>ЕМНИП такое невозможно из соображений безопасности. Представь что бы творилось, если бы каждый вася пупкин смог бы к примеру копаться в реестре твоего компа при открытии тобой его страницы.


А как тогда мне проверить наличие некоего ActiveX-компонента в системе?
Re[3]: Проблема с ActiveXObject("WScript.Shell"), IE7
От: Centaur Россия  
Дата: 07.09.09 11:13
Оценка:
Здравствуйте, XJess, Вы писали:

XJ>А как тогда мне проверить наличие некоего ActiveX-компонента в системе?


Попытаться его использовать. Если он стоит (и разрешён к использованию) — он создастся и заработает. Если нет — вывалится какой-нибудь exception и/или соответствующая переменная будет null.
Re[4]: Что за код ошибки выдается при попытке создания Activ
От: XJess  
Дата: 07.09.09 12:41
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Попытаться его использовать. Если он стоит (и разрешён к использованию) — он создастся и заработает. Если нет — вывалится какой-нибудь exception и/или соответствующая переменная будет null.


Когда я пытаюсь создать этот компонент, мне выдается ошибка 80040112 — CLASS_E_NOTLICENSED, когда компонент установлен в системе и даже спокойно используется на web-странице. Собственно, из-за этого я и пошла через реестр. Было бы здорово, если бы кто-нибудь мне сказал, что с этим кодом ошибки делать.
Re[5]: Что за код ошибки выдается при попытке создания Activ
От: ssmaslov  
Дата: 08.09.09 06:23
Оценка:
Здравствуйте, XJess, Вы писали:

XJ>Здравствуйте, Centaur, Вы писали:


C>>Попытаться его использовать. Если он стоит (и разрешён к использованию) — он создастся и заработает. Если нет — вывалится какой-нибудь exception и/или соответствующая переменная будет null.


XJ>Когда я пытаюсь создать этот компонент, мне выдается ошибка 80040112 — CLASS_E_NOTLICENSED, когда компонент установлен в системе и даже спокойно используется на web-странице. Собственно, из-за этого я и пошла через реестр. Было бы здорово, если бы кто-нибудь мне сказал, что с этим кодом ошибки делать.


Эммм..... а как он может "спокойно используется на web-странице", если он "выдается ошибка 80040112 — CLASS_E_NOTLICENSED"?...
Re[6]: Как подпихнуть лицензию при создании объекта ActiveXO
От: XJess  
Дата: 08.09.09 08:23
Оценка:
Здравствуйте, ssmaslov, Вы писали:

S>Эммм..... а как он может "спокойно используется на web-странице", если он "выдается ошибка 80040112 — CLASS_E_NOTLICENSED"?...


Тааак... Я поняла, кажется, что к чему...
На странице он используется в таге <object>, а лицензия задается чем-то вроде такого:

<OBJECT CLASSID = "clsid:5220cb21-c88d-11cf-b347-00aa00a28331" VIEWASTEXT>
   <PARAM NAME="LPKPath" VALUE="relative URL to .LPK file">
</OBJECT>


А я пытаюсь создать объект в коде с помощью вызова

ActiveXObject("X.Y.1");


Так вот, именно этот вызов возвращает мне такую ошибку. А вот как подпихнуть эту лицензию этому вызову, я пока не знаю . Если кто-то знает, то скажите..
Re[7]: Как подпихнуть лицензию при создании объекта ActiveXO
От: dudkin  
Дата: 08.09.09 08:38
Оценка:
Здравствуйте, XJess, Вы писали:

XJ>Так вот, именно этот вызов возвращает мне такую ошибку. А вот как подпихнуть эту лицензию этому вызову, я пока не знаю . Если кто-то знает, то скажите..


http://www.codeproject.com/KB/COM/ActiveXLicenceInfo.aspx?display=Print
Re: Вопрос закрыт
От: XJess  
Дата: 08.09.09 11:18
Оценка:
Всем спасибо за внимание!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.