8

我正在 Visual Studio 中处理安装项目,我希望用户能够通过使用复选框来指定是否为程序创建桌面快捷方式和/或开始菜单快捷方式。

我可以让安装程序在适当的位置创建工作快捷方式,并在安装程序中添加了一个包含复选框的对话框;但是,我无法将这些快捷方式的创建(或缺少)与这些复选框的状态相关联。

我假设我需要设置“条件”属性,但我不确定具体的语法。这是可能的,如果是这样,我将如何实现这一目标?

4

2 回答 2

8

链接的反馈项目说:

如果您希望复选框仅控制是否安装快捷方式而不是其目标, Visual Studio 安装项目中目前没有解决方案,最好通过额外的 MSI 知识和构建后脚本手动完成在每次构建后修改您的 MSI,或者通过迁移到更高级(和灵活)的安装开发工具(例如,Windows Installer XML)。

你无法在 VS 的点击式界面中做到这一点,但通过一个简单的自定义操作来做你想做的事情其实并不难。

替代文字

在 VBScript 或 JavaScript 中定义脚本。您可以将自定义操作设置为根据任何条件运行,包括对话框中的复选框。

替代文字

在脚本中,您解析输入并创建快捷方式。我使用约定用 | 将 args 与脚本分开。字符,所以这就是我解析的方式:

var parameters = Session.Property("CustomActionData").split("|"); 
var targetDir = parameters[0];
var checkBoxState = parameters[1];
于 2009-10-12T19:05:14.660 回答
3

这是不可能的。

请在此处查看Microsoft 论坛,以获取今年 4 月来自 Microsoft 的回复,其中涉及与您相同的问题。

于 2009-10-08T14:58:02.030 回答