추가 설치를 유발하는 MSI 패키지 제거 실패로 인해 MSI 로그에 2908 오류가 반환됩니다 (msiexec는 1603을 반환합니다). 서로 다른 포럼이 있었기 때문에 저는 지금 우리 솔루션을 제시하고 싶었고 몇 년 동안 프로그래밍 솔루션을 본 적이 없었기 때문에이 솔루션을 제공하기를 원했습니다.해결 방법 MSI 제거 실패 오류 2908 및 "UNKNOWN Components"레지스트리 키가 포함 된
일반적인 원인은 MSI 제거 프로그램은 마이크로 소프트 \ WINDOWS \ CurrentVersion을 \ 설치 \ UserData를 \ S-1-5-18 \ 구성 요소 \ SOFTWARE 아래 LOCALMACHINE 하이브에서 레지스트리에 "키를 고아"만듭니다이다
MSI (들) (2C : 0 ℃) [14 : 52 : 21 : 490] 참고 : 1 : 1,401 2 UNKNOWN \ 요소 \ B44598ECC622C01BD780AEC8E234E3E1 3 : 5 DEBUG 전형적인 MSIEXEC 로그 오차는 다음과 같다 : 오류 2908 : {CE89544B-226C-B10C-7D08-EA8C2E433E1E} 구성 요소를 등록 할 수 없습니다. MSI (2C : 0C) [14 : 52 : 21 : 523] : 제품 : 일부 소프트웨어 3.7 - 설치 프로그램에서이 패키지를 설치하는 중에 예기치 않은 오류가 발생했습니다. 이 패키지에 문제가 있음을 나타낼 수 있습니다. 오류 코드는 2908. 인수는 다음과 같습니다 {CE89544B-226C-B10C-7D08-EA8C2E433E1E},
다른 게시물 당신은 MSI 로그 파일에서 키를 찾아 Regedit를 함께 편집 할 수 있습니다 지적했듯이, '속성'및 '고급'을 선택하고 소유자를 '현재 소유자를 표시 할 수 없음'(또는 유사한 텍스트)에서 '관리자'로 변경하고이 링크의 지시에 따라 액세스 권한을 설정하십시오.
https://kb.acronis.com/content/33458
그러나 이것은 번거로워서 수백 가지 항목이 손상 될 수 있습니다. 더욱이 위의 수동 절차에는 Windows 10에 문제가있는 것으로 보이며 더 이상 사용할 수있는 "Windows Fixit"도구가 없습니다.
어떻게 자동으로이 문제를 해결할 수 있습니까? 이러한 "깨진"레지스트리 키는 권한이 상승 된 관리자가 다양한 오류를 발생시키는 경우에도 변경하기가 어렵 기 때문에 성공할 수 있도록 SYSTEM 계정의 서비스로 실행합니다.
나는 이렇게 SYSTEM으로 (SID는 S-1-5-18)가, 우리는 잘못된 항목의 상위 키를 열 실행 Visual Studio에서 Windows 서비스 프로젝트를 만든 :
RegistryKey hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey regParent = hklm.OpenSubKey(
"SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components",
RegistryKeyPermissionCheck.ReadWriteSubTree,
RegistryRights.FullControl);
질문은 어디에 있습니까? – raidensan
나는 내 자신의 질문에 며칠 전에 대답했지만 결코 여기에 글을 남기지 않았다. 그래서 많은 사람들이이 질문에 대해 질문을했기 때문에 내가 여기 나온 대답에 유익한 텍스트를 쓰려고 생각했다. – Nihopteh