인스톨러는 소프트웨어 인프라의 복잡한 조각을 배포하는 과정 추상화 일반적으로, 편리한, 자급 자족 사용자 인터페이스를 통해 아카이브에 포함을 .
이 UI는 그래픽이거나 유닉스 셸 (예 : bash)과 같은 명령 줄에 출력되는 텍스트를 기반으로 할 수 있습니다. 그래픽 설치 프로그램의 경우, 대부분 소위 설치 부트 스트 래퍼가 사용됩니다. 후자의 경우 bash 스크립트, Microsoft 배치 스크립트 또는 명령 줄에서 실행되는 기타 스크립팅 언어 일 수있는 설치 스크립트입니다.
에서 간단한 경우 응용 프로그램은 단순히 실행 파일 을 실행하기 위해 파일로 무엇을 알고있는 운영 체제와 함께. 응용 프로그램 파일은 하위 폴더와 다른 보조 파일이있는 폴더 에 하나의 아카이브로 압축되어있을 수 있습니다 . 이 경우 설치 프로그램이 필요하지 않을 수 있습니다.
복잡한 소프트웨어의 경우 , 소프트웨어 제품의 저작권을 강화하기 위해 전체 소프트웨어 플랫폼과 기본 운영 체제 인프라와의 긴밀한 통합 이 바람직 할 수 있습니다.
Windows의 많은 설치 프로그램은 /e
또는 /extract
플래그를 제공합니다 . 예 setup.exe /e
를 들어 설치 스크립트가 설치 스크립트를 실행하지 않고 아카이브 내용을 추출 할 수 있습니다. 나는 최근에 그 일을해야 했다 .
휴대 성을 향하여
설치자는 기본 소프트웨어 자산이 아무리 단순하더라도 전문 소프트웨어를 제공하기위한 표준이되었습니다. 컴퓨터에 정통한 사용자의 수가 증가하고 하나의 데스크톱에서 다음 데스크톱으로 애플리케이션을 마이그레이션하려는 욕구에 따라 종종 간단한 아카이브로 제공되는 휴대용 소프트웨어 가 점점 더 대중화되고 있습니다.
( 설치 프로그램에 소요 된 총 시간이 얼마인지는 모르지만 확실히 며칠 정도입니다. )
설치 관리자가 처리 할 수있는 작업은 다음과 같습니다.
- 포장 풀기 (종종 이국적인 압축 압축기 사용)
- 시스템 하드웨어 요구 사항 보장
- 충분한 하드 디스크 공간 확보
- 소프트웨어 플랫폼 런타임 요구 사항 보장 (예 : '재배포 가능 패키지')
- 최신 소프트웨어 업데이트 확인
- 원격 저장소에서 소프트웨어 다운로드
- 프로그램 파일 및 폴더 생성 및 / 또는 업데이트
- 구성 파일, 레지스트리 항목 또는 환경 변수 작성
- 소프트웨어 드라이버 설치, 장치 마운트 또는 마운트 해제
- 설치 단계 설명, 링크 생성, 바로 가기를 통해 일상적인 사용자의 접근성을 향상
- 북마크 등을 통해 자체 소프트웨어 홍보
- 설치하는 동안 소프트웨어의 핵심 사항을 제시하여 사용자가 실제로 소프트웨어를 시작할 수있는 인센티브를 제공합니다.
- 소프트웨어 번들링을 통해 추가 수익 창출
- 커널 모듈 및 자동 실행 구성 요소 (예 : 데몬, Windows 서비스) 구성
- 소프트웨어 자동 패치
- 폴더, 파일 및 사용자 권한 설정
- 소프트웨어를 특정 설치 인스턴스에 연결하고 이식성을 방지하는 GUID 작성
... 다른 요점을 생각할 수 있으면 알려주십시오.