왜 프로그램을 C : /에 직접 설치합니까?


14

일부 프로그램이 C : / Program Files / 폴더에 직접 설치되지 않고 C : /에 직접 설치되는 이유는 무엇입니까?

또한 드라이버가 압축 해제되는 이유는 무엇입니까? C : /-드라이브에서 많은 Intel, Nvidia, ATI 및 Xerox 폴더를 보았습니다. 데스크탑이나 다른 사용자 별 폴더가 아니라 기본적으로 전혀 의미가 없지만 말입니다. 파일은 일시적 일 뿐이므로 시스템 전체에서 필요하지 않아야합니다.

감사!

편집 :이 질문은 특정 소프트웨어가 아니라 일반적인 방법에서 벗어나는 것이 합리적인 이유입니다. 나는 그것이 계속 작동 해야하는 서버와 관련이 있다고 생각했지만, 사실에 전혀 근거하지 않고 서버 프로그램이 C : / Program Files /에서 실행되어서는 안되는 이유는 무엇입니까? 권한이 설정됩니다. 드라이버 설치 파일과 같이 시스템 전체에 필요한 파일에 대해서도 동일합니다.

분명히 이것은 Windows에만 해당됩니다.


6
소프트웨어 설치는 개발주기의 주요 부분이며, 특정 이유가 있다면 프로그램 파일 이외의 영역에 배포해야 할 경우 개발자가 확실히 알고 싶어 할 것입니다. 그래서 나는 일반적으로 주제에 대해 말하고 싶습니다.
GrandmasterB

MS-DOS 응용 프로그램이 C : \에 설치되어 있다고 생각하지만 물론 Windows 10은 MS-DOS가 아닙니다.
juniorRubyist

답변:


11

c : \에 직접 폴더에 무언가를 설치하거나 c :에 드라이버를 압축 해제해야 할 기술적 이유는 없습니다.
심지어 Microsoft가 게시 한 Windows 소프트웨어 디자인 가이드에도 위배됩니다.

그러나 :
사용자에게 해당 폴더에서 무언가를 수동으로 실행하도록 지시해야하는 경우 간단한 지침을 제공하는 것이 편리합니다.
"내 컴퓨터"를 열고 C :를 열고 [폴더]를 연 다음 "setup"프로그램을 엽니 다.
이와 같이 경로를 고정하면 모든 사용자에게 일관성이있어 기술 지원이 훨씬 쉬워집니다.
이것은 종종 드라이버 다운로드의 경우입니다. 모든 주요 제조업체는 그렇게하는 것처럼 보입니다.

나는 가끔 헬프 데스크에서 일했습니다.
당신은 얼마나 많은 사용자가 무언가를 다운로드하고, 압축을 풀고, 15 분 안에 전화를 받고, 하드 디스크에서 압축 해제 된 파일을 어디에 넣었는지 기억할 수 없습니다.
그런 다음 헬프 데스크 또는 기술 지원에 문의하십시오.
이러한 통화를 처리하는 사람이라면 이러한 파일을 C : \에 직접 넣는 논리를 매우 빨리 인식하게됩니다.


4
또한 "C : \ Program Files"는 로캘 및 프로세서 아키텍처 (x86 대 x64)에 따라 다르지만 "C : \"는 다릅니다. "% ProgramFiles %"는 로케일 독립적이지만 실제 경로처럼 보이지 않거나 백분율 기호를 제대로 얻지 못하는 반숙 한 사용자를 혼동하는 경향이 있습니다. 64 비트 시스템에서는 여전히 32 비트 응용 프로그램의 경로가 잘못됩니다.
abstrask

1
이 경우 C : \보다 데스크탑으로 파일을 추출하는 것이 더 쉽다고 생각합니다.
phuclv

@phuclv 특히 Windows 8 이상에서는 그렇지 않습니다. Desktop 폴더에는 설치 프로그램을 방해 할 수있는 매우 까다로운 파일 시스템 권한 (특히 로밍 프로필을 사용하는 경우)이 있습니다. 다른 곳 (네트워크 또는 저장 공간 위치)으로 리디렉션 할 수도 있습니다. 그리고 많은 바이러스 검사 프로그램은 데스크탑에서 설치 프로그램을 실행하려고하면 설치 프로그램을 신뢰하지 않습니다. Windows 10부터 AppLocker는 데스크탑에서 물건을 실행하는 것을 방해 할 수있는 또 다른 가능한 방법입니다 (많은 회사에서는 데스크탑에서 물건을 차단하도록 설정되어 있습니다).
Tonny

7

일부 프로그램이 C : / Program Files / 폴더에 직접 설치되지 않고 C : /에 직접 설치되는 이유는 무엇입니까?

일부 개발자는 "올바른"작업을 수행하기에는 알지 못하거나 게으 르기 때문에 표준 규칙을 따르지 않습니다. 많은 아마추어 개발자는 환경을 쿼리하지 않고 소프트웨어 및 / 또는 설치 프로그램에 경로를 하드 코딩합니다 (예 : % TEMP %, % APPDATA %, % PROGRAMFILES %).

또한 드라이버가 압축 해제되는 이유는 무엇입니까? C : /-드라이브에서 많은 Intel, Nvidia, ATI 및 Xerox 폴더를 보았습니다. 데스크탑이나 다른 사용자 별 폴더가 아니라 기본적으로 전혀 의미가 없지만 말입니다. 파일은 일시적 일 뿐이므로 시스템 전체에서 필요하지 않아야합니다.

