【问题标题】:COM+ application deployment using command-line使用命令行部署 COM+ 应用程序
【发布时间】:2010-05-10 08:58:34
【问题描述】:

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

更新:以及如何卸载相同?

谢谢。

【问题讨论】:

    标签: deployment com+ dcom


    【解决方案1】:

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

    【讨论】:

    • 很高兴您发现这些脚本对 Garett 很有用。
    • 嗨,莱恩。它们非常有用。真的很棒的工作。多年来一直喜欢阅读您的网站。
    • 对于我们这些在 2013 年仍在使用 COM+ 的人 - 太棒了。非常感谢,谢谢,Len。
    • (哦 - 安装脚本的第 1360 行缺少括号 ;-)
    【解决方案2】:

    这个 vbscript sn -p 创建一个应用程序并安装一个组件:

    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 上有很好的参考。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-19
      • 2012-03-14
      • 1970-01-01
      相关资源
      最近更新 更多