【问题标题】:Optional User's Desktop shortcut issue可选用户的桌面快捷方式问题
【发布时间】:2011-12-01 15:31:49
【问题描述】:

(将 VS 2010 与 Visual Studio 安装程序项目一起使用。)

我在“开始|”下的“用户界面”中添加了一个“复选框(A)”对话框。欢迎”对话框并设置一个属性设置为“DESKTOPICON”的复选框。正在显示该选项。

在“文件系统”中,“用户桌面”的条件属性设置为 DESKTOPICON=1。

当我在我的 VM 上运行安装时,该选项似乎被忽略,并且始终安装用户桌面列表下的桌面快捷方式。

我查看了这些类似的帖子,但它似乎不适用于桌面图标?

How do I specify Visual Studion Installer Conditions?

Visual Studio Deployment Project Optional Desktop Shortcut

用户的桌面忽略它的条件属性是正常的还是我做错了什么?

【问题讨论】:

    标签: c# winforms setup-deployment


    【解决方案1】:

    Visual Studio 安装项目只创建已安装文件的快捷方式。这种类型的快捷方式链接到它们的目标并共享相同的组件。

    由于在 Windows Installer 中只能调节组件和功能,因此不能直接调节快捷方式。

    一种常见的方法是编写一个custom action 来删除快捷方式。然后,您可以调整操作而不是实际的快捷方式或其文件夹。

    【讨论】:

    【解决方案2】:

    嗯,我知道这已经很长时间了,但今天我遇到了与提到的完全相同的问题。我想尝试在 VS 2013 中使用 "Installer Projects" extension 的东西创建一个 Windows 安装程序,并且想在 条件 中创建一个复选框,无论是否创建桌面快捷方式。

    和上面一样,用户桌面下的快捷方式总是安装的。


    在浪费了将近 3 个小时后,我在 the old Microsoft Connect feedback post: 上找到了一个解决方法(显然它已经死了一段时间了)

    好的,我通过将主文件两次添加到文件夹( 您正在创建快捷方式的文件)。我将快捷方式绑定到其中一个 文件和那个文件我将条件设置为CHECKBOXA1=1 所以它 如果他们检查了 “创建快捷方式”框。对于另一个文件,我将条件设置为 CHECKBOXA1<>1 所以当复选框不是时它会创建它 1(未选中)。

    最初由 Chancea 于 2010 年 7 月 1 日发布

    我尝试这样做 - 它按预期工作。 不是很方便(可能会混淆相同的名称等)。对于一个非常非常简单的安装程序(我需要它),只有一个附加功能,添加到桌面的快捷方式,但它可能没问题。


    尽管如此,我仍然认为这只是证明这只是 Visual Studio 早期版本的安装程序项目的一个端口,现在由扩展添加。

    我认为这个想法可能是好的和有用的,但我希望他们只修复一些 Windows Installer 项目中的 VS 问题和缺乏功能。

    就像我说的那样,对于想要发布一些非常小巧轻便的应用程序并且只需要安装程序的一些基本功能(例如(可选桌面快捷方式,添加到启​​动,安装一些附加文件等)。


    好吧,我想结论是我必须开始学习 WiX 或试用 InstallShield

    【讨论】:

      【解决方案3】:

      在 VS2019 又过了 2 1/2 年后:问题仍然是在“用户桌面”文件夹中创建的快捷方式无法处理复选框所施加的条件。因此,一个更简单(但也不是“干净”)的解决方案不是像 Skippers 解决方案那样复制 exe(例如 myApp.exe)(它对我不起作用),而是创建一个额外的 myApp.bat 文件什么都不做但启动 myApp.exe。 简化在于只需要 myApp.bat 文件上的一个条件,而 myApp.exe 文件上不需要一个条件。 以下步骤在这里起作用:

      1. 创建一个 myApp.bat 文件,只启动 myApp.exe,即包含单行“myApp.exe”(不带引号)。当然,如有必要,也可以使用命令行参数。
      2. 将 myApp.bat 放入安装程序项目的“应用程序文件夹”中。
      3. 将 myApp.bat 上的条件设置为 CHECKBOXA1=1,这意味着它仅在设置了 CHECKBOXA1 的情况下创建。
      4. 在安装程序项目的“用户桌面”文件夹中,创建 myApp.bat 的快捷方式(上下文菜单“创建新快捷方式”),为其指定应用程序的图标(“图标”属性)。不要指定条件。在我的情况下(Win10 上的 VS2019),当 myApp.bat 未创建(复选框未选中)时导致 NOP 操作,并在 myApp.bat 存在时正确创建桌面上的链接(复选框已选中)。
      5. 对于此快捷方式,您可能希望将“ShowCmd”属性设置为 vsdscMinimized,以避免 bat 文件的大命令行窗口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多