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