MSI 패키지 설치 및 제거 속도를 어떻게 높일 수 있습니까?


14

Windows Installer 패키지 또는 MSI 파일을 설치 및 제거 할 때 설치 진행률이 다른 설치 패키지보다 상당히 느리게 나타납니다 .

왜 이런 경우이며, 속도를 높이려면 어떻게해야 합니까?


1
아시다시피, 저는 배포 세계에서 시스템 관리 세계에 대한 실용적이고 기술적 인 조언을 제공하려고 노력한 것에 대해 즉시 투표를 받았습니다. 이 글의 조언은 글을 쓰는 시점에서 논리적으로나 기술적으로 건전합니다. 건설적인 비판을 환영합니다.
— Stein Åsmul

본질적으로 MSI 기술의 일부 측면에 대한 기사를 작성했습니다. 멋지다. 나는 시스템 관리자로서 "내 소프트웨어 설치가 너무 느리다"는 문제를 해결해야 할 필요가 없었습니다.
— mfinni

이것은이 사이트와 다른 스택 교환 사이트에서 여러 번 본 질문에 대한 업데이트 된 답변입니다.
— Stein Åsmul 1

3
@mfinni-주제가 아닌 것은 아닙니다. 이 사이트에서 경험하지 못한 많은 문제가 있습니다.
— Mark Henderson

그는 왜 자신의 의견을 표명하지 않은지 물었다. 나는 투표하지 않았지만 그 이유에 대한 답을 제시했다.
— mfinni

답변:


15

빠른 요약

  • 속도 조절이 필요한 속성 :
    • MSIFASTINSTALL (어쩌면3또는7)
    • FASTOEM (두 번 생각하고 문서를 읽어야 함)
    • DISABLEROLLBACK (의미 이해, MSI 패키지의 사용자 지정 동작이 실행되지 않을 수 있습니다! MSI 디자인에 따라 다릅니다. 커밋 및 롤백 사용자 지정 동작 찾기)
  • 보안 소프트웨어 를 일시 중지하여 설치 속도를 높일 수 있습니다.
  • 관리 이미지 에서 실행 해보십시오 ( 대체 정보 ) (파일 추출 필요 없음).
    • 로컬 관리 이미지에서 실행하는 것이 가장 빠릅니다.
    • 네트워크 관리 이미지를 사용하면 대기 시간이 긴 네트워크가 설치 속도를 늦출 수 있습니까?
      • 파일 당 잠재적으로 높은 오버 헤드 (작은 파일).
      • 단일 CAB 다운로드 속도가 더 빠를 수 있습니다 (바이러스 검사 시간이 오래 걸릴 수 있음)?
  • MSIFASTINSTALL을 통해서가 아니라 시스템에서 시스템 복원 을 전체적으로 비활성화 할 수 있습니다.

배경 정보

Windows Installer 세션의 속도 저하는 롤백 기능 때문 입니다. 먼저 설치 또는 제거 전에 복원 지점을 만듭니다 (제공된 시스템 복원이 비활성화되지 않은 경우). 그런 다음 설치 제거 및 설치 중에 영향을받는 모든 파일과 레지스트리 키 를 백업 하여 오류가 발생할 경우 시스템을 원래 상태로 복원 할 수 있도록합니다. 최신 버전의 Windows Installer에는 이러한 복잡성을 일부 비활성화하고 작업 속도를 높이는 방법이 있습니다. 아래 기술 정보를 참조하십시오.

또 다른 속도 요소는 MSI의 모든 구성 요소와 기능이 레지스트리에 등록된다는 것 입니다. 여기에는 상당한 오버 헤드 가 포함되지만 중요한 회사 배포 및 시스템 관리 이점 을 얻으려면 필요합니다 . 다른 배포 기술에는이 수준의 제어 기능이 없습니다.

소스 파일 이 포함 된 대용량 MSI 파일 은 설치 프로그램 파일을 temp 폴더로 추출하는 데 많은 시간이 필요할 수 있습니다. 이것은 때때로 가장 큰 병목 현상이 될 수 있습니다. MSI 패키지 자체와 나란히 표시되도록 패키지에서 소스 파일을 추출 하려면 관리자 설치 를 실행하는 것이 좋습니다 . 따라서 각 시스템에서 로컬로 파일을 추출 할 필요가 없으므로 배포 시간이 절약됩니다. 다음은 MSI 패키지에서 파일 추출을 간단한 용어로 설명하는 다른 기사 입니다.


