Dipende molto da come il programma si collega al sistema operativo, dove salva tutti i suoi file usati (sia le librerie che le impostazioni) e se in qualche modo usa uno schema di licenze che lo lega a qualcosa come i codici MAC dell'hardware.
Come esempio: La maggior parte dei programmi sotto Windows hanno così tanti posti dove aggiungono nuovi file e impostazioni che diventa un compito quasi impossibile trasferirli tutti. È molto meno fastidioso installare semplicemente il programma di nuovo dal supporto di installazione originale piuttosto che cercare di capire tutte le diverse librerie che richiede, dove sono tutte le sue impostazioni di registro, se usa anche qualche altro archivio di impostazioni, ecc. ecc. ecc.
Simile si applica a molti programmi simili anche su altri sistemi. Ad esempio, i programmi sotto Linux possono avere diverse dipendenze e avere almeno una cartella delle impostazioni sotto la home directory dell'utente.
Ci sono programmi fatti apposta per funzionare come si vuole in questo caso. Come un modo semplice per ottenere questo per Windows forse si può guardare qualcosa come PortableApps.com - Software portatile per unità USB, portatili e cloud drive
.