我正在使用Visual Studio中的安装项目,我希望用户能够使用复选框指定是否创建桌面快捷方式和/或程序的“开始菜单”快捷方式。
我可以让安装程序在适当的位置创建工作快捷方式,并添加了一个包含安装程序复选框的对话框;但是,我无法将这些快捷方式的创建(或缺少)与这些复选框的状态相关联。
我假设我需要设置“Condition”属性,但我不确定具体的语法。这是可能的,如果是的话,我将如何实现这一目标?
答案 0 :(得分: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];
答案 1 :(得分:3)
这是不可能的。
在这里Microsoft Forum查看今年4月微软的回复,其中包含与您相同的问题。