Um programa portátil, em grande parte, tem que fazer onde os dados são salvos para aquele programa. Normalmente, os dados do usuário são salvos na pasta username\AppData\
, conforme a política do Windows. No entanto, isso não o torna muito portátil, pois você perderia todas as suas configurações / dados do usuário associados a esse programa se você copiasse os arquivos do programa de suas pastas em arquivos de programa.
Outro problema é que um programa pode optar por armazenar configurações e informações no registro. Se você copiasse os arquivos do programa para outro computador, não haveria entradas de registro para ler, então o programa provavelmente falharia.
Um último problema é que um programa pode optar por usar bibliotecas compartilhadas que não estarão presentes sistema para o qual é copiado, fazendo com que o programa falhe. Muitas vezes, especialmente com algum software de código aberto, uma instalação de um programa garante a instalação de outro programa, como o ambiente de tempo de execução GTK ou DirectX . Se o GTK / DirectX não foi instalado (ou mesmo se a versão correta foi instalada!) No copiado para o sistema operacional, o programa falhará.
Portanto, para que exista uma versão portátil, ela deve combater todas essas deficiências. Normalmente, as configurações são salvas localmente na mesma pasta do programa, não há entradas de registro (digamos, elas usam a mesma pasta para essas configurações e também com um banco de dados SQLite, que é o que o Chrome usa). Além disso, os programas que exigem a instalação de outro software provavelmente não serão portáveis, a menos que haja alguma maneira de incluir o software instalado e as bibliotecas de maneira portátil.
Para mais informações, visite Wikipedia .