Dlaczego miałbym instalować program bezpośrednio w C: /?

13

Jakie są powody, dla których niektóre programy instalują się (domyślnie lub nawet wymagania) w C: / bezpośrednio, a nie, jak większość, w folderze C: / Program Files /?

Ponadto dlaczego tak często zdarza się, że sterowniki są tutaj rozpakowywane? Widziałem wiele folderów Intel, Nvidia, ATI i Xerox na dyskach C: / - chociaż dla mnie nie ma sensu domyślnie tam, a nie na pulpicie lub innych folderach specyficznych dla użytkownika. Pliki nie powinny być wymagane w całym systemie, ponieważ są tylko tymczasowe.

Dzięki!

Edycja: To pytanie nie dotyczy konkretnego oprogramowania, ale raczej powodów, dla których warto odstąpić od zwykłego sposobu. Myślałem, że to może mieć coś wspólnego z serwerami, które powinny być nadal uruchomione, ale jest to tylko przeczucie oparte na żadnych faktach, dlaczego program serwera nie powinien być uruchomiony z C: / Program Files /, dopóki wszystkie uprawnienia są ustawione. To samo dotyczy ewentualnie wymaganych plików systemowych, takich jak pliki instalacyjne sterowników.

Oczywiście dotyczy to tylko systemu Windows.

zuiqo
źródło
5
Instalacja oprogramowania jest ważną częścią cyklu programistycznego, a jeśli istnieją konkretne powody, aby wdrożyć go w obszarach poza plikami programu, z pewnością programiści powinni wiedzieć. Więc powiedziałbym, że ogólnie na temat.
GrandmasterB,
Myślę, że aplikacje MS-DOS zainstalowały się w C: \, ale oczywiście Windows 10 nie jest MS-DOS.
juniorRubyist

Odpowiedzi:

10

Nie ma żadnego rzeczywistego technicznego powodu, aby zainstalować coś w folderze bezpośrednio w c: \ lub rozpakować sterownik w c :.
Jest to nawet sprzeczne z przewodnikami projektowania oprogramowania Windows opublikowanymi przez Microsoft.

Ale:
Jeśli użytkownik musi zostać poinstruowany, aby ręcznie uruchomić coś w tym folderze, wygodnie jest móc udzielić mu prostych instrukcji.
Jak: Otwórz „Mój komputer”, otwórz C :, otwórz [folder], a następnie otwórz program „setup”.
Wymuszając taką naprawę ścieżki, jest ona spójna dla wszystkich użytkowników, co znacznie ułatwia życie pomocy technicznej.
Tak często dzieje się w przypadku pobierania sterowników. Wygląda na to, że wszyscy główni producenci to robią.

Od czasu do czasu pracowałem w dziale pomocy technicznej.
Nie uwierzysz, ilu użytkowników coś pobiera, rozpakuj, uzyskaj połączenie telefoniczne w ciągu 15 minut i nie pamiętam, gdzie na dysku twardym umieszczają rozpakowane pliki.
Następnie dzwonią do działu pomocy technicznej lub pomocy technicznej.
Jeśli jesteś osobą obsługującą te połączenia, bardzo szybko doceniasz logikę umieszczania tych plików bezpośrednio w C: \

Tonny
źródło
4
Ponadto „C: \ Program Files” zależy zarówno od ustawień regionalnych, jak i architektury procesorów (x86 vs. x64), podczas gdy „C: \” nie jest. „% ProgramFiles%” jest niezależny od ustawień regionalnych, ale ma tendencję do dezorientowania użytkowników częściowo znających się na rzeczy, którzy nie uważają, że to prawdziwa ścieżka, lub nie dostrzegają prawidłowych znaków procentowych. W systemach 64-bitowych nadal będzie to zła ścieżka dla aplikacji 32-bitowych.
abstrask
w takim przypadku myślę, że łatwiej jest rozpakować pliki na pulpit niż C: \
phuclv
@ phuclv Niezupełnie, szczególnie w systemie Windows 8 i nowszych. Folder Desktop ma bardzo trudne uprawnienia do systemu plików (szczególnie, gdy używane są profile mobilne), które mogą zakłócać działanie instalatora. Można go również przekierować do innego miejsca (na przykład do sieci lub miejsca do przechowywania). I wiele wirusów skanerów po prostu nie ufa instalatorowi, jeśli spróbujesz uruchomić go z pulpitu. Począwszy od Windows 10 AppLocker jest kolejną możliwą rzeczą, która może zakłócać uruchamianie rzeczy z pulpitu (w wielu firmach skonfigurowano blokowanie uruchamiania rzeczy z pulpitu).
Tonny
6

Jakie są powody, dla których niektóre programy instalują się (domyślnie lub nawet wymagania) w C: / bezpośrednio, a nie, jak większość, w folderze C: / Program Files /?

Niektórzy programiści nie przestrzegają standardowych konwencji, ponieważ są albo nieświadomi, albo zbyt leniwi, aby robić rzeczy „dobrze”. Wielu programistów amatorów będzie również na stałe wpisywać ścieżki do swojego oprogramowania i / lub instalatorów zamiast sprawdzać środowisko (np.% TEMP%,% APPDATA%,% PROGRAMFILES%).

Ponadto dlaczego tak często zdarza się, że sterowniki są tutaj rozpakowywane? Widziałem wiele folderów Intel, Nvidia, ATI i Xerox na dyskach C: / - chociaż dla mnie nie ma sensu domyślnie tam, a nie na pulpicie lub innych folderach specyficznych dla użytkownika. Pliki nie powinny być wymagane w całym systemie, ponieważ są tylko tymczasowe.

