Visual Studio:在安装项目中有条件地创建快捷方式?

时间:2009-10-08 14:34:16

标签: visual-studio-2008 windows-installer setup-project

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

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

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

2 个答案:

答案 0 :(得分:8)

链接的反馈项目说:

  

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

您无法在VS点击界面中执行此操作,但是 用简单的自定义动作做你想做的事实际上并不困难。

alt text

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

alt text

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

var parameters = Session.Property("CustomActionData").split("|"); 
var targetDir = parameters[0];
var checkBoxState = parameters[1];

答案 1 :(得分:3)

这是不可能的。

在这里Microsoft Forum查看今年4月微软的回复,其中包含与您相同的问题。

相关问题