代码之家  ›  专栏  ›  技术社区  ›  Donut

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

  •  6
  • Donut  · 技术社区  · 15 年前

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

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

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

    2 回复  |  直到 15 年前
        1
  •  8
  •   Cheeso    15 年前

    链接反馈项表示:

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

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

    alt text

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

    alt text

    var parameters = Session.Property("CustomActionData").split("|"); 
    var targetDir = parameters[0];
    var checkBoxState = parameters[1];
    
        2
  •  3
  •   ChrisBD    15 年前

    这是不可能的。

    Microsoft Forum 微软在今年4月的回复中提到了与您相同的问题。