Czy mogę przenieść zainstalowane programy w inne miejsce w systemie Windows?

27

Uwaga o sugerowany duplikat: Ja nie szukam globalną zmianę lokalizacji instalacji. Chcę przenieść programy według bazy programów do różnych lokalizacji.


Niektóre instalatory oprogramowania nie pozwalają ci wybrać, gdzie program zostanie zainstalowany, co wydaje mi się dość denerwujące.

Czy istnieje sposób, który pozwala przenieść już zainstalowany program w inne miejsce, najlepiej automatycznie wprowadzając niezbędne zmiany w Rejestrze?

zaktualizuj zgodnie z dotychczasowymi odpowiedziami:
Nie chcę uzyskiwać dostępu do programu z innej lokalizacji, chcę, aby był tam fizycznie. Tak więc, choć doceniam twoje sugestie, linki się nie sprawdzą.

Joris Groosman
źródło
1
Jeśli SW jest irytująco wystarczająco zły, aby nie pozwolić ci wybrać miejsca instalacji, może być również wystarczająco irytująco zły, aby mieć gdzieś zakodowaną ścieżkę „C: \”. Jedynym wystarczająco bezpiecznym sposobem na oszukanie takiego oprogramowania jest odpowiedź Jonno, gdzie nadal „myśli”, że jest zainstalowany w domyślnej lokalizacji. Może się jednak zdarzyć, że oszukuje go „za dużo”, np. W odniesieniu do dostępnego miejsca na „dysku”.
Hagen von Eitzen,
1
Dokładny duplikat programów
wymuszających
@Downvoter Dlaczego głosowanie negatywne? Ponieważ to duplikat? Wyjaśniłem, dlaczego tak nie jest.
Joris Groosman
@JorisGroosman Możesz używać dowiązań symbolicznych na tym samym dysku , nie ma znaczenia, gdzie znajdują się pliki - możesz to nawet zrobić dla poszczególnych programów. Możesz przenieść folder programu do innej lokalizacji na dysku (lub całkowicie na innym dysku), a następnie dowiązać symbolicznie, aby pierwotna lokalizacja wskazywała nową lokalizację. Oznacza to, że twoje pytanie jest duplikatem.
AStopher
3
Zupełnie nie duplikat. Teoretycznie może istnieć wbudowany sposób. Closevotes są dla mnie fałszywe.
Journeyman Geek

Odpowiedzi:

44

Jeśli nie martwisz się zbytnio faktyczną strukturą folderów, możesz przenieść folder w dowolne miejsce i użyć dowiązania symbolicznego katalogu, aby wskazać nową lokalizację (na przykład, jeśli masz mało miejsca na dysku systemowym). Typowa linia poleceń to

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

Nie znam żadnych narzędzi, które faktycznie przenosi foldery i przekierowują oraz łącza i klucze rejestru, ponieważ istnieje tak wiele programów z ciągłą aktualizacją wersji, że utrzymanie ich byłoby bardzo trudne.

EDYCJA: Zażądano dodania poprawnego usunięcia dowiązania symbolicznego katalogu. Musisz być ostrożny, ponieważ nieprawidłowe polecenie może wyczyścić folder, do którego masz łącze.

Najlepsze metody to:

  • Usuń symboliczne łącze do katalogu za pomocą Eksploratora Windows. Dzięki temu folder docelowy pozostanie nienaruszony i usunie tylko symboliczne łącze.

lub

  • Użyj polecenia rmdir C:\Path\To\Symbolic\Link

Czy nie użyć delpolecenia w miejscu swojego katalogu dowiązania symbolicznego, jako delpolecenie służy do usuwania plików. W ten sposób podążysz ścieżką do katalogu docelowego, usuwając wszystkie pliki spełniające Twoje kryteria!

Jonno
źródło
5
Wymaga to, aby partycje były NTFS (którymi prawdopodobnie są). FAT32 nie obsługuje dowiązań symbolicznych.
Sydius
10

