Posso spostare i programmi installati in un'altra posizione in Windows?


27

Nota sulla suggerito duplicato: Sto non alla ricerca di un cambiamento globale della posizione installazioni. Voglio spostare i programmi su una base per programma in posizioni diverse.


Alcuni installatori di software non ti permettono di scegliere dove installare il programma, che trovo piuttosto fastidioso.

C'è un modo che ti consente di spostare il programma già installato in un'altra posizione, preferibilmente apportando automaticamente le modifiche necessarie nel registro?

aggiornamento seguendo le risposte finora:
non voglio accedere al programma da una posizione diversa, voglio che sia fisicamente lì. Quindi, mentre apprezzo i tuoi suggerimenti, i link non funzioneranno.


1
Se il software SW è abbastanza fastidioso da non permetterti di scegliere un percorso di installazione, potrebbe anche essere abbastanza fastidioso da avere un percorso "C: \" codificato da qualche parte. L'unico modo abbastanza sicuro per ingannare un simile SW è qualcosa come la risposta di Jonno, in cui "pensa" ancora che sia installato nella sua posizione predefinita. Può capitare però che sia ingannato "troppo", ad esempio per quanto riguarda lo spazio disponibile sul "suo" disco.
Hagen von Eitzen,

1
Esatto duplicato dei programmi
AStopher

@Downvoter Perché il downvote? Perché è un duplicato? Ho spiegato perché non lo è.
Joris Groosman,

@JorisGroosman Puoi usare i collegamenti simbolici sulla stessa unità , non importa dove si trovano i file, puoi persino farlo in base al programma. È possibile spostare la cartella del programma in un'altra posizione sull'unità (o in un'altra unità interamente), quindi collegarla in modo simbolico in modo che la posizione originale punti alla nuova posizione. Ciò significa che la tua domanda è un duplicato.
Dopo il

3
Totalmente non un duplicato. E in teoria potrebbe esserci un modo costruito. I Closevotes mi fanno finta.
Journeyman Geek

Risposte:


44

Se non sei troppo preoccupato per l'attuale struttura di cartelle esistente, puoi spostare la cartella dove vuoi e utilizzare un collegamento simbolico di directory per puntare alla nuova posizione (ad esempio, se hai spazio limitato sull'unità di sistema). La tipica riga di comando per questo sarebbe

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

Non sono a conoscenza di strumenti che possano effettivamente spostare le cartelle e reindirizzare, collegamenti e chiavi del Registro di sistema, poiché ci sono così tanti programmi con versioni in costante aggiornamento che sarebbe molto difficile da mantenere.

EDIT: è stata effettuata una richiesta per aggiungere come eliminare correttamente il collegamento simbolico della directory. Devi stare attento con questo poiché un comando errato potrebbe cancellare la cartella a cui sei collegato.

I metodi migliori sono:

  • Elimina il collegamento simbolico della directory tramite Esplora risorse. Ciò manterrà intatta la cartella di destinazione e rimuoverà solo il collegamento simbolico.

o

  • Usa il comando rmdir C:\Path\To\Symbolic\Link

Evitare Non utilizzare il delcomando sul percorso della directory link simbolico, come il delcomando viene utilizzato per rimuovere i file. In questo modo seguirai il percorso della directory di destinazione, cancellando tutti i file corrispondenti ai tuoi criteri!


5
Ciò richiede che le partizioni siano NTFS (che probabilmente sono). FAT32 non supporta i collegamenti simbolici.
Sydius,

10

Basandosi sulla risposta di Jonno, se lo spazio è la tua preoccupazione, il collegamento simbolico è il tuo amico. esiste un software di altri tempi in cui Steam non ti consentiva di installare giochi al di fuori della cartella di installazione di Steam chiamata steammover che automatizza la creazione del collegamento simbolico, lo punti alle cartelle contenenti i programmi che vuoi spostare (es. C: / Program File) e una destinazione (es. D: / programmi) e puoi spostare file specifici.


7

Lo spostamento / installazione di tali applicazioni in un'altra posizione può avere conseguenze indesiderate.

Ci possono essere un intero insieme di ipotesi che gli sviluppatori usano che si interrompono se si sposta il programma. Ad esempio, un'applicazione che si installa sul profilo utente si aspetterebbe l'accesso completo in scrittura alla sua cartella di installazione, o ancora peggio userebbe percorsi relativi in ​​base al punto in cui si aspetta che venga installata.

Quindi la soluzione più semplice (come altri hanno già detto) è semplicemente usare un punto di giunzione per spostare i file lasciando che l'applicazione pensi che sia ancora nella sua posizione originariamente installata (lascerà una cartella "fantasma").

Nulla di più che richiederebbe un'analisi per applicazione per vedere se qualcosa si rompe dal spostarlo, ci sono strumenti per aiutare quell'analisi come Windows ADK (Assessment and Deployment Kit) ma non è automatizzato.


5

Il modo più semplice che ho trovato per fare questo è usare l' estensione Shell Link . È un'estensione della shell di Explorer che ti consente di gestire collegamenti simbolici e fissi senza passare alla riga di comando.

Nel tuo caso, dovresti individuare la cartella che il programma di installazione ti ha costretto a utilizzare, spostare i file nella posizione desiderata, fare clic con il pulsante destro del mouse sulla nuova posizione e scegliere "Seleziona origine collegamento", quindi tornare alla posizione originale e scegliere "Rilascia Link As ..." e seleziona Junction (o Symbolic Link, anche se di solito uso "Junction" perché alcune applicazioni non seguiranno il Symbolic Link).

L'ho usato per molti di questi tipi di scenari - spesso un'applicazione imporrà una posizione forzata per i file di configurazione e cache (come% appdata% \ MyProgram). Su un SSD, se questi file vengono scritti costantemente, può ridurre la durata di tale unità, quindi lo userò per spostare quei file di cache su un'unità mandrino, riducendo leggermente le prestazioni, ma riducendo l'usura sull'SSD.


1

Non esiste una garanzia universale per farlo. Esistono diversi modi in cui programmi diversi, in particolare programmi scritti in lingue diverse, possono controllare dove è archiviato il file eseguibile. Cose come Symlink possono essere generalmente efficaci, ma sanno sempre che potrebbero esserci delle eccezioni che si rompono. Se sposti un file (come l'eseguibile, ma forse qualche altro file), alcuni programmi potrebbero aspettarsi di trovare un file in una posizione specifica e potrebbero comportarsi in modo diverso (forse in particolare probabilmente rompersi del tutto) se le cose non sono come il programma si aspetta.

Questo è vero per più sistemi operativi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.