모든 응용 프로그램이 '휴대용'이 아닌 이유는 무엇입니까?


45

최근에 Windows 컴퓨터에 물건을 훨씬 적게 '설치'하려고했습니다 (설치 프로그램이 싫어요-프로그램이 어디에 있는지 알아야합니다 ...) 대신 휴대용 또는 독립형 버전의 응용 프로그램을 사용하도록 선택하십시오.

Windows 파티션과 별도의 드라이브에있는 '프로그램'디렉토리에 모두 넣었으므로 다시 설치할 때마다 최소한의 노력으로 모든 응용 프로그램을 사용할 수 있으며 플러스 측면에서 깔끔한 설정을 얻을 수 있습니다.

Office 및 Creative Suite와 같은 응용 프로그램에서는 여전히 시스템 전체에 수천 개의 임의 라이브러리와 도구가 생성되는 끔찍한 설치 프로세스를 거쳐야합니다.

왜 Windows 앱을 설치해야합니까? OSX를 la la lax 폴더로 드래그하여 작동시킬 수없는 이유는 무엇입니까? 다른 사람이 휴대용 앱에 집중하고 있습니까? 아니면 모든 것에 대해 OCD입니까?


3
질문에 대한 답변은 호기심 많은 "왜"를 설명합니다. 그러나 "그러나 왜"라는 느낌표가 여전히 남아 있습니다 ( "그러나 왜 우리 모두가 잘 지낼 수 없는가").
dbkk101

2
나는 설치 프로그램도 싫어한다. 당신에게 아무런 문제가 없습니다
Nick

2
이것은 잘못된 질문처럼 보입니다. 휴대용 앱을 사용하려는 경우 올바른 질문은 "어떤 프로그램이 이식 가능한가?"입니다. 예를 들어, 실제로 필요한 것은 .doc 데이터 파일을 읽고 쓸 수있는 프로그램 인 경우 MS Word가 필요하다고 생각할 수 있습니다. Open Office는 그렇게 할 것입니다 ... 그리고 MS Word와는 달리 휴대용 형식으로 제공됩니다 ... 플래시 드라이브에 사본 (및 Abiword)이 있습니다. 내 시간은 내 랩톱에 꽂혀 있습니다. 휴대용 앱이 꽤 있습니다. portablelinuxapps.org는 , 리눅스 (184)를 제공하면서 portableapps.com/apps의 제공 232 +

Bill의 나머지 의견 : ... Windows 용 메뉴 응용 프로그램 (아마도 둘 다 유용한 유틸리티가 포함되어 있음). 당신이 원하는 것을 선택하고 당신이 할 수없는 휴대용 프로그램을 제압하십시오 ... 대부분의 내 앱은 USB 키에 있습니다. 이것은 최소한 HD에서 파일의 스파게티 수프를 단순화합니다.
studiohack

또한 최고의 도구는 이식 가능한 것 같습니다. 편견이있을 수 있습니다.
Vlastimil Ovčáčík

답변:


35

인스톨러는 수년간의 진화의 결과물이며 약간의 단순화 된 역사는 그들이하는 일을 이해하는 데 도움이됩니다.

Windows 3.1 모델에서는 응용 프로그램 당 config.ini 스타일 구성 파일을 제안하여 시스템 폴더로 들어가는 공유 라이브러리를 지원하여 중복 및 디스크 공간 낭비를 방지했습니다.

Windows 95는 많은 구성 파일을 대체하는 응용 프로그램 구성을위한 중앙 저장소를 허용하는 레지스트리를 도입했습니다. 더 중요한 것은 Windows 구성이 동일한 위치에 저장되었다는 것입니다.

레지스트리 자체가 정리되지 않아서 레지스트리가 부풀어졌습니다. DLL 지옥은 여러 버전의 동일한 공유 라이브러리가 서로 겹쳐 써서 발생했습니다.

.NET은 app.config의 개념을 도입했습니다 (이번에는 거의 ini 파일 마크 2, 개발자는 수동 파서를 작성하는 데 시간을 낭비하는 구조가 조금 더 줄었습니다). DLL 지옥을 막기 위해 버전 공유 어셈블리에 GAC가 도입되었습니다.

