2

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

我还没有在标准的可用对话框集中看到这样的选项。但是我已经看到,只要稍加努力,我们就可以以某种方式创建自定义对话框

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

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

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

我对 Orca 有点熟悉,它是操作 .msi 文件的工具以及像 InstallShield 这样的成熟安装程序应用程序,但我想只使用原始 Visual Studio 和其他可用的开源工具来实现这一点。

谢谢你的帮助。

4

1 回答 1

2

VDP(Visual Studio 部署项目)不适用于这类东西(阅读:改用 Wix):

  1. (我猜你在运行时想要这个)你可以使用MsiQueryComponentState但为此你需要传递在 VDP 中你无法控制的组件 GUID。
  2. 这是开箱即用的,除了 VDP 之外的所有内容。
  3. (我猜你在设置时想要这个......)你可以使用 Condition 来执行基于Component Install State的自定义操作,在 VDP 中你无法控制组件 ID(不要与组件 guid),这是执行组件条件所需的。
于 2009-05-17T16:36:24.023 回答