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.