Deployment 推荐的部署VMware PowerCLI命令行控制台应用程序的方法

Deployment 推荐的部署VMware PowerCLI命令行控制台应用程序的方法,deployment,command-line,console,vmware,powercli,Deployment,Command Line,Console,Vmware,Powercli,带.NET的PowerCLI对dll有一些依赖关系,只有在要运行的每台计算机上安装PowerCLI时才能获得这些依赖关系。 我有一个带有命令行参数的控制台应用程序,当使用通常的方法部署时,由于未满足的依赖关系而无法工作……这些程序集是GAC的一部分 Clickonce部署被证明是无用的。尽管我将参数作为查询参数传递,但它无法识别我的参数 最后,我在这台远程计算机上安装了VMware PowerCLI。然后运行.exe,它就工作了。是否有一种方法可以避免安装PowerCLI,并且在部署期间能够将所

带.NET的PowerCLI对dll有一些依赖关系,只有在要运行的每台计算机上安装PowerCLI时才能获得这些依赖关系。 我有一个带有命令行参数的控制台应用程序,当使用通常的方法部署时,由于未满足的依赖关系而无法工作……这些程序集是GAC的一部分

Clickonce部署被证明是无用的。尽管我将参数作为查询参数传递,但它无法识别我的参数


最后,我在这台远程计算机上安装了VMware PowerCLI。然后运行.exe,它就工作了。是否有一种方法可以避免安装PowerCLI,并且在部署期间能够将所有依赖项包含在my exe中?

根据您希望将控制台应用程序部署到的确切位置,您可能会运气不佳。根据和,PowerCLI程序集不可再发行。如果你想在公司之外发布这个应用程序,最好的办法就是使用Web服务SDK——这是一个巨大的痛苦,因为你已经开发了这个应用程序

假设应用程序仅供内部使用,并且只希望将其部署在其目标服务器上,则可以执行以下操作以在本地引用程序集:

  • 在开发计算机上,将引用的PowerCLI.dll从GAC(在%WINDIR%\assembly中)复制到解决方案本地目录
  • 更改项目中的引用以指向.dll的本地版本
  • 打开每个引用的“属性”视图,并确保“复制本地”设置为True
  • 编译控制台应用程序(及其coresident.dll)并将其部署到目标计算机,它应该在本地目录中引用它们,并且在没有外部依赖项的情况下运行

  • 希望有帮助

    如果问题是对用户隐藏安装,还可以使用静默安装单行Powershell脚本自动执行PowerCLI安装

    调用表达式(“cmd/c'$powercliexfilepath'/S/VADDLOCAL=ALL/V/qn”)


    我发现应用程序正在寻找一些不存在的注册表项,如果您尚未安装PowerCLI,则可以使用我编写的安装包装器以静默方式部署PowerCLI,而无需重新启动计算机。脚本接受安装参数并卸载。以下是链接:希望这能有所帮助,里奇[SCCMOG]