2010-05-10 4 views
6

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

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

Спасибо.

ответ

7

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

+2

Рад, что вы нашли скрипты полезными Гареттом. –

+0

Hi Len. Они были очень полезны. Действительно отличная работа. На протяжении многих лет вы читали свой сайт. – Garett

+0

Для тех из нас, кто еще работает с COM + в 2013 году - FANTASTIC. Большое спасибо и спасибо, Лен. –

0

Этот 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 - другие ОС могут иметь различное поведение. И это кажется довольно темпераментным. Если это не работает, ошибки действительно расплывчаты и бесполезны.

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

Ссылки

См Configurating COM+ для хорошего легко понять статьи (но не в сценарии). MSDN имеет хорошую ссылку на Automating COM+ Administration, а также на полный COM+ Administration Reference.

Смежные вопросы