您可以阻止安装程序制作桌面快捷方式吗?


8

我一直在让桌面完全没有捷径。我宁愿不必采取行动来这样做。

Answers:


0

我认为您不能禁止所有程序创建快捷方式,但我使用Fences

它使您可以将桌面上的图标分组,但是最重要的是,当双击桌面时,它会隐藏所有不在栅栏中的项目。

替代文字


围栏是付费程序。
user598527

4

我知道没有覆盖设置可以阻止它,但是您有三种选择-一种危险,一种绕过,一种安全!

危险方式

在以下文件夹上编辑安全设置:(上移一个文件夹,右键单击它,然后执行属性)

c:\users\<name>\Desktop

or

%userprofile%\Desktop

and

c:\users\default\Desktop

接下来,转到“安全性”选项卡,然后单击“编辑”。您希望将Deny属性同时放在Modify和Write上。如果安装程序在您的用户下运行,则应仅对您的用户执行此操作。

缺点是您无法创建图标,但是应该可以使用。

安全的方法

只需删除安装生成的任何图标!

旁路方式

右键单击桌面上没有项目的任何地方。展开视图选项并取消选中“显示桌面图标” ...当然,这样做的缺点是您将没有任何图标-但是,如果这是您要实现的目标,那就没关系了!


4

这是使用计划任务的一种简单方法,无需编写自定义脚本或程序。

我设置了计划任务以删除图标。它有些不完美,因为它会定期运行(并在MSI安装完成后运行),但可以正常工作(使用6个月后:效果很好)。它会直接在当前用户和“公共”用户的个人资料的桌面上删除链接,尽管这当然取决于获得许可的权限。


任务创建如下:

  • 名称:删除桌面快捷方式
  • 以最高特权运行

任务计划程序-常规

  • 触发条件:
    • 在事件上:
      • 日志: Application
      • 资源: MsiInstaller
      • 事件编号: 1042
    • 每天:每天凌晨5点

任务计划程序-条件

  • 行动:启动程序
    • 程序/脚本: cmd
    • 参数: /c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"

任务计划程序-操作

  • 条件:无

任务计划程序-条件


这是任务,您可以将其另存为.xml文件,然后导入Windows Task Scheduler:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2012-11-02T00:46:01.691625</Date>
    <Author>Gregmac</Author>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Application"&gt;&lt;Select Path="Application"&gt;*[System[Provider[@Name='MsiInstaller'] and EventID=1042]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
    <CalendarTrigger>
      <StartBoundary>2012-11-02T05:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>Greg</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>cmd</Command>
      <Arguments>/c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"</Arguments>
    </Exec>
  </Actions>
</Task>

0

我不知道Windows是否有办法做到这一点,但我知道此BASIC代码将起作用:

Kill("C:\Users\<name>\Desktop\*.lnk")

这会自动删除桌面上的所有快捷方式。

否则,除了手动删除它们外,我一无所知(
反正只需要几秒钟)
如果我真的不想这样做,我会使用@William建议的“危险方式”


不幸的是,如果桌面图标被删除,有些应用程序会重新创建它。
Dour High Arch

-1

我知道这个问题已经有将近7年的历史了,但是由于它是在网络搜索中出现的,所以我想我会补充一下。

如果操作系统是Windows Server,则可以使用文件服务器资源管理器为特定位置创建特定文件屏幕。


-1

更改“桌面”文件夹的权限,以防止任何人,包括您自己(以及您启动的程序,如安装程序)写入桌面。该问题最初提到的快捷方式“完全免费”,因此,回收站和“我的电脑”也应该被隐藏。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.