Tonny가 제안했듯이 이것은 부분적으로 기술 지원을 단순화하기위한 것이지만 사용자 편의를위한 것이기도합니다. 드라이버 파일을 찾기 쉽고 모든 사용자가 액세스 할 수있는 위치로 추출하면 드라이버를 다시 설치해야 할 경우 시스템에서 파일을 다시 쉽게 찾을 수도 있습니다. 불행히도 대부분의 공급 업체는 오래된 파일을 정리하지 않으므로 다시는 사용하지 않는 기가 바이트의 오래된 드라이버 패키지로 끝날 수 있습니다. 경우에 따라이를 % TEMP % 또는 "모든 사용자"계정으로 추출하는 것이 더 적절할 수 있으며 일부 공급 업체는이를 정확하게 수행합니다.


2

'대부분의'소프트웨어 및 구성 파일은 긴 디렉토리 경로, 대소 문자, 공백 및 '비표준'문자를 처리 할 수 ​​있지만 항상 그런 것은 아니며 작업 흐름 중간에이 문제가 발생하는 것이 사소한 번거 로움이 될 수 있습니다.

Microsoft가 Users 폴더를 Vista 및 7의 루트 디렉토리로 옮겼다는 것은 실제로 루트 디렉토리를 선호하는 사람 수 (기본 "c :")를 나타내는 좋은 지표 일 것입니다.


1

공백 . 이유는 공백 입니다.

에 공백이 C:/Program Files있습니다. 쉘 명령을 그대로두면 별도의 두 인수로 해석됩니다. C:/Program그리고 Files. 물론 이것은 단순히 인용하여 수정하기가 매우 쉽지만, "C:/Program Files"또는 C:/Program\ Files일부 프로그램은이를 망칠 수 있습니다. 이 문제를 해결하거나 게으른 스크립트 작성자가 쉽게 사용할 수 있도록 프로그램이 C:직접 설치되는 경우가 있습니다.

프로그램 개발자가 부지런하고 모든 파일 경로를 올바르게 이스케이프하더라도 체인의 어딘가에 일부 라이브러리 또는 외부 스크립트가 없을 수 있습니다. 프로그램에는 너무 많은 의존성이 있기 때문에 때로는 모든 사람을 탑승시키는 것보다 공간을 사용하지 않는 것이 더 쉽습니다.


그리고 물건의 길이. c:\program files입력하기가 깁니다. 탭을 사용할 수 있지만 매개 변수 인 경우에는 사용할 수 없습니다. 그리고 종종 그 안의 디렉토리는 길다. C:\Program Files\Microsoft Visual Studio 10.0 %이 정말 2 또는 4000 문자의 제한이 있습니다 왜냐하면 '오랜 디렉토리에 대처 할 수 가리키고 %의 PATH
barlop

0

이 문제는 Windows에만 해당되지만 소프트웨어는 다른 운영 체제와주고받을 수 있습니다. 또한 Windows 버전간에 차이가있을 수 있습니다. 예를 들어 일부 번역 된 Windows 버전에서도이 폴더 이름이 번역되어 있으며 사용자가 위치를 변경할 수도 있습니다 (예 : "C : \ Program Files"대신 "P : \"를 사용함). 잠시). 이것은 소프트웨어에 의해 모두 감지 될 수 있지만 고정 된 위치를 사용하는 것이 더 쉽습니다. 또한 드라이버의 경우이 정보를 OS에서 사용할 수없는 시점의 파일 위치를 알아야합니다.


0

일부 구형 프로그램 (DOS 시대, Win 3.1)은 열린 경로에서 공백 또는 "긴"이름을 허용하지 않습니다. 그러나 요즘에는 매우 드 rare니다.

인스톨러는 설치 될 시스템에 대한 설정을 가져옵니다. 이러한 설정에는 다른 세부 사항 중에서 Program Files 디렉토리의 위치가 포함되어야합니다. 합법적 인 프로그램은이 정보에 연결되고 제공하는 기본값에서 변경 한 경우 추적하는 설치 프로그램에 패키지됩니다.

반면, 드라이버는 운영 체제 (장치 관리자-> 드라이버 업데이트)에서 처리하도록 설계되었습니다. 설치 관리자 내에 있으면 장치 관리자가 액세스하여 설치할 수 없습니다. 그들은 당신이 어디에 두 었는지 유연하지 않습니다.

소비자 수준에서 스마트 폰과 태블릿은 이것이 최종 사용자의 관심사라는 아이디어에 실제로 도전합니다.


0

공백이있는 경로 (예 : "프로그램 파일")에 존재하는 일부 프로그램은 C :의 루트에 설치됩니다.

그러나 많은 프로그래머들이 게으르고 단지 편의상 기본적으로 C : \로 프로그램을 변경하기로 결정했습니다.


0

TLDR; 다른 프로그램이 의존 할 수있는 중요한 프로그램을 게임 / 브라우저 / 설치 한 다른 프로그램과 같은 일반 프로그램과 분리합니다.

사람들이 C : \에 설치하기로 결정한 또 다른 큰 이유는 그들이 처음에 프로그램 파일을 만든 이유와 관련이 있다고 생각합니다. 사용자 파일이 프로그램 / 시스템과 분리되도록 Users 폴더를 만드는 것과 같은 방식으로 시스템 파일과 프로그램을 분리하는 것 파일.

따라서 개발자가 오디오 플러그인과 같은 패키지 개발 항목이나 python / ruby와 같은 전체 언어를 생각하지 못하기 때문에 사용자가 제거하지 않으려는 경우 C : \ 드라이브에 프로그램을 설치합니다. "시스템 파일"에는 포함되지만 명백한 이유로 Windows 폴더에는 넣지 않습니다.

나는 이것이 오래된 게시물이라는 것을 알고 있지만 잠겨 있지 않으며 추가해야 할 것이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.