Windows XP 이상에서 Microsoft는 사용자 공간을 사용자 표준을 단일 표준 위치에 저장하는 장소로 정의하여 프로그램 파일에 설치된 응용 프로그램을 사용하여 로밍 프로필과 손쉬운 마이그레이션 (프로필 복사 만 가능)을 허용했습니다. .

따라서 그 이유는 "윈도우의 응용 프로그램은 한 곳에서 살도록 설계되어 있고, 다른 곳에서는 공유 종속성이 있고 다른 곳에서는 사용자 특정 데이터"로되어 있기 때문입니다.

.. 그리고 사용자 계정을 구성하고 보안 권한을 설정 및 보장하고 업데이트를 다운로드하고 Windows 서비스를 설치해야합니다.

xcopy는 "간단한 사례"이며 모든 것에 가장 적합한 것은 아닙니다.


1
좋은 간단한 설명!
alex

7
설치 프로그램 (특히 Office)의 또 다른 큰 이유는 관리자가 아닌 사용자가 동일한 시스템의 다른 사용자에게 영향을 줄 수 없기 때문입니다. 무게가 약 500MB 인 Office 2007의 경우 사용자가 사용하려면 로컬 복사본이 있어야합니다. 같은 시스템에있는 3 명의 사용자에게는 1.5GB입니다. Chrome은 로컬 사용자 디렉토리에 설치되므로 모두 Chrome이있는 10 명의 사용자가있는 경우 업데이트하고 유지 관리해야하는 10 가지 버전이 있습니다. 분명히 사용자 별 설치 대 중앙 배포에 대한 장단점이 있습니다.
Joshua

1
Photoshop (최소 CS4 이전)과 같은 일부 응용 프로그램은 간단히 복사 할 수 있으며 시작할 때 필요한 사용자 구성 저장소와 파일을 만듭니다. 또한 대부분의 .NET 응용 프로그램은 의도적으로 이식 가능하지만 최종 사용자는 다음 차세대 설치 프로그램을 기대합니다. 파일 시스템이 무엇인지 모르는 사람도 많습니다.
Oskar Duveborn

응용 프로그램이 설정 / 라이브러리 / 사양을 서로 다른 위치로 나누기 위한 것이지만 널리 퍼져있는 관습은 아닙니다. 나는 종종 프로그램 디렉토리의 파일에 저장된 다른 응용 프로그램에 대한 설정을 발견하고 공유 할 수있는 라이브러리는 프로그램 디렉토리에 정적으로 링크됩니다. 프로그래머를 위해 어떤 식 으로든 다른 방법으로 일하면 실질적인 이점이 없기 때문에 규칙을 준수하는 동기가 약하고 서부 응용 프로그램 개발이 발생합니다 :-). 또한 전통은 강력하다고 생각합니다.
Daniel Andersson

GAC는 DLL 지옥의 재림 일뿐입니다. 좋은 개념이지만 실제로는 다른 실행 파일이 동일한 파일의 다른 버전과 바인딩되므로 해당 파일의 일부 버전에 보안 결함이있을 수 있습니다. 안전한 환경이 필요한 경우 처리해야 할 문제입니다. 이제 동일한 보안 허점을 패치하기 위해 동일한 파일의 다른 버전을 패치해야합니다. 만세! 정책과 의무적 인 방향 전환이 도움이 될 수 있지만 붕대가 열린 상처에 도움이된다고 말하는 것과 같습니다.
Stein Åsmul

12

XCOPY 배포는 Microsoft에서 발표 된 몇 년 전에 미래의 방법입니다. 여전히 아무것도 :)

그 동안 PortableApps.com 플랫폼에 관심이있을 수 있습니다.


7

좋은 질문 은 얼마 전에 Stack Overflow에 대한 관련 질문 을 한 것입니다.

그 대답은 종종 "과거에 우리가 그랬던 방식이기 때문에"것처럼 보입니다. 미안하지만 저와 함께 씻지 않습니다.

몇몇 다른 사람들은 주된 이유는 레지스트리 때문이라고 말했다. 장치 드라이버 또는 다른 COM 구성 요소 등에 대해 이야기하고 있다면 워드 프로세서 또는 스프레드 시트와 같은 GUI 응용 프로그램에는 필요하지 않을 수 있습니다.

