- Fix problems that block programs from being installed or removed
- What it fixes
- Восстановление отсутствующих файлов кэша установщика Windows и устранение проблем, которые возникают во время SQL Server обновления
- Симптомы
- Причина
- Решение
- Процедура 1.a.: Используйте средство FixMissingMSI
- Процедура 1.b.: Использование FindSQLInstalls.vbs скрипта
- Примеры
- Пример 1. Отсутствующие файлы установщика
- Пример 2. Отсутствие исправлений
- Процедура 2. Вручную восстанавливать файлы
- Поиск пакета исправлений и сведений о продукте для отсутствующих файлов MSP
- Процедура 3. Восстановление из резервных копий системного состояния
- Дополнительные сведения
Fix problems that block programs from being installed or removed
Note: Use these steps for Windows programs. If you’re having problems with an app you got from Microsoft Store, go to Fix problems with apps from Microsoft Store.
The Program Install and Uninstall troubleshooter helps you automatically repair issues when you’re blocked from installing or removing programs. It also fixes corrupted registry keys.
First, you’ll need to download the troubleshooter.
If you see the File Download box when you start downloading, select Run or Open.
The troubleshooter provides steps for you to follow. If a program isn’t listed in the uninstall options, you’ll be asked for that program’s product code. To access the code, you’ll need a tool for reading MSI files—which is typically available to IT professionals. You’ll find the product code in the property table of the MSI file.
What it fixes
The troubleshooter helps fix problems that:
Corrupt registry keys on 64-bit operating systems.
Corrupt registry keys that control the update data.
Prevent new programs from being installed.
Prevent existing programs from being completely uninstalled or updated.
Block you from uninstalling a program through Add or Remove Programs (or Programs and Features) in Control Panel.
If you’re trying to remove malware, you can use Windows Security (or another antivirus tool), or you can use the Windows Malicious Software Removal tool.
Восстановление отсутствующих файлов кэша установщика Windows и устранение проблем, которые возникают во время SQL Server обновления
В этой статье описываются различные процедуры, которые можно использовать для устранения различных ошибок, которые возникают при установке пакета SQL Server или накопительного обновления из-за повреждения кэша установки windows.
Оригинальная версия продукта: SQL Server
Исходный номер КБ: 969052
Описанный в этой статье процесс обеспечивает только экстренную помощь, а не постоянное исправление. Клиенты, использующие этот аварийный процесс, должны проверить кэш установки Windows с помощью пакета проверки безопасности кэша установщика Windows, как указано в статье KB Missing Windows Installer cache requires a computer rebuild.
Симптомы
При попытке установки пакета Microsoft SQL Server или накопительного обновления могут возникнуть различные сообщения об ошибках, которые могут указывать на проблемы кэша установки Windows. Кэш установки Windows, расположенный в папке c:\windows\installer, хранит важные файлы для приложений, установленных с помощью технологии установки Windows, и не следует удалять. Если кэш установщика был скомпрометирован, проблемы могут возникнуть не сразу, пока вы не выполните действия, такие как удалить, отремонтировать или обновить SQL Server.
При установке SQL Server установщик Windows хранит важные файлы в кэше установки Windows (по умолчанию — C:\Windows\Installer). Эти файлы необходимы для отработки и обновления приложений. Отсутствующие файлы нельзя скопировать между компьютерами, так как они уникальны.
Корпорация Майкрософт рекомендует для SQL Server установок сначала использовать процесс ремонта, описанный в следующих статьях, чтобы проверить текущую установку:
Необходимо выполнить ремонт из исходного средства установки с помощью командной строки: setup.exe/ACTION=REPAIR/INDICATEPROGRESS=TRUE .
Сначала отремонтирует общие общие компоненты и функции, а затем повторите команду для восстановления установленных экземпляров. Во время процесса ремонта диалоговое окно установки исчезает. До тех пор, пока в окне прогресса не будет ошибки, процесс ремонта будет происходить, как и ожидалось. Если файл кэша установщика для определенного компонента отсутствует, то в процессе ремонта будет допущена ошибка.
Причина
Эти проблемы могут возникнуть, когда в кэше установщика Windows отсутствует файл базы данных (.msi) или файл патча установки Windows (.msp). Кэш установки Windows расположен в папке: %windir%\installer.
При установке продукта с помощью установщика Windows в кэше Установки Windows хранится раздельная версия исходного файла .msi. Каждое обновление такого продукта, как hotfix, накопительное обновление или установка пакета служб, также хранит соответствующий файл msp или MSI в кэше установки Windows.
Любое будущее обновление продукта, например hotfix, накопительное обновление или установка пакета обслуживания, зависит от сведений в файлах, хранимых в кэше установки Windows. Без этой информации новое обновление не может выполнять необходимые преобразования.
Решение
Чтобы устранить эти проблемы, используйте одну из следующих процедур.
Процедура 1.a.: Используйте средство FixMissingMSI
В этой процедуре вы будете использовать средство FixMissingMSI для идентификации MSI и MSP-файлов, отсутствующих в кэше установки Windows. В качестве дополнительного шага вы можете указать средство на исходные расположения мультимедиа и переназначить недостающие файлы.
Вы можете скачать средство FixMissingMSI из репозитория GitHub.
Процедура 1.b.: Использование FindSQLInstalls.vbs скрипта
Чтобы выполнить действия в этой процедуре, необходимо скопировать сценарий FindSQLInstalls.vbs в папке FixMissingMSI из репозитория GitHub в локализованную папку на компьютере, где вы пытаетесь обновить SQL Server установку.
Сценарий FindSQLInstalls.vbs собирает сведения для исправления путей недействительных пакетов. Этот скрипт используется в отношении исходных местоположений, чтобы убедиться, что все пакеты MSP находятся в каталоге кэша установки Windows. После выполнения команд, указанных в строках Action, необходимых в файле вывода скрипта, недостающие пакеты будут добавлены повторно, если исходное исходное мультимедиа доступно.
Чтобы устранить эти проблемы с помощью скрипта, выполните следующие действия:
Щелкните здесь, чтобы FindSQLInstalls.vbs необработанные страницы на GitHub.
Выберите все содержимое на этой странице, скопируйте и вклеите в текстовый файл. Сохраните текстовый файл какFindSQLInstalls.vbs.
Откройте повышенный командный запрос в каталог, в который сохраненFindSQLInstalls.vbsфайл, и запустите команду: Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt .
Откройте файл со 2-го шага в текстовом редакторе, например Блокнот, и определите проблемы, которые вызывают сбой. Для этого в текстовом файле необходимо найти строковые шаблоны, например следующие:
На основе результатов на шаге 3 примите необходимые действия.
Дополнительные сведения об этих действиях можно получить в разделе Примеры.
Повторите действия со 2 по 4 до тех пор, пока созданный на шаге 2 текстовый файл больше не содержит текст, который ссылается на недействительные пути или отсутствующие файлы для обновляемой компоненты.
Примеры
В следующих примерах описаны записи и объяснения действий, описанных в файле вывода, который создается при запуске FindSQLInstalls.vbs сценария.
Пример 1. Отсутствующие файлы установщика
Ниже приводится пример вывода, который создается при пропаже пакета .msi в папке кэша установки Windows.
Линия LastUsedSource указывает на расположение, которое использовалось для запуска программы установки.
В строке LastUsedSource запись m; запись означает носителю и указывает, что исходным источником является CD/DVD-носителю.
В следующем примере источником является CD или DVD-диск в диске G. Если установка произошла из папки файла или из сетевой доли, строка LastUsedSource начинается с строки n; запись, за которой следует Numeric_Data_Name; запись, а затем фактический путь:
В строке Действий показан полный путь, который должен существовать для обновления отсутствующих файлов для исходного средства установки:
Файл кэша установщика: C:\WINDOWS\Installer\19b4d2.msi
Линия файлов кэша установщика подтверждает имя файла кэша установщика:
В следующем разделе вывода сообщается о действиях, необходимых для устранения недостающих файлов:
Необходимое действие, воссоздание или повторное создание пути к каталогу: G:\x64\setup\sql_engine_core_inst_msi\затем повторное обновление кэша установщика и результаты Путь на линии выше должен существовать в корневом расположении, чтобы устранить эту проблему с файлом msi/msp, не найденным или поврежденным, В некоторых случаях может потребоваться вручную скопировать недостающий файл или вручную заменить существующее переописывание проблемного файла: скопируйте «G:\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi» C:\WINDOWS\Installer\19b4d2.msi Замените существующий файл при необходимости.
Пример 2. Отсутствие исправлений
Отсутствие исправлений может привести к записи, похожие на записи в примере 1. Большую часть времени вы будете замечать записи в строке Patch LastUsedSource, ссылаясь на исправление, и эта строка напоминает: Patch LastUsedSource: n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\ .
В этом выводе указывается следующее, что означает установку исправлений:
- Исходное исправление было установлено путем двойного щелчка исполняемого файла патча.
- Установщик для патча использовал папку temp, во время c:\0ca91e857a4f12dd390f0821a3 установки патча.
- Чтобы повторно создать путь, необходимо выполнить один и тот же исполняемый параметр и добавить параметр: /x:c:\0ca91e857a4f12dd390f0821a3 .
Эта команда заставляет исполняемого извлекать файлы в предыдущее недостающее расположение, и в этом случае создается структура, необходимая для обновления кэша установщика Windows с помощью отсутствующих файлов. Фактическое расположение будет отличаться, и одно исправление, например пакет службы, может потребоваться извлечь в несколько местоположений. Каждый установленный продукт содержит раздел, содержащий следующую информацию для установленных исправлений:
Отображение имени:
URL-адрес статьи КБ: http://support.microsoft.com/?kbid=
Patch LastUsedSource:
Url-строка статьи КБ может помочь вам скачать любые носитли исправлений, если это необходимо.
Процедура 2. Вручную восстанавливать файлы
Чтобы вручную восстановить файлы, отсутствующие в кэше установки Windows, выполните следующие действия:
Сбор полных сведений о пропавшем файле из сообщения об ошибке, из файла журнала установки или записей реестра, которые поддерживаются установщиком Windows. Например, в сообщении об ошибке 1 в разделе Симптомы вся информация, необходимая для решения проблемы, присутствует в сообщении об ошибке:
- PatchName: «Hotfix 1702 для SQL Server 2008 R2 (KB981355) (64-bit)»
- Исходный MSP-файл, используемый в патче: sql_engine_core_inst.msp
- Кэшировали MSP-файл: c:\Windows\Installer\1fdb1aec.msp
Если у вас нет всех сведений, см. раздел Процедура 2. Вручную восстановим раздел файлов для действий по сбору этих сведений.
Просмотр запросови поиск статьи KB, связанной с этим исправлением. В этом примере необходимо искать KB981355.
Скачайте этот пакет исправлений на компьютер. Убедитесь, что вы скачиваете пакет исправлений, соответствующий необходимой платформе. В этом примере пакет SQLServer2008R2-KB981355-x64.exe.
Извлечение содержимого пакета исправлений с помощью синтаксиса: C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64\ .
Найдите исходный файл MSP sql_engine_core_inst.msp. Файл должен быть в следующей папке: C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\ .
Скопируйте этот исходный MSP-файл в следующий кэш установщика Windows: %windir%\installer\ .
Переименовать исходный файл msp, sql_engine_core_inst.msp, на имя: кэшировали MSP-файл 1fdb1aec.msp.
Вы можете запустить программу установки для обновления, в результате чего произошла ошибка, и возобновить процесс обновления. Вы можете столкнуться с этим сообщением для отсутствующих файлов кэша установщика Windows для другого компонента или для другого обновления того же продукта.
Чтобы получить список всех отсутствующих файлов кэша установщика Windows, связанных с компонентами SQL Server SQL Server, можно скачать средство BPA 2008 R2 2008, упомянутое в разделе Дополнительные сведения.
Если сообщение об ошибке ссылается на отсутствующий файл базы данных установки Windows (.msi), вам не нужно выполнять действия со 2 по 4. Вместо этого можно перейти непосредственно к шагу 5. Необходимо найти .msi из исходного носителя, которое использовалось для установки продукта. Если это сообщение об ошибке было sql_engine_core_inst.msi, необходимо найти этот файл из средства настройки в структуре папки: \x64\setup\sql_engine_core_inst_msi\ . Другие действия одинаковы.
Поиск пакета исправлений и сведений о продукте для отсутствующих файлов MSP
Различные версии продукта создают различные сообщения об ошибке для этой проблемы. Сообщения об ошибках, упомянутые в разделе Симптомы, отображаются для программ установки обновлений, начиная с SQL Server 2008 sp1. Для других обновлений вы получаете сообщения об ошибках, которые могут не указывать, какой файл исправлений отсутствует в кэше установки Windows, а также сведения об обновлении. Для этих сообщений об ошибках файлы журнала установки будут содержать сведения о пропавшем файле кэша установки Windows. Пример журнала установки напоминает следующее:
Если внимательно изучить этот журнал установки, он уже предоставляет сведения о исходном MSP-файле, который использовался в исправлении: sqlrun_sql.msp.
Дополнительные сведения о пропавшем файле MSP в кэше установки Windows выполните следующие действия:
Поиск отсутствующих файлов .msp в следующем подкоже реестра исправлений установщика Windows: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
Найдите GUID патча.
Поиск GUID исправлений в следующем подкоже реестра продуктов установки Windows: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
В журнале пример настройки сведения о пропавшем файле MSP и его соответствующих сведениях об исправлении присутствуют в следующих записях реестра:
Данные: GDR 2050 для SQL Server служб баз данных 2005 ENU (KB932555)
Теперь у вас есть все точки для начала действий по устранению недостающих файлов в кэше установки Windows.
Если вы SQL Server 2008 Пакет обновления 3 (SP3) или более поздней версии, вы также можете получить аналогичное сообщение об ошибке для отсутствующих файлов MSI. С помощью этого сообщения об ошибке можно быстро определить, какой файл отсутствует, какой пакет службы скачать и где можно найти загрузку.
Дополнительные сведения о получении пакета услуг см. в списке KB2546951 —список проблем, исправленных SQL Server 2008 Пакет обновления 3 .
Процедура 3. Восстановление из резервных копий системного состояния
Восстановление резервного копирования системного состояния, как описано в кэше Missing Windows Installer,требует восстановления компьютера.
Дополнительные сведения
Следующие сообщения об ошибке можно найти в виде текстовых сообщений в журнале событий или в журналах установки, расположенных в одной из следующих папок, и они указывают на то, что необходимо отремонтировать затронутый экземпляр, который будет далее:
- Для SQL Server 2008 и для SQL Server 2008 R2: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
- Для SQL Server 2012 г.: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
Для SQL 2005 (все ветви)
Product Version | Сообщение об ошибке при пропаже пакета установки (MSI) | Сообщение об ошибке при пропаже пакета кэша установщика (MSP) |
---|---|---|
SQL Server 2005 | 1636 Невозможно установить MSI-файл установки Windows | 1636 Невозможно установить MSP-файл установки Windows |
Необходимо просмотреть файлы журнала установки, чтобы определить, отсутствуют ли какие-либо кэш-файлы. Дополнительные сведения о том, как это сделать, перейдите в раздел Разрешение.
Для SQL Server 2008 SP1
Product Version | Сообщение об ошибке при пропаже пакета установки (MSI) | Сообщение об ошибке при пропаже пакета кэша установщика (MSP) |
---|---|---|
SQL Server 2008 SP1 | Сообщение об ошибке | TITLE: SQL Server установки. —————————— SQL Server установки столкнулась с ошибкой: файл патча не может быть открыт. Файл: c:\WINNT\Installer\FileName.msp. Код ошибки 0x84B20001. —————————— |
Для SQL Server 2008 года только для сборки SP3 (филиалы CU/GDR не применимы)
Product Version | Сообщение об ошибке при пропаже пакета установки (MSI) | Сообщение об ошибке при пропаже пакета кэша установщика (MSP) |
---|---|---|
SQL Server 2008 SP3 | Кэшировка MSI-файла C:\Windows\Installer\FileName.msi отсутствует. Его исходный файл, и он был установлен для продуктов sql_engine_core_inst.msi SQL Server 2008 Службы двигателя базы данных от NetworkPath , версия , язык VersionNumber ENU . | Кэш-файл патча C:\Windows\Installer\FileName.msp отсутствует. Исходный файл для этого кэшного файла , который можно установить из Пакет обновления 3 для SQL Server sql_engine_core_inst.msp 2008 (KB2546951) (64-битная) версия VersionNumber |
При выполнении обновления вы получите следующее сообщение об ошибке:
Только SQL Server 2008 R2 SP1 (филиалы CU/GDR не применимы)
Product Version | Сообщение об ошибке при пропаже пакета установки (MSI) | Сообщение об ошибке при пропаже пакета кэша установщика (MSP) |
---|---|---|
SQL Server 2008 R2 SP1 | TITLE: SQL Server установки. —————————— SQL Server установки столкнулась со следующей ошибкой: C:\Windows\Installer\FileName.msi. —————————— | Кэш-файл патча C:\Windows\Installer\FileName.msp отсутствует. Исходный файл для этого кэшного файла , который может быть установлен из Пакет обновления 1 для SQL Server sql_engine_core_inst_loc.msp 2008 R2 (KB2528583) (64-битная), версия VersionNumber . |
При выполнении обновления вы получаете следующее сообщение об
Для SQL Server 2008 R2 SP2
Product Version | Сообщение об ошибке при пропаже пакета установки (MSI) | Сообщение об ошибке при пропаже пакета кэша установщика (MSP) |
---|---|---|
SQL Server 2008 R2 SP1 | Кэшировка MSI-файла C:\Windows\Installer\FileName.msi отсутствует. Его исходный файл sql_engine_core_inst.msi и он был установлен для продуктов SQL Server 2008 R2 SP1 Службы двигателя базы данных с NetworkPath версии , язык VersionNumber LanguageName . | Кэш-файл патча C:\Windows\Installer\FileName.msp отсутствует. Исходный файл для этого кэшного файла sql_engine_core_inst_loc.msp, который можно установить с Пакет обновления 1 для SQL Server 2008 R2 (KB2528583) (64-битная) версии VersionNumber . |
При выполнении обновления вы получаете следующее сообщение об ошибке:
За SQL Server 2012 г. до cu2
Отсутствует сообщение о том, что отсутствуют файлы MSP или MSI. Однако код ошибки 1714 входит в журнал Установки.
В файлеSummary.txt: имя компонента: SQL Server код ошибки компонентов файлов поддержки: 1714
В Detail.txt файле:
Для SQL Server 2012 cu2 (и любой последующий cu или SP)
Product Version | Сообщение об ошибке при пропаже пакета установки (MSI) | Сообщение об ошибке при пропаже пакета кэша установщика (MSP) |
---|---|---|
SQL Server 2008 R2 SP1 | Кэшировка MSI-файла C:\Windows\Installer\FileName.msi отсутствует. Его исходный файл, и он был установлен для продукта C:\Windows\Installer\sql_FeatureName.msi Microsoft SQL ServerVersion из C:\originalfolder , версия , язык VersionNumber Language . | Кэш-файл патча c:\Windows\Installer\FileName.msp отсутствует. Его исходный файл sql_engine_core_inst.msp , который может быть установлен из версии Hotfix 2316 for SQL Server 2012 (KB2679368) (64-bit) VersionNumber . Кэш-файл патча C:\Windows\Installer\FileName.msp отсутствует. Его исходный файл , который может быть установлен из C:\Windows\Installer\sql_FeatureName.msp Hotfix для SQL Server 2012 KB Номер, версия VersionNumber . |
При определенных условиях SQL Server 2012 г. средства массовой информации RTM могут быть неправильно зарегистрированы. Если при таких обстоятельствах удалить накопительное обновление или пакет служб, настройка может подсказать вам RTM-носите. Чтобы решить эту проблему, уделяем средствам массовой информации RTM путь во время процесса удаления исправлений.