【发布时间】:2016-07-20 16:34:32
【问题描述】:
Visual Studio 的安装向导项目是否只能在它在注册表中找到某个键时才能部署某些文件 (a) ?如果没有,那么当该特定 reg 密钥存在时,可能会启动另一个安装程序文件 (b) ?
(a) 我一直在尝试通过 VS 的 .msi 文件部署一个 winamp 插件。 2个问题:
- 必须自动获取 {winamp}/plugins 文件夹的路径
- 失败时,应向用户显示一个对话框以选择将插件安装到的位置
(b) 为了克服 (a) NSIS 安装程序仅用于打包 winamp .dll 插件;但是,这引入了另一个问题:
- 如果用户没有安装 winamp,则必须手动取消 NSIS 生成的子安装程序,这总是会导致 VS 生成的主安装程序失败(虽然不应该,但 winamp 不是良好运行的必要部分我正在部署的整个应用程序)
- 我在 2 种方法中未能在某个 reg 密钥检测时有条件地启动子安装程序(试图寻找 Winamp 的 ProgID 密钥)。第一次失败是因为即使在确实安装了 winamp 的机器上也找不到 ProgID 密钥(手动检查密钥,它在那里),第二次失败是由于这种条件启动不能仅应用于 sub -installer,但仅限于主安装程序。
我正在考虑完全放弃 VS 项目向导,转而使用 NSIS 安装程序向导。但我不想学习编写脚本来部署解决方案的每个组件。有任何 GUI 版本吗?还是我应该开始学习 Orca 并在 VSPW 的输出 .msi 文件中使用它?还是什么?
谢谢
【问题讨论】:
-
您可能想尝试使用 Wix 来创建您的安装程序?
标签: visual-studio windows-installer setup-project