Windows 플랫폼에서 대부분의 대규모 응용 프로그램에는 아래에 폴더를 설정하고 C:\Program Files
일부 다른 위치에 레지스트리 키 등을 추가하는 자체 설치 프로그램이 함께 제공됩니다.
.exe
하지만 여전히 한 개 또는 한 README
개 또는 두 개로 구성된 도구가 꽤 많이 있습니다 .dll
.
그러한 도구를 어떻게 설치해야 합니까? 직접 C:\Program Files
? 아래 하나의 하위 폴더에 모두 포함되어 있습니까 C:\Program Files
? 아래 어딘가에 C:\Users\Me
? 전혀 다른 곳이요?
아니면 .exe
다른 파일이 있는 도구에 대해 다른 접근 방식을 적용하거나 s가 있는 도구만 .dll
다르게 처리해야 할 수도 있습니다.
이를 수행하는 표준 허용 방법이 있습니까? "모범 사례"? 답변이 Windows 버전에 따라 다르다면 Windows 7을 사용하고 있습니다.
특히, 사람들이 분명한 대답으로 생각할 수 있는 것에는 다음과 같은 문제가 있는 것 같습니다.
아래에 새 하위 폴더를 수동으로 만들려고 했습니다 C:\Program Files
. 사실 예전에도 그랬다고 생각했는데 Windows에서 대화 상자가 표시됩니다.대상 폴더 액세스가 거부되었습니다.. 무턱대고 클릭하기보다는 두 번 생각하게 만들었습니다.계속하다.
나보다 더 뛰어난 사람들이 수년에 걸쳐 이 문제에 대해 여러 번 반대했다는 가정하에 나는 어떤 종류의 "모범 사례"가 받아들여졌는지 커뮤니티에 묻고 싶습니다.
답변1
사용C:\Tools
또는C:\Users\<user>\Tools
나는 설치 프로그램 없이 많은 작은 프로그램을 사용하고 있으며 다음을 권장합니다.
- 모두 저장하세요.
C:\Tools
- 프로그램이 단일 파일로 구성되어 있으면 바로 아래에 넣으십시오.
C:\Tools
- 프로그램이 여러 파일로 구성된 경우 해당 프로그램을 아래에 두십시오.
C:\Tools\ProgramName
C:\Tools\_SysInternals
SysInternals 도구 에는 도구가 많기 때문에 특별한 범주가 있습니다.
마이그레이션할 때 단순히 기계에서 기계로 이동하는 중인데 C:\Tools
매력적으로 작동합니다.
실제 샘플(축약된 목록):
C:\Tools\autoexec-elevated.bat C:\Tools\cleanup.bat C:\Tools\BabelMap.exe C:\Tools\netmon.exe C:\Tools\notifu.exe C:\도구\putty.exe C:\도구\UDPixel.exe C:\Tools\battery.vbs C:\도구\3dclip-1.5.1\ C:\Tools\alternatestreamview\ C:\Tools\blender-2.71-windows64\ C:\Tools\Notepad++\ C:\Tools\QueryExpress\ C:\도구\winscp555\ C:\도구\Xinorbis\ C:\Tools\_Sysinternals\accesschk\ C:\Tools\_Sysinternals\Autoruns\ C:\Tools\_Sysinternals\dependent22_x64\ C:\Tools\_Sysinternals\dependent22_x86\ C:\Tools\_Sysinternals\LogonSessions\
이것이 아이디어를 주기를 바랍니다.
편집: 확장 정보
내 생각엔 그 이하인 것 같아설치하다귀하의 질문에그러한 도구를 어떻게 설치해야 합니까?실제로는 수동 설정을 의미합니다.사자파일.
경험 법칙: 수동으로 관리되는 파일에는 수동으로 생성된 폴더를 사용하십시오. 직접 제어하지 않는 (설치) 프로세스에서 시스템 폴더를 사용하도록 허용합니다. 어떤 콘텐츠가 '귀하의 것'인지(무료로 복사할 수 있음), 어떤 애플리케이션이 설치 프로그램에 의해 관리되는지 즉시 인식할 수 있습니다.
따라서 수동으로(복사하여) 설치할 때는
C:\Program Files
- 여기에 있는 프로그램은 단순히 마이그레이션할 수 없으며 다시 설치해야 합니다(마이그레이션에 대한 좋은 힌트 제공)C:\Program Files (x86)
- 위와 같지만 64비트 시스템에서는 32비트 프로그램이 여기에 표시됩니다(특정 앱이 32비트인지 64비트인지 판단하는 힌트를 제공할 수 있음)C:\ProgramData
- 여기에 있는 애플리케이션 저장소는 이러한 프로그램이 일부 데이터를 자체 방식으로 유지하고 있음을 보여줍니다. 하지만 당신은 당신의프로그램들데이터 아래? 좋은 생각이 아닙니다.C:\Users\Steven\AppData
- 다시, 넣어프로그램들데이터 아래에 있는 것은 좋은 생각이 아닙니다. 데이터에 관해 질문했다면 이 경로에 대해 몇 가지 흥미로운 내용을 작성할 수 있습니다. 그러나 프로그램의 경우 단순히 '아니오'입니다. :)
가능한 경로
C:\Users\Steven
- 될 수 있다당신의 대체 루트공유 컴퓨터이고 깔끔하게 유지하고 싶다면 전역 디렉터리를 만들지 않기로 결정합니다.C:\Users\Steven\Tools
프로그램을 고려하거나C:\Users\Steven\Desktop\Tools
편안하게 사용하고 싶은 경우 에도 사용할 수 있습니다 .데스크탑Windows의 여러 위치에서 바로가기를 통해 폴더에 액세스할 수 있습니다. 그러나 전자가 더 나을 수 있으며 이 폴더에 대한 바로가기를 데스크탑에 또는 필요할 때마다 배치할 수 있습니다.
편집하다:추가 유용한 힌트:
Windows 10에서 작은 프로그램 중 일부를 인식하게 하고 싶다면시작메뉴(이름의 증분 검색 또는 Ctrl+ Shift+ 를 사용하여 즉시 상승된 시작용 Enter),거기에 바로가기를 추가하고 한 번 실행하세요.. (그런 다음 제거할 수 있습니다.)
답변2
내가 아는 한 보편적인 접근 방식은 없습니다.
애플리케이션을 배치하는 것은 C:\Program Files
다소 표준적인 방법입니다. 그리고 당신은 얻을 것이다접근 보호: 일반(및 권한이 없는) 사용자는 에 쓸 수 없습니다 C:\Program Files
. 따라서 실수로 해당 파일을 삭제하거나 덮어쓸 수 없습니다. 바이러스로부터 더 잘 보호됩니다. 그렇기 때문에 에서 폴더를 만들려고 하면 경고(상승 요청)가 표시됩니다 C:\Program Files
.
C:\Program Files
따라서 ,가장 안전한실행 파일을 위한 장소입니다.
.exe
그러나 구성 변경 사항을 저장할 수 없기 때문에 구성을 근처에 저장하는 (휴대용) 앱에는 적합하지 않습니다 .
C:\ProgramData
사용자들 간에 공유되는 애플리케이션 데이터를 저장하기 위한 것입니다. 기본적으로 모든 사용자는 여기에서 파일과 폴더를 생성할 수 있지만 이를 생성한 사용자만 파일을 수정할 수 있습니다.
이 폴더는 공유 앱/도구에 쉽게 사용할 수 있습니다. 동시에, 나는 이 폴더에 앱을 본 적이 없습니다.
사용자 프로필에 앱을 배치하면 C:\Users\<username>
시스템의 다른 사용자는 해당 앱에 액세스할 수 없습니다. 프로필에 대한 모든 권한이 있으므로 보안 경고가 표시되지 않습니다. 이것이 바로 Chrome이 사용자 프로필에 설치되는 이유입니다. Chrome은 권한 상승을 요청하지 않고도 쉽게 스스로 업데이트할 수 있습니다.
사용자별 모드에서는 Windows Installer 패키지, .msi
파일이 C:Users\<username>\AppData\Microsoft\Installer\<ProductId>
. 따라서 공유되지 않은 앱을 사용자 프로필에 유지하는 것은 매우 표준적인 일입니다.
utils
내 사용자 프로필에 나에게만 유용한 앱이 포함된 폴더가 있습니다 . 이 폴더는 PATH
쉽게 액세스할 수 있도록 내 사용자 환경 변수에 추가되었습니다 .
C:\tools
공유 앱의 경우 다른 드라이브에 있는 유사한 디렉터리를 사용합니다 . 전역변수에 추가됩니다 PATH
.
답변3
나는 어떤 점에 대해 이미 주어진 답변에 동의합니다. 하지만 매우 작은 프로그램(utils)의 경우 bin 폴더(제 경우에는 E:\bin)에 저장하는 경향이 있습니다. 이러한 프로그램은 일반적으로 단일 exe 파일이거나 내 자신의 Python 스크립트입니다. 이 폴더를 PATH 변수에 추가하여 명령줄(제가 자주 사용하는 경향이 있음)에서 이 프로그램을 사용할 수 있습니다.
답변4
이러한 애플리케이션을 표준화하려는 경우 다음을 사용하는 것이 좋습니다.초콜릿 같은패키지 표준. 이는 여러 가지 이유로 좋습니다. 주로 많은 소프트웨어가이미 포장되어 있어요몇 가지 명령만으로 어디에서나 설치할 수 있습니다.
만드는 것도 쉽습니다.자신의 패키지자유롭게 배포할 수 없는 애플리케이션의 경우. 귀하는 자신이 소유한 모든 것을 자신의 네트워크에 배포할 권리가 있을 것입니다. 따라서 해당 애플리케이션에 대해 다음을 수행할 수 있습니다.로컬 저장소 설정. 많은 컴퓨터를 관리하고 있거나 인터넷 대역폭이 제한된 경우 무료 서비스에도 도움이 될 수 있습니다.