기술적 인 정보


업데이트 (2018 년 2 월) : 배포 속도를 높이기 위해 매우 특별한 상황 (링크 된 콘텐츠 참조)에서 FASTOEM 이라는 속성을 설정할 수 있습니다 . 나는 이것을 시도한 적이 없지만 잘 읽습니다. 나는 당신이 그것을 효과적으로 사용하는 것이 의심 스럽지만 시도해 볼 가치가 있습니다.


작성 당시 Windows Installer 5 (Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7에서 사용 가능)에 대한 최신 업데이트 는 설치 속도 를 높이는 데 사용할 수 있는 새로운 속성 MSIFASTINSTALL 을 제공 합니다. 큰 MSI 패키지 . 유효한 값은 위의 링크를 참조하십시오. 복원 지점이없고 FileCosting (디스크 공간 요구 사항을 결정하는 프로세스) 만 3 을 제안 합니다. 또는 진행 메시지 빈도를 줄이려면 7 입니다.

일반적인 " costing "은 시스템에 존재하는 것과 설치되는 것 사이의 많은 기능, 구성 요소, 디스크 및 레지스트리 비교 및 ​​계산을 특징으로합니다. 이것의 대부분은 내 의견으로는 거의 필요하지 않습니다 (디스크 공간은 일반적으로 클라이언트 PC에 풍부합니다-2018 년 현실에서는 더 작은 SD 디스크로 공간 문제가 재 포장되었을 수 있습니다 ...). 원가 계산 실행.

msiexec.exe / I "D : \ winzip112.msi"/ QN MSIFASTINSTALL = 3

MSI 설치 프로그램에서 롤백 지원을 비활성화 하도록 DISABLEROLLBACK 속성 을 설정할 수도 있습니다 . 새로운 PC를 준비하지 않는 한 이것을 사용하지 않는 것이 좋습니다. 무언가가 실패하면 다시 시작할 수있는 특별한 경우입니다. 실제로 사용하는 컴퓨터의 경우이 속성을 사용하지 않는 것이 좋습니다.

아이러니 한 점은 롤백을 비활성화하면 많은 파일을 대체하는 대규모 업데이트 패키지를 실행하거나 대규모 제거를 수행하는 경우 속도가 가장 빨라진다는 것입니다 (제거하면 제거 된 모든 파일이 롤백 영역으로 이동하므로). 상당히 중요하지만 안전하지 않을 수 있습니다. 명령 행에서이 특성을 설정하십시오. msiexec.exe / I "D : \ winzip112.msi"/ QN MSIFASTINSTALL = 3 DISABLEROLLBACK = 1

관리 설치

마지막으로, 배경 정보에서 위에서 언급했듯이 MSI 파일 의 관리 설치 를 실행하여 파일을 추출하여 각 시스템에서 추출이 로컬로 발생하지 않도록하십시오. 이것은 사용자가 다소 빠른 네트워크에 있고 파일 복사가 너무 지연없이 발생한다고 가정합니다. 대기 시간이 긴 무선 네트워크는 작은 파일을 추출하여 하나씩 복사해야 할 때 속도가 느려질 수 있다고 생각합니다. 설치 파일에 / a를 전달하여 관리자 설치를 실행합니다.

setup.exe / a

또는

msiexec / a "D : \ winzip112.msi"

그런 다음 프롬프트를 따라 파일의 추출 위치를 선택해야합니다. 이 기능을 설명하는 스레드는 superuser.com 을 참조하십시오 .


일부 링크 :

속도:


그렇지 MSIFASTINSTALL않습니까? 없이 ER꼬리에.
— n611x007

Wix 프로젝트에 MSIFASTINSTALL = 3 속성을 추가했습니다. 여전히 설치 시간에는 차이가 없습니다. <Property Id = "MSIFASTINSTALL"Value = "3"/> 내가 잘못한 것이 있습니까?
— Kathir Subramaniam

1
MSI의 "지상에서 벗어난"시간을 주로 개선합니다. 시스템 복원 지점 작성 속도가 느려질 수 있습니다. 또한 공간 요구 사항을 계산하는 데 도움이되지만 실제 설치 자체는 그리 빠르지 않습니다. 보내드릴 다른 답변을 찾는 동안 잠시 기다려주세요.
— Stein Åsmul


보시다시피,은 총알은 없지만 약간 조정할 수 있습니다. 설정이 얼마나 큽니까?
— Stein Åsmul
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.