我需要将COM dll部署为COM +应用程序。我曾经从组件服务管理器(dcomcnfg.exe)那样做。但我的要求是从命令行部署它。是否有命令这样做?
更新:以及如何卸载它?
感谢。
答案 0 :(得分:7)
Here是一些脚本,它们将COM +应用程序的设置转储到XML文件,以及从XML文件安装应用程序。它为我提供了一个很好的框架来做类似的事情。它包含如何使用COM +管理API创建和删除COM +应用程序的示例代码。
答案 1 :(得分:0)
此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上运行 - 其他操作系统可能有不同的行为。它看起来确实很有气质。如果它不起作用,错误实际上是模糊和无益的。
要删除我认为您必须遍历应用程序中的组件并从列表as per this example中删除。我认为需要采用类似的方法来删除整个应用程序。
<强>参考强>
请参阅Configurating COM+以获取易于理解的文章(但不在脚本中)。 MSDN对Automating COM+ Administration以及完整的COM+ Administration Reference有很好的参考。