可选用户的桌面快捷方式问题

时间:2011-12-01 15:31:50

标签: c# winforms setup-deployment

(将VS 2010与Visual Studio Installer项目一起使用。)

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

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

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

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

How do I specify Visual Studion Installer Conditions?

Visual Studio Deployment Project Optional Desktop Shortcut

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

3 个答案:

答案 0 :(得分:3)

Visual Studio安装项目仅创建已安装文件的快捷方式。这种类型的快捷方式与其目标相关联,并共享相同的组件。

由于在Windows Installer中您只能调整组件和功能,因此无法直接调整快捷方式。

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

答案 1 :(得分:0)

嗯,我知道它已经很长一段时间但是今天我遇到了与上述完全相同的问题。我想尝试在VS 2013中使用"Installer Projects" extension创建一个Windows安装程序,想要创建一个带有 condition 的复选框,无论是否创建桌面快捷方式。

如上所述,始终安装了用户桌面下的快捷方式。

浪费了近3个小时后,我发现the old Microsoft Connect feedback post: 的解决方法(显然已经死了一段时间)

  

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

     
    

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

  

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

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

我认为这个想法可能很好用,但我希望他们在VS问题和缺乏功能方面修复了一些Windows Installer项目。

就像我说的那样,对于那些希望发布一些非常小巧轻便的应用程序的人来说(对我而言)是一个很好的选择,并且只需要安装程序的一些基本功能(可选桌面快捷方式,添加到启​​动) ,安装一些额外的文件等)。

嗯,我想结论是我只需要开始学习WiX或试用InstallShield

答案 2 :(得分:0)

在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的快捷方式(上下文菜单“创建新的快捷方式”),并为其指定应用程序的图标(“ Icon”属性)。不指定条件。在我的情况下(在Win10上为VS2019),这在未创建myApp.bat(未选中复选框)时导致NOP动作,并在存在myApp.bat(已选中复选框)时在桌面上正确创建了链接。
  5. 对于此快捷方式,您可能希望将“ ShowCmd”属性设置为vsdscMinimized,以避免bat文件的大命令行窗口。