2010-05-10 16 views
6

Devo distribuire la mia DLL COM come applicazione COM +. Ero solito farlo dal gestore dei servizi componenti (dcomcnfg.exe). Ma il mio requisito è quello di distribuirlo dalla riga di comando. C'è un comando per farlo?Distribuzione di applicazioni COM + tramite riga di comando

Aggiornamento: E come disinstallare lo stesso?

Grazie.

risposta

7

Here sono un paio di script che eseguono il dump delle impostazioni di un'applicazione COM + in un file XML, oltre a installazioni di applicazioni e file XML. Mi ha fornito una buona struttura per fare qualcosa di simile qualche tempo fa. Contiene codice di esempio su come creare e rimuovere le applicazioni COM + utilizzando l'API di amministrazione di COM +.

+2

Felice di aver trovato gli script utili per Garett. –

+0

Ciao Len. Erano molto utili. Davvero un ottimo lavoro. Mi è piaciuto leggere il tuo sito nel corso degli anni. – Garett

+0

Per quelli di noi che lavorano ancora con COM + nel 2013 - FANTASTICO. Grazie mille e grazie, Len. –

0

Questo frammento di codice VBScript crea un'applicazione e installa 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 

Questo è in esecuzione su Windows XP - altri OS possono avere un comportamento diverso. E sembra essere piuttosto di temperamento. Se non funziona, gli errori sono davvero vaghi e inutili.

Per eliminare penso che sarà necessario scorrere i componenti nell'applicazione e rimuovere dall'elenco as per this example. Penso che sarebbe necessario un approccio simile per rimuovere l'intera applicazione.

Riferimenti

Vedi Configurating COM+ per una buona facile da capire articolo (ma non è nello script). MSDN ha una buona referenza su Automating COM+ Administration e anche il completo COM+ Administration Reference.

Problemi correlati