设置后为什么在点网快捷方式中禁用目标?

Wae*_*oul 11 .net shortcut winforms

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

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

Kir*_*tan 27

这是Windows Installer的一项功能,称为" 广告快捷方式 ".此快捷方式包含有关其指向的产品的信息.

您可以通过设置DISABLEADVTSHORTCUTS属性在设置中打开/关闭此功能.

广告快捷方式

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

未公布的快捷方式是标准的Windows快捷方式.如果右键单击它,您将看到目标字段指向将要启动的可执行文件.无论出于何种原因,如果缺少此可执行文件,应用程序将完全失败.

广告快捷方式是Windows Installer特有的技术.如果右键单击广告的快捷方式,目标字段将显示为灰色.广告的快捷方式支持广告和修复.

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

广告是一个过程,其中应用程序似乎安装了快捷方式,但实际上并未安装应用程序.安装,文件和注册表项的复制仅在用户首次启动应用程序时进行.广告安装只会放下我们称之为应用程序接口的东西.应用程序界面是启动应用程序的任何方式.这可以是快捷方式,文件扩展名或COM接口.

编辑

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

编辑2

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

并且,如果您使用的是Orca MSI编辑器,则可以通过打开msi文件,转到Property页面(左侧)并通过右键单击" Add Row"菜单选项添加新属性来设置属性.保存msi,你就完成了.

  • 真正烦人的部分是,如果您有一个自动更新程序定期应用自定义修补程序,Windows Installer将在您激活快捷方式时随机将其还原为其安装状态. (2认同)