2

我有一个使用 Visual Studio 2008 构建的 WinForms 应用程序。我在解决方案中添加了一个安装项目以创建一个安装 MSI 文件。我需要安装项目在用户发送到菜单中创建指向应用程序可执行文件的快捷方式。这样,当有人右键单击文件时,我的应用程序将显示在“发送到”列表中并被选中。

我在安装项目的文件系统设置下弄清楚了如何向用户发送到菜单添加快捷方式。问题是,当您右键单击文件时,快捷方式不会显示在“发送到”菜单中。如果我手动创建可执行文件的快捷方式,应用程序会显示在“发送至”菜单中。

我已经在网上阅读了许多关于所需注册表项的建议,以使其正常工作。有一个由 Ramesh Srinivasan 编写的 VBS 文件,用于插入它们。在我尝试过的每个系统上,注册表值已经存在,所以这不是问题。似乎更多的是使用 Visual Studio(或无论如何是 msi)正在创建的快捷方式。

我在 Windows XP 和 Windows 7 上遇到过同样的问题,我还没有在其他操作系统上尝试过。

4

1 回答 1

2

“发送到”菜单要求快捷方式是指向可执行文件的常规快捷方式。Visual Studio 在构建 MSI 时创建的快捷方式是广告快捷方式。广告的快捷方式不指向已安装的可执行文件,而是指向 MSI 安装程序,从而实现按需安装。

您必须在 MSI 上设置DISABLEADVTSHORTCUTS属性才能使用常规快捷方式。不幸的是,您必须在安装程序上使用构建后事件来设置 DISABLEADVTSHORTCUTS 属性 - Visual Studio 不提供设置它的简单方法。

请参阅 Damien Vogel对这篇文章的回答,详细说明如何设置构建后事件。

于 2010-12-30T17:13:50.813 回答