Развертывание приложения COM + с помощью командной строки - PullRequest
6 голосов
/ 10 мая 2010

Мне нужно развернуть мою COM DLL как приложение COM +. Я делал это из диспетчера служб компонентов (dcomcnfg.exe). Но мое требование состоит в том, чтобы развернуть его из командной строки. Есть команда, чтобы сделать это?

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

Спасибо.

Ответы [ 2 ]

7 голосов
/ 23 июня 2010

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

0 голосов
/ 11 мая 2010

Этот фрагмент кода 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 + .

...