Мне нужно развернуть COM-dll как приложение COM+. Раньше я делал это из диспетчера служб компонентов (dcomcnfg.exe). Но мое требование - развернуть его из командной строки. Есть ли команда для этого?
Обновление: А как удалить то же самое?
Спасибо.
Мне нужно развернуть COM-dll как приложение COM+. Раньше я делал это из диспетчера служб компонентов (dcomcnfg.exe). Но мое требование - развернуть его из командной строки. Есть ли команда для этого?
Обновление: А как удалить то же самое?
Спасибо.
Вот приведена пара сценариев, которые также выгружают настройки приложения COM+ в XML-файл. как устанавливает приложения из XML-файла. Это дало мне хорошую основу для создания чего-то подобного некоторое время назад. Он содержит пример кода создания и удаления приложений COM+ с помощью API администрирования COM+.
Этот фрагмент 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+ .