Ошибка MsiInstaller 1935 HRESULT: 0x8007054F при установке SAP Crystal Reports x64
Устанавливая x64 версию Crystal Reports, мы получаем следующую ошибку на случайных компьютерах:
Продукт: Среда выполнения SAP Crystal Reports для.NET Framework (64-разрядная версия) - ошибка 1935. Ошибка при установке компонента сборки {837BF1EB-D770-94EB-A01F-C8B3B9A1E18E}. HRESULT: 0x8007054F. интерфейс сборки: IAssemblyCacheItem, функция: Commit, имя сборки: Microsoft.VC80.ATL, версия ="8.0.50727.4053",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64", тип ="win32"
Он правильно устанавливает версию x86.
Глядя на интернет, мы нашли и попробовали следующее:
- Увеличить размер реестра RegistrySizeLimit. Это работало на некоторых машинах, но не на других.
- Чтобы выполнить сброс журнала транзакций: fsutil resource setautoreset true C:. Нет разницы.
Найдены интересные симптомы:
- Все неисправные машины имеют проблемы с Центром обновления Windows. Журнал обновлений показывает КБ (не всегда один и тот же), дающий бесконечно повторяющуюся ошибку.
- Выполнение SFC /scannow всегда говорит о том, что есть ожидающие изменения, и требуется перезагрузка (если вы перезагрузитесь, все равно будет то же самое).
- Глядя на характеристики окон, окно кажется почти пустым без большинства элементов, которые должны присутствовать.
Любые идеи о том, как установить Crystal Reports и как это может быть связано с Центром обновления Windows?
1 ответ
Сегодня я боролся с этой проблемой как с x64, так и с x86 версиями среды выполнения Crystal Reports, и я нашел (болезненный) способ их установки в конце концов.
Причина в том, что установщик для Crystal Reports Runtime v13.x объявляет зависимость от Visual C++ Runtime 2005, но этот установщик, в свою очередь, сильно поврежден. Он не распознает себя или более поздние сборки 2005 года как уже установленные, поэтому установка всегда будет выполняться, даже если в этом нет необходимости.
Обычно это не составляет большой проблемы, но оказывается, что установщик также каким-то образом несовместим с установщиками .NET Framework. Поэтому, если вы работаете в Windows 7 и уже установили, например, .NET Framework 4.6.1, все установки Crystal Reports Runtime завершатся неудачно с очень непонятными сообщениями, связанными с WinSxS и так далее.
Они просто не будут играть в игру, и в командной строке Crystal Reports Runtime нет переключателя для пропуска проверок VC++ Runtime.
Чтобы добавить веселья на вечеринку, просто удалить .NET Framework 4.6.1 не сработает, потому что файлы остаются без дела, если только программы, которые их используют, также не удаляются первыми!
Итак, что я сделал:
Удалите все, что, как я подозревал, нужно .NET Framework 4.6.1 (Visual Studio 2010 и ВСЕ его зависимости, включая инструменты данных SQL и т. Д.)
Удалите .NET Framework (это откат системы до версии по умолчанию. 2.0 в случае с Windows 7, я считаю)
Удалите все среды выполнения Visual C++.
Удалите все среды выполнения Crystal Reports, если они есть.
перезагружать
Установите среды выполнения Crystal Reports (x86, x64).
Переустановите .NET Framework 4.6.1
Переустановите среды выполнения Visual C++.
К счастью, VS2010 мне больше не нужен, у меня также был установлен 2015 год.
Теперь все работает!