2010-05-10 16 views
6

Necesito implementar mi COM dll como una aplicación COM +. Solía ​​hacer eso desde el administrador de servicios de componentes (dcomcnfg.exe). Pero mi requisito es desplegarlo desde la línea de comandos. ¿Hay un comando para hacer eso?Despliegue de la aplicación COM + utilizando la línea de comando

Actualización: ¿Y cómo desinstalar lo mismo?

Gracias.

Respuesta

7

Here son un par de scripts que vuelcan las configuraciones de una aplicación COM + a un archivo XML, así como instalan aplicaciones desde un archivo XML. Me proporcionó un buen marco para hacer algo similar hace un tiempo. Contiene un código de ejemplo de cómo crear y eliminar aplicaciones COM + utilizando la API de administración COM +.

+2

Me alegra que haya encontrado las secuencias de comandos útiles Garett. –

+0

Hola, Len. Fueron muy útiles. Un gran trabajo. Disfrutado leyendo su sitio a lo largo de los años. – Garett

+0

Para aquellos de nosotros que todavía trabajamos con COM + en 2013 - FANTÁSTICO. Muchas gracias y gracias, Len. –

0

Este fragmento de código VBScript crea una aplicación e instala un componente:

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 

Esto se ejecuta en Windows XP - otros sistemas operativos pueden tener un comportamiento diferente. Y parece ser bastante temperamental. Si no funciona, los errores son muy vagos e inútiles.

Para eliminar Creo que tendrá que iterar sobre los componentes de la aplicación y eliminarlos de la lista as per this example. Creo que se necesitaría un enfoque similar para eliminar toda la aplicación.

Referencias

Ver Configurating COM+ para un buen artículo fácil de entender (pero no está en escritura). MSDN tiene una buena referencia en Automating COM+ Administration y también la completa COM+ Administration Reference.

Cuestiones relacionadas