시작시 필요한 레지스트리 설정을 확인하고 사용자에게 프롬프트를 표시하거나 기본값을 사용하는 응용 프로그램을 작성할 수 있습니다. 또는 현재 많은 protable 앱과 마찬가지로 jst는 사용자가 휴대용 모드로 실행 중이므로 OS 통합이 현재 제한되어 있음을 사용자에게 알려줍니다.

설치 프로그램은 종종 응용 프로그램의 작동 방식에 대한 많은 "지식"을 가지고 있습니다. 그런 다음 응용 프로그램이 변경되면 종종 설치 프로그램도 업데이트해야합니다. 이것은 내 시간 프로그래밍에서 본 버그 / 문제의 고전적인 원인입니다.

모든 접근 방식에 맞는 단일 크기입니다.


6

간단하고 무딘 답변 : 누가 통제 할 수 있는지에 대한 질문 일뿐입니다. 오늘날 대부분의 소프트웨어는 기업 또는 기관 환경을 위해 거대 기업이 설계 한 것으로, 사용자는 컴퓨터에 무엇을해야하는지 알려주는 대신 사용자에게 무엇을해야하는지 알려줍니다.

귀하의 질문은 구 사회와 같은 폭군이 아니라 기업의 탐욕과 많은 사람들을 통제 할 수있는 소수의 필요성에 의해 점점 더 침식되는 개인의 권리와 자유에 대한 근본적인 질문을 제기하기 때문에 매우 중요합니다.

사실, IBM과 같은 거대 기업의 폭정을 막는 데 사용했던 사람들이 오늘날과 같은 시대의 IBM이되었다는 사실을 잊어 버린 것 같습니다. Microsoft, Apple의 비즈니스 관행을 자세히 살펴보십시오. 그리고 Adobe는 공개 라이센스를 통해 실제로 개인 컴퓨팅 혁명의 길을 이끌었던 IBM과 같은 IBM의 비즈니스 관행보다 제한적인 라이센스로 더 양성 적이라는 사실을 직설적으로 말해주었습니다.

나는 수년 동안 많은 독립형 휴대용 앱을 사용해 왔으며 예외없이 발자국과 리소스 측면에서 가장 효과적이고 빠르며 작은 것으로 입증되었으며 마지막으로 블로 트웨어보다 우수합니다. 대응하지만 대부분의 경우 무료입니다.

두 번째 개인용 컴퓨터 혁명의시기입니다. 유형의 물리적 매체에서 고유 한 물리적 위치에있는 하나의 개별 폴더에서 부풀림을 줄이고 설정이 저장된 위치를 명확하게하여 이식성을 향상시키는 것은 올바른 방향의 한 단계입니다.


5

레지스트리와 사용자 단위 스토리지의 조합. 레지스트리 응용 프로그램은 특히 중요한 부분이다 COM (레지스트리에서 발생하는 등록 요구하는) 기반이. 사용자 별 스토리지 (구성 등)도 중요한 구성 요소입니다. 이를 수행하는 유일한 좋은 방법은 특별히 설계된 디렉토리에 저장하는 것입니다 ( 분리 된 저장소 참조 ).


바로 그거죠. OS가 고정 된 위치없이로드 할 EXE 또는 DLL을 어떻게 찾을 수 있습니까? "Set oExcelApp = CreateObject ("EXCEL.APPLICATION ")"가 어떻게 든 작동해야합니다.
Zan Lynx

4

대부분 Windows 레지스트리 때문에 프로그램이 특정 디렉토리에 있더라도 설정은 종종 레지스트리에 저장됩니다.

프로그램이 설치 디렉토리 (예 : system32)가 아닌 컴퓨터의 다른 디렉토리에 파일을 저장하기 때문일 수도 있습니다.


3

Xcopy / 휴대용 설치 유형에 비해 설치 프로그램이 갖는 큰 장점 중 하나는 자체 복구입니다.

Windows Installer 시스템을 올바르게 사용하는 앱은 시스템의 Windows Installer 데이터베이스에 저장된 모든 정보와 설치 파일의 중요한 부분에 대한 캐시를 보유하게됩니다.

