2013-03-05 2 views
3

Мы переходим на Windows 7 (включен UAC), и это останавливает стандартных пользователей от установки элементов управления ActiveX для внутреннего веб-приложения.Загрузите и установите activex (.cab) программно

У меня есть доступ к локальной учетной записи администратора, с которой я могу работать с повышенным уровнем, и я могу легко захватить необходимые .cab-файлы. Есть ли простой способ установить их таким образом, чтобы соблюдался файл .inf? В таких файлах .inf содержатся крючки для управления установкой, поэтому я бы не просто вызывал regsvr32 в содержащихся файлах .ocx.

В основном я хотел бы повторить процесс установки IE с помощью C#, с файлами, входящих в «Скачано Program Files», все параметры реестра правильно написано, и т.д.

Btw, я отмечаю, что есть «Установка ActiveX Сервис ", доступный для машин Win7, но это, похоже, не включено/не настроено.

Дополнительная информация

Этот вопрос был помечен как копия и это, безусловно, выглядит похожим на оригинальный вопрос, но в моем случае у меня есть доступ к учетной записи локального администратора, так что мой вопрос конкретно о Эмуляция IE, а не для преодоления ограничений UAC. @Ben предложил решение с помощью advpack (через rundll32), но мне не удалось заставить его работать в моей среде, хотя я продолжу расследование.

Тем временем я смог реализовать метод грубой силы, который точно реплицирует поведение установки с помощью IE. Это влечет за собой поиск и извлечение файлов в каталог «Загруженные программные файлы», вызов regsvr32 в извлеченных файлах ocx/dll, а затем добавление записей в следующие места реестра:

HKLM \ SOFTWARE \ Microsoft \ База данных хранилища кода \ Распространение Единицы HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ModuleUsage HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ SharedDLLs

Я в настоящее время не в состоянии ответить на мой собственный вопрос с этой информацией.

+0

Этот подобный вопрос может быть полезен: http://stackoverflow.com/questions/1769623/issue-with-cab-file-activex-installation-on-windows-vista-and-7?rq=1 –

+0

Спасибо, но его сторонняя сторона, поэтому я не могу перекомпилировать элементы управления. Связанная статья MSDN («Элементы управления ActiveX без управления») выглядит интересной, поскольку она влечет за собой простое изменение в .inf-файле, но я бы предпочел оставить все на стороне сервера нетронутым, если это вообще возможно. Как я уже сказал, у меня есть учетная запись администратора в моем распоряжении, поэтому я теоретически могу преодолеть ограничения UAC. – weaver

ответ

1

Сбросьте необходимый компонент, используя групповую политику, MOM или аналогичную.

Вам просто нужно выработать правильную командную строку для выполнения административной установки компонента, и вы можете добавить это в сценарий входа в систему или аналогичный. После установки компонента «для всех пользователей» проблема должна исчезнуть.

касается того, как сделать это, то есть другой вопрос:

Убедитесь, что вы работать в качестве административного или повышенной счет.

+0

Да, централизованное развертывание было бы идеальным.Но, независимо от механизма доставки, мне нужна «правильная командная строка», как вы предлагаете. Это то, что я ищу здесь. – weaver

+0

Ответ, что нужно сделать для решения проблемы. Добавлена ​​ссылка, как это сделать. – Ben

+0

Я хочу принять это как ответ, потому что, похоже, это то, что мне нужно, но, к сожалению, оно не работает на моей машине dev (XP SP3). Он просто ничего не делает. Предположительно, эту проблему следует ставить как новый вопрос, а не расхождение исходного вопроса? – weaver