Можете ли вы запретить установщикам создавать ярлыки на рабочем столе?

Я полностью закрыл свой рабочий стол от ярлыков. Я бы предпочел не принимать меры для этого.

  • Как предотвратить Alt + Shift от переключения раскладки клавиатуры перед клавиатурой?
  • Как я могу изменить ярлык по умолчанию в Windows для закрытия программ?
  • Как подключить ярлык «Visual Studio 2010 Documentation» к панели задач Windows 7?
  • Ctrl + Backspace вставляет небольшой ящик вместо стирания
  • Как набрать французские акценты на английской клавиатуре с помощью «ALT»
  • Связывание Super + C Super + V для копирования и вставки
  • Переход с IE9 на IE8 на Windows 7
  • Переименуйте autocad в открытое со списком
  • Как изменить шрифт по умолчанию для Sticky Notes?
  • Установите Windows 7 с использованием MSDN ISO и Key из моего недавно приобретенного ноутбука Gateway
  • Не удается удалить определенные шрифты в Windows 7
  • Перемещенный внутренний жесткий диск на внешний жесткий диск USB 3.0. Теперь я не могу загружать окна
  • 4 Solutions collect form web for “Можете ли вы запретить установщикам создавать ярлыки на рабочем столе?”

    Я не думаю, что вы можете отключить все программы от создания ярлыков, но я использую Fences .

    Он позволяет группировать значки на рабочем столе, но самое главное, при двойном щелчке на рабочем столе он скрывает весь элемент, который не находится в заборах.

    Alt text

    Нет настройки перезаписи, о которой я знаю, это останавливает ее, однако у вас есть три варианта: один опасный, один из таких обходов и один сейф!

    Опасный путь

    Отредактируйте параметры безопасности в следующих папках: (перейдите на одну папку вверх, щелкните правой кнопкой мыши по ней и выполните свойства)

    c:\users\<name>\Desktop or %userprofile%\Desktop and c:\users\default\Desktop 

    Затем перейдите на вкладку безопасности и нажмите «Изменить». Вы хотите поместить свойство Deny как в Modify, так и в Write. Вы должны сделать это только для своего пользователя, если установщик работает под вашим пользователем.

    Это имеет недостаток, что вы не можете создавать значки, но он должен работать.

    Безопасный путь

    Просто удалите любой значок, который генерируется установкой!

    Обходной путь

    Щелкните правой кнопкой мыши в любом месте на рабочем столе, где нет элементов. Разверните параметр представления и отключите «Показывать иконки рабочего стола» … Это, конечно, имеет недостаток, что у вас не будет никаких значков, но если это то, чего вы пытаетесь достичь, это не имеет значения!

    Вот простой способ использования запланированных задач, и нет необходимости писать собственные сценарии или программы.

    Я установил запланированную задачу для удаления значков. Это несколько несовершенно, поскольку он работает периодически (и после завершения установки MSI), но он работает (и после его использования в течение 6 месяцев: он работает достаточно хорошо). Он удаляет ссылки непосредственно на рабочем столе как текущего пользователя, так и профиля пользователя «Public», хотя это, конечно, зависит от разрешения на это.


    Задача создается следующим образом:

    • Имя: Удалить ярлыки рабочего стола
    • Запуск с наивысшими привилегиями

    Планировщик задач - общий

    • Триггеры:
      • На мероприятии:
        • Журнал: Application
        • Источник: MsiInstaller
        • КОД события: 1042
      • Ежедневно: 5 утра каждый день

    Планировщик заданий - Условия

    • Действие: Запустите программу
      • Программа / скрипт: cmd
      • Аргументы: /c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"

    Планировщик задач - Действия

    • Условия: нет

    Планировщик заданий - Условия


    Вот задача, которую вы можете сохранить как .xml-файл, а затем импортировать в Планировщик задач Windows:

     <?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> 

    Я не знаю, есть ли способ сделать это в Windows, но я знаю, что этот код BASIC будет работать:

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

    Это автоматически удаляет все ярлыки на рабочем столе.

    В противном случае я не знаю никого, кроме как вручную удалять их
    (Это займет всего несколько секунд)
    Если бы я действительно не хотел этого делать, я бы использовал «Опасный путь», который предлагает @ Уильям

    Давайте будем гением компьютера.