Развертывание приложения COM+ с помощью командной строки

Мне нужно развернуть COM-dll как приложение COM+. Раньше я делал это из диспетчера служб компонентов (dcomcnfg.exe). Но мое требование - развернуть его из командной строки. Есть ли команда для этого?

Обновление: А как удалить то же самое?

Спасибо.


person bdhar    schedule 10.05.2010    source источник


Ответы (2)


Вот приведена пара сценариев, которые также выгружают настройки приложения COM+ в XML-файл. как устанавливает приложения из XML-файла. Это дало мне хорошую основу для создания чего-то подобного некоторое время назад. Он содержит пример кода создания и удаления приложений COM+ с помощью API администрирования COM+.

person Garett    schedule 23.06.2010
comment
Рад, что вы нашли сценарии полезными, Гаретт. - person Len Holgate; 10.10.2011
comment
Привет, Лен. Они были очень полезны. Действительно отличная работа. С удовольствием читал ваш сайт на протяжении многих лет. - person Garett; 10.10.2011
comment
Для тех из нас, кто все еще работает с COM+ в 2013 году — ФАНТАСТИЧЕСКАЯ. Большое спасибо и Спасибо, Лен. - person Chris Wallis; 19.04.2013
comment
(О, и в строке 1360 сценария установки отсутствует скобка ;-) - person Chris Wallis; 19.04.2013

Этот фрагмент vbscript создает приложение и устанавливает компонент:

Dim catalog
Dim applications
Dim application
Set catalog = CreateObject("COMAdmin.COMAdminCatalog")
Set applications = catalog.GetCollection("Applications")
Call applications.Populate
Set application = applications.Add()


' ID is an arbitrary GUID, that you can create using uuidgen
application.Value("ID") = "{da2d72e3-f402-4f98-a415-66d21dafc0a9}"
application.Value("Name") = "SampleApp"
application.Value("Activation") = 0' COMAdmin.COMAdminActivationOptions.COMAdminActivationLocal
application.Value("ApplicationAccessChecksEnabled") = 0 'COMAdmin.COMAdminAccessChecksLevelOptions.COMAdminAccessChecksApplicationComponentLevel
application.Value("Description") = "Sample Application"
'application.Value("Identity") = "machine\administrator"
'application.Value("Password") = "YourPassword"
application.Value("RunForever") = True

Call applications.SaveChanges

catalog.InstallComponent "SampleApp", "C:\Documents and Settings\me\My Documents\Test\MyTestProj.dll", "", ""


Set application = Nothing
Set applications = Nothing
Set catalog = Nothing

Это работает в Windows XP - другие ОС могут иметь другое поведение. И, кажется, довольно темпераментный. Если это не работает, ошибки действительно расплывчаты и бесполезны.

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

Ссылки

См. Настройка COM+, где представлена ​​хорошая и понятная статья (но не в виде сценария). В MSDN есть хороший справочник по Автоматизация администрирования COM+ а также полный Справочник по администрированию COM+ .

person Randy supports Monica    schedule 10.05.2010