如何部署 VSTO 并在其中包装一些 exe 工具?

How to deploy a VSTO and wrap some exe tools in it?

首先,对于这个问题的模糊(如果不是不正确的话)标题感到抱歉,但像我这样的菜鸟,我想不出其他正确措辞的方式..

更明确地说,我想部署一个用 VS 开发的 Excel 插件。为此,我遵循了 Microsoft 的 deploying using Windows Installer 指南。它工作正常,除了一件事:我的插件应该在某个时候调用 PuTTY,并且这样的部署显然没有运送 PuTTY(到目前为止我唯一做的就是将 PuTTY 放在我项目的解决方案资源管理器中, 但我想这还不够 ;)).

当我在我的计算机上调试时,我安装了 PuTTY,并且它的路径是硬编码的,所以一切 运行 都很好。但是当我部署它时(按照指南),PuTTY 不见了。

我怎样才能:

  1. 用我的插件发送 PuTTY?
  2. 预测部署后 PuTTY 的位置,因此能够正确调用它?

...使用安装程序,而不是单击一次。

非常感谢!!

您确实需要将该实用程序添加到您的安装程序项目中。 或者您可以将该实用程序作为资源嵌入到您的 dll 中,在 运行 时将其解压缩,复制到某个文件夹,然后执行。

设置附加到解决方案的文件的属性,基本上您需要确保该文件包含在解决方案输出中:

  1. Build Action 属性 设置为 Content
  2. Copy to the Output Directory 属性 设置为 Copy Always

例如,如果文件已添加到项目中,并且您在解决方案资源管理器中 select 它并转到属性 window,您可能会看到以下内容:

它将与其他加载项文件一起自动添加到输出文件夹。因此,您只需要根据您的输出重建安装程序。

有关详细信息,请参阅 Deploy an Office solution by using Windows Installer

所以,

无论对谁有用,除了 Eugene 的回答之外,缺少的是我需要将内容文件添加到我的项目输出中。 为此,请右键单击您的安装项目并添加...> 项目输出...> 内容文件。

然后,在构建解决方案并部署它时,PuTTY实际上被复制到客户端的安装文件夹中!

阿尔诺