2010-05-10 7 views
6

Je dois déployer ma DLL COM en tant qu'application COM +. J'avais l'habitude de faire cela à partir du gestionnaire de services de composants (dcomcnfg.exe). Mais mon exigence est de le déployer depuis la ligne de commande. Y a-t-il une commande pour le faire?Déploiement d'applications COM + à l'aide de la ligne de commande

Mise à jour: Et comment les désinstaller?

Merci.

Répondre

7

Here sont un couple de scripts qui vider les paramètres d'une application COM + dans un fichier XML, ainsi que d'installer des applications à partir du fichier XML. Cela m'a fourni un bon cadre pour faire quelque chose de similaire il y a quelque temps. Il contient un exemple de code pour créer et supprimer des applications COM + à l'aide de l'API d'administration COM +.

+2

Heureux que vous avez trouvé les scripts utiles Garett. –

+0

Salut Len. Ils étaient très utiles. Vraiment super boulot. Nous avons apprécié la lecture de votre site au fil des ans. – Garett

+0

Pour ceux d'entre nous qui travaillent encore avec COM + en 2013 - FANTASTIC. Merci beaucoup et merci, Len. –

0

Cet extrait vbscript crée une application et installe un composant:

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 

Ceci est en cours d'exécution sur Windows XP - d'autres systèmes d'exploitation peuvent avoir un comportement différent. Et il semble être assez capricieux. Si cela ne fonctionne pas, les erreurs sont vraiment vagues et inutiles. Pour supprimer, je pense que vous devrez parcourir les composants de l'application et supprimer de la liste as per this example. Je pense qu'une approche similaire serait nécessaire pour supprimer l'ensemble de l'application.

Références

Voir Configurating COM+ pour un bon facile à comprendre l'article (mais pas dans le script). MSDN a une bonne référence sur Automating COM+ Administration et également le COM+ Administration Reference complet.

Questions connexes