Posso mover os programas instalados para outro local no Windows?

27

Nota sobre o sugeriu duplicado: Eu estou não olhando para uma mudança global do local de instalações. Quero mover os programas em uma base por programa para locais diferentes.


Alguns instaladores de software não permitem que você escolha onde o programa será instalado, o que acho bastante irritante.

Existe uma maneira de permitir que você mova o programa já instalado para outro local, de preferência fazendo as alterações necessárias no Registro automaticamente?

atualizar seguindo as respostas até agora:
não quero acessar o programa de um local diferente, quero que ele esteja fisicamente lá. Portanto, enquanto eu aprecio suas sugestões, os links não servem.

Joris Groosman
fonte
1
Se o SW for irritantemente ruim o suficiente para não permitir que você escolha um local de instalação, também pode ser irritantemente ruim o suficiente para ter algum caminho "C: \" codificado em algum lugar. A única maneira segura de enganar esse SW é algo como a resposta de Jonno, onde ele ainda "pensa" que está instalado em seu local padrão. Pode acontecer, porém, que isso seja enganado "demais", por exemplo, com relação ao espaço disponível na unidade "sua".
Hagen von Eitzen
@Downvoter Por que o voto negativo? Porque é uma duplicata? Expliquei por que não é.
Joris Groosman
@JorisGroosman Você pode usar links simbólicos na mesma unidade , não importa onde os arquivos estão localizados; você pode até fazê-lo por programa. Você pode mover a pasta do programa para outro local na sua unidade (ou para outra unidade totalmente) e, em seguida, ligar novamente para que o local original aponte para o novo local. Isso significa que sua pergunta é uma duplicata.
AStopher
3
Totalmente não duplicado. E, em teoria, pode haver um caminho construído. As notícias fechadas me parecem falsas.
Journeyman Geek

Respostas:

44

Se você não estiver muito preocupado com a estrutura de pastas real existente, mova a pasta para qualquer lugar que desejar e use um link simbólico de diretório para apontar para o novo local (por exemplo, se você tiver espaço limitado na unidade do sistema). A linha de comando típica para isso seria

mklink /d C:\Path\Of\Original\Folder D:\Path\Of\New\Folder

Não conheço nenhuma ferramenta que realmente mova as pastas e redirecione os links e as chaves do Registro, pois há muitos programas com versões constantemente atualizadas, que seria muito difícil de manter.

EDIT: Foi feita uma solicitação para adicionar como excluir corretamente o link simbólico do diretório. Você precisa ter cuidado com isso, pois o comando errado pode limpar a pasta à qual você está vinculado.

Os melhores métodos são:

  • Exclua o link simbólico do diretório através do Windows Explorer. Isso manterá intacta a pasta de destino e removerá apenas o link simbólico.

ou

  • Use o comando rmdir C:\Path\To\Symbolic\Link

Você não usar o delcomando no local do seu diretório link simbólico, como o delcomando é usado para remover os arquivos. Isso seguirá o caminho para o diretório de destino, apagando todos os arquivos correspondentes aos seus critérios!

Jonno
fonte
5
Isso requer que as partições sejam NTFS (o que provavelmente são). O FAT32 não suporta links simbólicos.
Sydius
10

Com base na resposta de Jonno, se o espaço é sua preocupação, o link simbólico é seu amigo. existe um software nos dias em que o steam não permitia instalar jogos fora da pasta de instalação do steam chamada steammover que automatiza a criação de links simbólicos, você o aponta para as pastas que contêm os programas que você deseja mover (por exemplo, C: / Program Arquivos) e um destino (por exemplo, D: / programas) e você pode mover arquivos específicos.

Aaron Ladd
fonte
7

Mover / instalar esses aplicativos para outro local pode ter conseqüências não intencionais.

Pode haver um conjunto inteiro de suposições que os desenvolvedores usam para interromper se você mover o programa. Por exemplo, um aplicativo que se instala no perfil do usuário esperaria acesso total de gravação à sua pasta de instalação ou, pior ainda, usar caminhos relativos com base no local em que espera ser instalado.

Portanto, a solução mais fácil (como outros já disseram) é usar apenas um ponto de junção para mover os arquivos, deixando o aplicativo pensar que ainda está no local originalmente instalado (ele deixará uma pasta "fantasma" para trás).

Qualquer coisa além do que exigiria uma análise por aplicativo para ver se algo impede de movê-lo, existem ferramentas para ajudar essa análise como o Windows ADK (Kit de Avaliação e Implantação), mas não é automatizado.

daf
fonte
5

A maneira mais fácil de encontrar isso é usar a extensão Link Shell . É uma extensão do shell do explorer que permite gerenciar links simbólicos e físicos sem cair na linha de comando.

No seu caso, você localizaria a pasta que o instalador o forçou a usar, moveria os arquivos para o local desejado, clique com o botão direito do mouse no novo local e escolha "Selecionar fonte do link", depois retorne ao local original e escolha "Solte o link como ..." e escolha Junction (ou Link simbólico, embora eu costumo usar "Junction" porque alguns aplicativos não seguem o Link simbólico).

Eu o usei para muitos desses tipos de cenários - geralmente um aplicativo impõe um local forçado para arquivos de configuração e cache (como% appdata% \ MyProgram). Em um SSD, se esses arquivos forem gravados constantemente, isso pode reduzir a vida útil dessa unidade, então usarei isso para mover esses arquivos de cache para uma unidade de eixo, reduzindo um pouco o desempenho, mas reduzindo o desgaste no SSD.

mdip
fonte
1

Não há garantia universal para fazer isso. Existem várias maneiras pelas quais programas diferentes, especialmente programas escritos em idiomas diferentes, podem verificar onde o arquivo executável está armazenado. Coisas como Symlinks geralmente podem ser eficazes, mas sempre sabemos que pode haver algumas exceções que serão quebradas. Se você mover um arquivo (como o executável, mas possivelmente outro arquivo), alguns programas podem esperar encontrar um arquivo em um local específico e podem se comportar de maneira diferente (talvez especialmente apenas para quebrar completamente) se as coisas não estiverem como estão. programa espera.

Isso é verdade para vários sistemas operacionais.

TOOGAM
fonte