如何通过注册表 hide/disable 特定应用程序桌面快捷方式?

How to hide/disable a specific app desktop shortcut via the registry?

我有一个已部署到各种测试设备的应用程序。

该应用程序安装并运行,但它还会创建一个桌面快捷方式,在以后的安装中我希望在没有快捷方式的情况下安装它。

因此,我想使用注册表来hide/remove/disable快捷方式。

我看过说明如何隐藏所有应用程序的帖子:

隐藏图标"=dword:00000001

将此密钥添加到我的应用程序注册表是否可以仅隐藏此特定应用程序图标?

据我所知,单个应用程序没有通过注册表禁用其快捷方式的选项。

但是

您可以安装此应用程序而不提供桌面快捷方式(如果它是 MSI),属性 不处理快捷方式安装。自从我开发 MSI 以来已经有很长时间了,所以在 Google 中挖掘之后,我发现了这些属性:

INSTALLDESKTOPSHORTCUT=""
DISABLEDESKTOPSHORTCUT=1

你可以试试看。

您可以改为使用 PowerShell 从桌面删除快捷方式。

$shortcuts = (Get-ChildItem 'C:\Users\XXXX\Desktop' | Where-Object Name -like "*.lnk")
Write-Host "Found $($shortcuts.Length) shortcuts: $([string]::Join(", ", $shortcuts.Name))"

$shortcuts.FullName | ForEach-Object {
    Remove-Item $_
}

PS。可能还想查看文件夹 C:\Users\Public\Desktop - 所有用户都可以使用快捷方式。