어떤 이유로 인해 앱이 어떤 이유로 중단되면 (파일 삭제 / 교체, 레지스트리 손상, 디스크 문제, 사용자 삭제 단축키 등) 설치 프로그램이 "광고 바로 가기"인 경우 설치 프로그램은 시작될 때마다 키 파일과 키를 실제로 확인합니다. 존재하지 않는 경우 대체하거나 프로그램 추가 / 제거로 이동하여 앱에서 복구를 클릭하십시오.


이 Adobe Reader 데스크탑 아이콘을 읽는 동안 내가 생각할 수있는 유일한 이유는 무엇입니까? 그 사람은 너무 정신없이 자기 회복입니다. ^^
Oskar Duveborn

2

나는 그것이 많은 양의 cruft windows app과 관련이 있다고 생각합니다. 예를 들어 레지스트리 키, 사용자 데이터 (/ Users // AppData)입니다. 아마도 OSX는 이것을 더 잘 / 다른 방식으로 처리 할 것입니다.

그런 다음 다시 아카이브에서 추출 할 수있는 앱을 만드는 것은 불가능하지 않습니다.이 경우 항상 기쁩니다.


2

.Net Framework는 이러한 유형의 기능을 가능하게하는 플랫폼이며, 일반 사용자가 사용하기 때문에 대부분 설치 프로그램이 사용됩니다. Mac 사용자가 파일을 응용 프로그램 폴더로 복사하는 데 사용하는 것과 같은 방식입니다.

대부분의 설치 관리자는 단순히 파일을 Program Files 폴더로 확장하고 바로 가기를 만듭니다. 사용자가 아는 경우가 많으며 종종 응용 프로그램이 이식 가능하더라도 프로세스를 동일하게 유지하는 것이 더 간단합니다.


2

일부 프로그램의 경우 설치 위치가 레지스트리에 있어야하고 다른 프로그램의 위치는 프로그램에 하드 코딩되어있을 수 있습니다 (perl.exe의 경우).

기본적으로 주된 이유는 프로그래머가 쉽게 빠져 나와서 프로그램, 레지스트리 키 또는 실제 하드 코딩 된 경로에 무언가를 하드 코딩 한 것입니다.


2

많은 Windows 응용 프로그램은 SQL Server, IIS, WMI, 보안 도메인, Active Directory 등의 시스템 환경이나 서비스를 사용해야합니다. 일반적인 사용자는 이러한 구성 방법을 모를 수도 있고 액세스 권한이 없을 수도 있습니다.

Microsoft Office와 같은 응용 프로그램은 단일 파일이 아닙니다. 여기에는 수십 개의 파일, 실행 파일, 유틸리티, 서비스, 템플릿, 플러그인, 드라이버 등이 포함되어 있습니다. 응용 프로그램을 설치할 때 새로운 응용 프로그램이 사용하는 모든 것을 덮어 쓸 수는 없으며 이미 존재하는 것과 일치해야합니다. Windows 설치 관리자는 파일 복사 이상의 기능을 수행하며 시스템 환경을 쿼리하고 스크립트를 실행하며 서비스를 설치하고 마치 관리자 인 것처럼 컴퓨터를 설정할 수 있습니다.

dbkk101은 왜 Windows 앱이 "모두 잘 어울리지 않는지"묻습니다. 설치 관리자가 할 수있는 일입니다.


2

일부 프로그램에서 제공되는 설치는 어리석지 만 "파일을 프로그램 디렉토리로 끌어들이는 것"이상의 것이 있습니다.

최소한 설치 파일의 압축을 풀고 적절한 바로 가기를 설정하고 더 이상 원하지 않는 경우 프로그램을 쉽게 제거 할 수있는 괜찮은 설치 프로그램. 나는 압축을 풀고 복사가 아마도 가장 오래 걸리는 것 같습니다.

공유 파일이 있습니다. 이것은 Linux 세계에서는 특히 그렇지만 Windows IMO에서는 그다지 중요하지 않습니다.

가장 중요한 것은 일부 프로그램은 기계에 대해 구성해야하며 일부는 기계를 기반으로 최적화하려고 시도하거나 최소한 Adobe 대화 상자에서 내가 믿는 것으로 생각하는 것입니다.

또한 별도의 파티션에 설치할 이유를 본 적이 없습니다. 모든 레지스트리 값과 구성 설정이 손실되는 경향이 있습니다. 또한 실제로 손실로 인해 Windows 팽창이 줄어드는 것을 선호합니다.

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