如何将可选组件添加到Visual Studio安装和部署项目?

时间:2009-05-17 10:47:14

标签: visual-studio installation setup-deployment

我正在尝试使用Visual Studio创建一个非常基本的“安装和部署”项目。 我想要的是能够选择要安装的组件。假设每个组件都包含在单个类库的主输出中(即每个组件实际上是单个模块或编译组件)。

我在标准的可用对话框中没有看到这样的选项。但我已经看到,通过一点点努力,我们可以以某种方式创建custom dialogs

  • 如何以编程方式检测哪些组件可用作设置和部署项目的一部分?(即我希望项目即使在安装中添加或删除组件时也能正常工作)

  • 如何扩展或创建显示可用组件列表的自定义对话框?

  • 如何检测最终用户选择安装哪些组件?

我对操作.msi文件的工具Orca以及InstallShield等完整的安装程序应用程序有点熟悉,但我想仅使用原始Visual Studio和其他可用的开源工具来实现。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

VDP(Visual Studio部署项目)并未针对此类内容进行删除(阅读:使用Wix代替):

  1. (我猜你在运行时想要这个)你可以使用MsiQueryComponentState,但为此你需要传递你无法控制的VDP中的组件GUID
  2. 除了VDP之外,其他所有内容都是开箱即用的。
  3. (我猜你在设置时想要这个...)你可以使用Condition来执行基于组件安装状态的自定义操作,在VDP中你无法控制组件id(不要与组件guid混淆),这是为了预先形成组件条件。