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

Visual studio 2008 Visual Studio:是否在安装项目中有条件地创建快捷方式?,visual-studio-2008,windows-installer,setup-project,Visual Studio 2008,Windows Installer,Setup Project,我正在Visual Studio中处理一个安装项目,我希望用户能够使用复选框指定是否创建桌面快捷方式和/或程序的“开始”菜单快捷方式 我能够让安装程序在适当的位置创建工作快捷方式,并且我向安装程序添加了一个包含复选框的对话框;但是,我无法将这些快捷方式的创建(或缺少)连接到这些复选框的状态 我假设我需要设置“Condition”属性,但我不确定具体的语法。这可能吗?如果可能,我将如何着手实现这一点?这是不可能的 请在此处查看微软今年4月的回复,回复内容与您的问题相同。链接的反馈项目显示: 如果希

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

我能够让安装程序在适当的位置创建工作快捷方式,并且我向安装程序添加了一个包含复选框的对话框;但是,我无法将这些快捷方式的创建(或缺少)连接到这些复选框的状态

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

这是不可能的


请在此处查看微软今年4月的回复,回复内容与您的问题相同。

链接的反馈项目显示:

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

您不能在VS点击界面中执行此操作,但是 实际上,用一个简单的定制动作做你想做的事情并不困难

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

在脚本内部,解析输入并创建快捷方式。我使用约定将arg与带有|字符的脚本分离,因此我就是这样解析的:

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

嗯,那太不幸了;但这是一个非常明确的答案。谢谢