Ошибка установки распространяемого VC ++ 2008: доступ запрещен

2405
MKaama

При установке OpenOffice 4.1.2 возникает ошибка 1935. (Распространение Visual C ++ 2008 не удалось установить). Однако установка завершается и OpenOffice работает нормально.

Тем не менее, я решил исследовать запуск vcredist_x86.exe вручную. Журнал установки сообщает об этих строках:

MSI (s) (80: E0) [18: 34: 33: 070]: Выполнение op: SetTargetFolder (папка = c: \ Windows \ winsxs \ x86_microsoft.vc90.atl_1fc8b3b9a1e18e3b_9.0.30729.4148_none_51ca666) 8076 (80) s (s) E0) [18: 34: 33: 070]: выполнение op: SetSourceFolder (папка = 1 \ Windows \ winsxs \ ulATLx86) MSI (80: E0) [18: 34: 33: 070]: выполнение op: AssemblyCopy (исходное_имя = ax86.dll | atl90.dll, SourceCabKey = ul_atl90.dll.30729.4148.Microsoft_VC90_ATL_x86.QFE, DestName = atl90.dll, Attributes = 0, FileSize = 159032, PerTick = 65536,, VerifyMedia = 1, ElevateFlags = 4, ,,, ComponentId = ,,,, AssemblyMode = 0,) MSI (80: E0) [18: 34: 33: 071]: Ошибка сборки: доступ запрещен ,

MSI (80: E0) [18: 34: 33: 071]: примечание: 1: 1935 2: 3: 0x80070005 4: IAssemblyCache 5: CreateAssemblyCacheItem 6: Microsoft. VC90.ATL, version = "9.0.30729.4148", publicKeyToken = "1fc8b3b9a1e18e3b", processorArchitecture = "x86", type = "win32" MSI (s) (80: E0) [18: 34: 33: 071]: ошибка сборки (sxs): Пожалуйста, посмотрите Журнал обслуживания на основе компонентов, расположенный в% windir% \ logs \ cbs \ cbs.log, чтобы получить больше диагностической информации. MSI (80: E0) [18: 39: 03: 761]: Продукт: Microsoft Visual C ++ 2008 распространяемый - x86 9.0.30729.4148 - Ошибка 1935. Произошла ошибка при установке сборки 'Microsoft.VC90.ATL, версия = "9.0.30729.4148", PublicKeyToken = "1fc8b3b9a1e18e3b", processorArchitecture = "x86", тип = "win32". Пожалуйста, обратитесь к Справке и поддержке для получения дополнительной информации. HRESULT: 0x80070005. интерфейс сборки: IAssemblyCache, функция: CreateAssemblyCacheItem, компонент:

Ошибка 1935. Произошла ошибка при установке сборки 'Microsoft.VC90.ATL, версия = "9.0.30729.4148", publicKeyToken = "1fc8b3b9a1e18e3b", processorArchitecture = "x86", type = "win32"'. Пожалуйста, обратитесь к Справке и поддержке для получения дополнительной информации. HRESULT: 0x80070005. интерфейс сборки: IAssemblyCache, функция: CreateAssemblyCacheItem, компонент: MSI (80: E0) [18: 39: 03: 776]: примечание: 1: 2265 2: 3: -2147287035 MSI (80: E0) [18: 39: 03: 777]: значение политики пользователя 'DisableRollback' равно 0 MSI (80: E0) [18: 39: 03: 777]: политика компьютера Значение DisableRollback равно 0 Действие завершено 18:39:03: InstallFinalize. Возвращаемое значение 3.

C: \ Windows \ Logs \ CBS \ CBS.log не содержит никакой полезной информации. Я не хочу делать большую переустановку или очистку системы, как советуют многие статьи, я хочу найти конкретную проблему.

0

1 ответ на вопрос

1
MKaama

После много прибегая к помощи, я нашел упоминание о C: \ Windows \ WinSxS \ InstallTemp здесь . Я не смог найти упоминания InstallTemp в журналах установки, но он оказался виновником: ни вошедший в систему пользователь, ни администратор не имели права доступа к папке (почему?). На другом (обычном) компьютере я проверил, что пользователь может создавать в нем подпапки.

Итак, я добавил права « Изменить» для администраторов в свойствах папки на вкладке «Безопасность». После этого распространяемая установка сработала.

Проблема упоминается здесь: http://blogs.msdn.com/b/vsnetsetup/archive/2012/10/07/installation-of-vc-2005-2008-redistributables-fail-with-0x80070005-assembly-error- access-is-denied-issue.aspx Нормально MSIExec запускает инсталляторы под учетной записью SYSTEM, у которой есть только права на чтение / список в папке WinSxS, но полные права на WinSxS \ InstallerTemp. Похоже, вы перезаписали дескриптор безопасности на WinSxS \ InstallerTemp с дескриптором на WinSxS. Sheng Jiang 蒋晟 8 лет назад 1

Похожие вопросы