转到任何 dotnet 应用程序快捷方式 由 dotnet setup 制作 然后单击属性,在出现的屏幕中,为什么查找目标按钮被禁用?!

这恰好发生在 dotnet 安装程序生成的快捷方式上,为什么?以及如何启用它?

有帮助吗?

解决方案

这是Windows安装程序的功能,称为“广告快捷方式”。此快捷方式包含有关其指向产品的信息。

您可以通过设置DisableDvtShortCuts属性在设置中打开/关闭此操作。

广告快捷方式

在MSI世界中,有两种类型的快捷方式 - 广告和非广告。

非广告快捷方式是标准窗口快捷方式。如果右键单击它,您将看到目标字段指向将启动的可执行文件。如果出于任何原因,此可执行文件缺少该应用程序,则该应用程序将简单失败。

广告快捷方式是特定于Windows安装程序的技术。如果您右键单击一个广告的快捷方式,则目标字段将被弄清楚。广告快捷方式支持广告和维修。

维修意味着,如果不存在快捷方式指向的可执行文件,则Windows安装程序将修复应用程序并替换缺少的文件。实际上,它还将检查其他重要文件,并标记为关键路径,如果缺少任何这些文件,它也将替换它们。

广告是一个过程中似乎安装了应用程序的过程。快捷方式在那里,但实际上并未安装应用程序。安装,即文件和注册表条目的复制,仅在用户首次启动应用程序时进行。广告的安装只会放下我们所谓的应用程序接口。应用程序接口是启动应用程序的任何方法。这可能是快捷方式,文件扩展名或COM接口。

编辑

要添加属性,您可以使用 Orca MSI 编辑器, ,或者看看如何 在 VS.NET 安装项目中设置 DISABLEADVTSHORTCUTS 属性 文章。

编辑2

一些更有趣的信息 这里. 。您可以直接运行setup.exe,带参数 - setup.exe DISABLEADVTSHORTCUTS=1 或者 msiexec.exe <path to msi-file> DISABLEADVTSHORTCUTS=1.

而且,如果您正在使用 Orca MSI 编辑器, ,您可以通过打开您的 msi 文件并转到 Property 页面(左侧),然后右键单击“添加新属性”Add Row“菜单选项。保存msi,就完成了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top