Você pode impedir que os instaladores criem atalhos na área de trabalho?

8

Eu tenho mantido minha área de trabalho totalmente livre de atalhos. Prefiro não ter que tomar medidas para fazê-lo.

Roda dentada
fonte

Respostas:

0

Eu não acho que você pode desativar todos os programas de criar atalhos, mas eu uso o Fences .

Permite agrupar ícones na área de trabalho, mas o mais importante é que, quando você clica duas vezes na área de trabalho, oculta todos os itens que não estão nas cercas.

texto alternativo

thegreyspot
fonte
Cercas é um programa pago.
user598527
4

Não há nenhuma configuração de substituição que eu saiba que o interrompe, mas você tem três opções - uma perigosa, uma que ignora e outra segura!

Maneira perigosa

Edite as configurações de segurança nas seguintes pastas: (Suba uma pasta, clique com o botão direito do mouse e faça propriedades)

c:\users\<name>\Desktop

or

%userprofile%\Desktop

and

c:\users\default\Desktop

Em seguida, vá para a guia segurança e clique em editar. Você deseja colocar a propriedade Negar em Modificar e Gravar. Você deve fazer isso apenas para seu usuário, se o instalador for executado sob seu usuário.

Isso tem a desvantagem de que você não pode criar ícones, mas deve funcionar.

Maneira segura

Basta excluir qualquer ícone gerado por uma instalação!

Bypass caminho

Clique com o botão direito do mouse em qualquer lugar da área de trabalho onde não haja itens. Expanda a opção de visualização e desmarque "Mostrar ícones da área de trabalho" ... É claro que isso tem o lado negativo de que você não terá nenhum ícone - mas se é isso que você está tentando alcançar, não importa!

William Hilsum
fonte
4

Aqui está uma maneira simples de usar as Tarefas agendadas e sem a necessidade de escrever scripts ou programas personalizados.

Configurei uma tarefa agendada para excluir ícones. É um tanto imperfeito, pois é executado periodicamente (e após a instalação completa do MSI), mas funciona (e após 6 meses de uso: funciona muito bem). Ele exclui links diretamente na área de trabalho do perfil do usuário atual e do usuário "Público", embora isso dependa, obviamente, da permissão para fazê-lo.


A tarefa é criada da seguinte maneira:

  • Nome: Excluir atalhos da área de trabalho
  • Executar com os privilégios mais altos

Agendador de tarefas - Geral

  • Gatilhos:
    • Em um evento:
      • Registro: Application
      • Fonte: MsiInstaller
      • ID do evento: 1042
    • Diariamente: 5:00 todos os dias

Agendador de tarefas - Condições

  • Ação: iniciar um programa
    • Programa / script: cmd
    • Argumentos: /c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"

Agendador de tarefas - Ações

  • Condições: nenhuma

Agendador de tarefas - Condições


Aqui está a tarefa, que você pode salvar como um arquivo .xml e depois importar para o Agendador de tarefas do 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>
gregmac
fonte
0

Não sei se existe uma maneira de fazer isso no Windows, mas sei que esse código BASIC funcionará:

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

Isso exclui automaticamente todos os atalhos na área de trabalho.

Caso contrário, eu não sei de nenhuma maneira, exceto excluí-los manualmente
(que leva apenas alguns segundos de qualquer maneira)
Se eu realmente não queria fazer isso, eu iria usar o "caminho perigoso" que @William sugere

Nate Koppenhaver
fonte
Infelizmente, existem aplicativos que recriam o ícone da área de trabalho se ele tiver sido excluído.
Dour High Arch
-1

Sei que essa pergunta tem quase 7 anos, mas desde que surgiu em uma pesquisa na web, pensei em acrescentar a ela.

Se o sistema operacional for um Windows Server, você poderá usar o Gerenciador de Recursos de Servidor de Arquivos para criar triagens de arquivos específicas para locais específicos.

Pete
fonte
-1

Altere as permissões na pasta da área de trabalho para impedir que qualquer pessoa, incluindo você (e os programas iniciados por você, como instaladores), gravem na área de trabalho. A pergunta mencionou originalmente "totalmente livre" de atalhos, portanto a Lixeira e Meu Computador também devem estar ocultos.

Christopher Hostage
fonte