Opierając się na odpowiedzi Jonno: Jeśli przestrzeń jest twoim zmartwieniem, dowiązanie symboliczne jest twoim przyjacielem. w czasach, gdy Steam nie pozwalał na instalowanie gier poza folderem instalacyjnym Steam, nazywa się steammover, który automatyzuje tworzenie dowiązań symbolicznych, wskazuje na foldery zawierające programy, które chcesz przenieść (np. C: / Program Pliki) i miejsce docelowe (np. D: / programy) i możesz przenosić określone pliki.

Aaron Ladd
źródło
7

Przeniesienie / instalacja tych aplikacji w innej lokalizacji może mieć niezamierzone konsekwencje.

Może istnieć cały zestaw założeń, które programiści używają do złamania, jeśli przenosisz program. Na przykład aplikacja, która instaluje się w profilu użytkownika, spodziewałaby się pełnego dostępu do zapisu w swoim folderze instalacyjnym lub, co gorsza, używa ścieżek względnych zależnych od miejsca, w którym ma zostać zainstalowana.

Tak więc najłatwiejszym rozwiązaniem (jak powiedzieli inni) jest po prostu użycie punktu połączenia do przeniesienia plików, pozwalając aplikacji myśleć, że wciąż znajduje się w pierwotnie zainstalowanej lokalizacji (pozostawi folder „duch”).

Cokolwiek więcej wymagałoby analizy poszczególnych aplikacji, aby sprawdzić, czy coś nie działa z przeniesieniem, istnieją narzędzia, które pomogą w takiej analizie, takie jak Windows ADK (zestaw do oceny i wdrażania), ale nie jest zautomatyzowany.

daf
źródło
5

Najłatwiejszym sposobem, aby to zrobić, jest użycie rozszerzenia powłoki powłoki . Jest to rozszerzenie powłoki eksploratora, które pozwala zarządzać dowiązaniami symbolicznymi i twardymi bez opuszczania wiersza poleceń.

W twoim przypadku zlokalizuj folder, z którego zmusił cię instalator, przenieś pliki do żądanej lokalizacji, kliknij prawym przyciskiem myszy nową lokalizację i wybierz „Wybierz źródło linku”, a następnie wróć do pierwotnej lokalizacji i wybierz „Upuść link jako ...” i wybierz Łączenie (lub Łącze symboliczne, chociaż zwykle używam „Łączenia”, ponieważ niektóre aplikacje nie będą podążały za Łączem symbolicznym).

Użyłem go do wielu tego rodzaju scenariuszy - często aplikacja narzuca wymuszoną lokalizację plików konfiguracji i pamięci podręcznej (np.% Appdata% \ MyProgram). Na dysku SSD, jeśli pliki te są zapisywane w sposób ciągły, może to skrócić żywotność tego dysku, więc użyję tego, aby przenieść te pliki pamięci podręcznej na napęd wrzeciona, nieznacznie zmniejszając wydajność, ale zmniejszając zużycie dysku SSD.

mdip
źródło
1

Nie ma w tym zakresie żadnej ogólnej gwarancji. Istnieje wiele sposobów, w jakie różne programy, zwłaszcza programy napisane w różnych językach, mogą sprawdzić, gdzie jest przechowywany plik wykonywalny. Rzeczy takie jak dowiązania symboliczne mogą zwykle być skuteczne, ale zawsze wiedzą, że mogą wystąpić pewne wyjątki. Jeśli przenosisz plik (taki jak plik wykonywalny, ale być może jakiś inny plik), niektóre programy mogą spodziewać się znalezienia pliku w określonej lokalizacji i mogą zachowywać się inaczej (być może szczególnie po prostu całkowicie się zepsują), jeśli coś nie jest takie jak program oczekuje.

Dotyczy to wielu systemów operacyjnych.

TOOGAM
źródło