2010-05-10 6 views
6

Ich muss meine COM-DLL als eine COM + -Anwendung bereitstellen. Ich habe das vom Component Services Manager (dcomcnfg.exe) gemacht. Aber meine Anforderung besteht darin, es über die Befehlszeile zu implementieren. Gibt es einen Befehl, das zu tun?COM + -Anwendung Bereitstellung mithilfe der Befehlszeile

Update: Und wie das gleiche zu deinstallieren?

Danke.

Antwort

7

Here sind ein paar Skripts, die die Einstellungen einer COM + -Anwendung in eine XML-Datei ablegen sowie Anwendungen aus einer XML-Datei installieren. Es bot mir einen guten Rahmen, um vor einiger Zeit etwas Ähnliches zu tun. Es enthält Beispielcode zum Erstellen und Entfernen von COM + -Anwendungen mithilfe der COM + -Administrations-API.

+2

Froh, dass Sie die Skripte Garett nützlich fanden. –

+0

Hallo Len. Sie waren sehr nützlich. Wirklich tolle Arbeit. Viel Spaß beim Lesen Ihrer Website im Laufe der Jahre. – Garett

+0

Für diejenigen von uns, die 2013 noch mit COM + arbeiten - FANTASTISCH. Vielen Dank und Danke, Len. –

0

Dieses Vbscript Snippet erstellt eine Anwendung und installiert eine Komponente:

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 

Dies wird unter Windows XP - andere Betriebssysteme ein unterschiedliches Verhalten aufweisen. Und es scheint ziemlich temperamentvoll zu sein. Wenn es nicht funktioniert, sind die Fehler sehr vage und nicht hilfreich.

Zum Löschen Ich denke, Sie müssen über die Komponenten in der Anwendung iterieren und aus der Liste as per this example entfernen. Ich denke, ein ähnlicher Ansatz wäre erforderlich, um die gesamte Anwendung zu entfernen.

Referenzen

Siehe Configurating COM+ für einen guten einfachen Artikel zu verstehen (aber ist in Skript nicht). MSDN hat eine gute Referenz auf Automating COM+ Administration und auch die komplette COM+ Administration Reference.

Verwandte Themen