Deployment COM+;使用命令行部署应用程序

Deployment COM+;使用命令行部署应用程序,deployment,com+,dcom,Deployment,Com+,Dcom,我需要将COM dll部署为COM+应用程序。我曾经在组件服务管理器(dcomcnfg.exe)中这样做。但我的要求是从命令行部署它。有这样的命令吗 更新:如何卸载相同的软件 谢谢。此vbscript片段创建应用程序并安装组件: Dim catalog Dim applications Dim application Set catalog = CreateObject("COMAdmin.COMAdminCatalog") Set applications = catalog.GetColle

我需要将COM dll部署为COM+应用程序。我曾经在组件服务管理器(dcomcnfg.exe)中这样做。但我的要求是从命令行部署它。有这样的命令吗

更新:如何卸载相同的软件


谢谢。

此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上运行的--其他操作系统可能有不同的行为。而且它看起来确实相当喜怒无常。如果它不起作用,那么错误就非常模糊,毫无帮助

要删除,我认为您必须迭代应用程序中的组件并从列表中删除。我认为删除整个应用程序也需要类似的方法

参考资料


请参阅一篇易于理解的文章(但不在脚本中)。MSDN有一个很好的参考,也是完整的

是两个脚本,用于将COM+应用程序的设置转储到XML文件,以及从和XML文件安装应用程序。它为我以前做类似的事情提供了一个很好的框架。它包含如何使用COM+管理API创建和删除COM+应用程序的示例代码

很高兴你发现脚本很有用Garett嗨Len。它们非常有用。真的很棒。很高兴多年来阅读您的网站。对于2013年仍在使用COM+的人来说,这太棒了。非常感谢,Len。(哦,安装脚本第1360行缺少一个括号;-)