Jak sugeruje Tonny, ma to częściowo na celu uproszczenie wsparcia technicznego, ale także dla Twojej wygody. Po wyodrębnieniu plików sterowników do lokalizacji, która jest łatwa do znalezienia i dostępna dla wszystkich użytkowników, system może również łatwo zlokalizować pliki, jeśli zajdzie potrzeba ponownej instalacji sterowników. Niestety, większość dostawców nie usuwa starych plików, więc możesz skończyć z gigabajtami starych pakietów sterowników, których już nigdy nie będziesz używać. W niektórych przypadkach bardziej odpowiednie może być wyodrębnienie ich do% TEMP% lub konta „Wszyscy użytkownicy”, a niektórzy dostawcy robią to dokładnie.

obrabować
źródło
2

Chociaż „większość” plików programowych i konfiguracyjnych może obsługiwać długie ścieżki katalogów, mieszane wielkie litery, spacje i „niestandardowe” znaki, nie zawsze, a potknięcie się o to w trakcie pracy może być niewielkim problemem.

To, że Microsoft przeniósł folder Users do katalogu głównego dla systemów Vista i 7, prawdopodobnie dobrze wskazuje, ile osób woli katalog główny (domyślnie „c:”) w praktyce.

donlindsay
źródło
1

Przestrzenie . Powodem są spacje .

Jest miejsce w C:/Program Files. Jeśli umieścisz to w poleceniu powłoki takim, jakie jest, będzie to interpretowane jako dwa osobne argumenty. C:/Programa Files. Jest to, oczywiście, bardzo łatwe do naprawienia, wystarczy przytoczyć to, "C:/Program Files"czy C:/Program\ Filesjednak niektóre programy udaje się wkręcić tego. Aby obejść ten problem lub ułatwić leniwym pisarzom skryptów, programy są czasami instalowane C:bezpośrednio.

Zauważ, że nawet jeśli programista jest sumienny i poprawnie unika wszystkich ścieżek plików, możliwe, że niektóre biblioteki lub skrypty zewnętrzne gdzieś w łańcuchu tego nie zrobią. Programy mają tak wiele zależności, że czasem łatwiej jest po prostu nie używać spacji, niż próbować wciągnąć wszystkich na pokład.

mpen
źródło
i długość rzeczy. c:\program filesdługo trzeba wpisać .. można użyć tab, ale nie, jeśli jest to parametr. Często katalogi w nim są długie. C:\Program Files\Microsoft Visual Studio 10.0 infact% PATH% tak naprawdę nie radzi sobie z wieloma długimi katalogami, ponieważ ma limit 2 lub 4 tysięcy
znaków
0

Oświadczasz, że dotyczy to tylko systemu Windows, ale oprogramowanie może być przenoszone do / z innych systemów operacyjnych. Mogą również występować różnice między wersjami systemu Windows, np. Niektóre przetłumaczone wersje systemu Windows mają również przetłumaczoną nazwę tego folderu, a użytkownik może również zmienić lokalizację (np. Zamiast „C: \ Program Files” użyłem „P: \” dla chwila). To wszystko może zostać wykryte przez oprogramowanie, ale łatwiej jest użyć stałej lokalizacji. Również w przypadku sterowników może być konieczne, aby wiedzieć, gdzie są pliki w tym czasie, że te informacje nie są dostępne z systemu operacyjnego.

herman
źródło
0

Niektóre starsze programy (era DOS, Win 3.1) nie mogły akceptować spacji lub „długich” nazw na ścieżce, z której zostały otwarte. W dzisiejszych czasach jest to dość rzadkie.

Instalatorzy powinni uzyskać ustawienia dotyczące instalowanego systemu. Te ustawienia powinny zawierać między innymi lokalizację katalogu Program Files. Legalne programy są pakowane w instalatory, które łączą się z tymi informacjami i śledzą, jeśli zmienisz domyślne ustawienia, które oferują.

Z drugiej strony sterowniki są zaprojektowane do obsługi przez system operacyjny (Menedżer urządzeń -> Aktualizuj sterowniki) - gdyby były w instalatorze, Menedżer urządzeń nie byłby w stanie uzyskać do nich dostępu, aby je zainstalować. Nie są elastyczni w kwestii miejsca ich umieszczenia.

Na poziomie konsumenta smartfony i tablety naprawdę kwestionują pomysł, że powinny to dotyczyć użytkowników końcowych.

davidjmcclelland
źródło
0

Niektóre programy działają nieprawidłowo, jeśli istnieją na ścieżce ze spacjami (np. „Pliki programów”), dlatego są instalowane w katalogu głównym C :.

Założę się jednak, że wielu programistów było leniwych i po prostu zdecydowało się umieścić swój program w C: \ domyślnie, po prostu z wygody.

Bigbio2002
źródło
0

TLDR; aby oddzielić ważne programy, od których inne programy mogą polegać, od zwykłych programów, takich jak gry / przeglądarki / cokolwiek innego, co zainstalowałeś.

Myślę, że innym ważnym powodem, dla którego ludzie wybierają instalację w C: \, jest to, dlaczego stworzyli Pliki Programów: w celu oddzielenia programów od plików systemowych w taki sam sposób, w jaki tworzony jest folder Użytkownicy w celu oddzielenia plików użytkownika od programu / systemu akta.

Jeśli więc deweloper nie chce, aby użytkownik go odinstalował, ponieważ nie pamięta, do czego służy (pomyśl o spakowanych elementach programistycznych, takich jak wtyczki audio lub całe języki, takie jak python / ruby), wówczas instaluje program na dysku C: \ w pewnym sensie obejmują go w „plikach systemowych”, ale również nie umieszczają w folderze Windows z oczywistych powodów.

Wiem, że to stary post, ale nie jest zamknięty i miałem coś do dodania.

Duncan
źródło