Как восстановить недостающие файлы установщика Windows кэш и решения проблем, возникающих во время обновления SQL Server

Переводы статьи Переводы статьи
Код статьи: 969052 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема


Процесс, описанный в данной статье заключается в предоставлении только аварийного контрастности, а не постоянное решение. Клиенты, использующие этот процесс аварийного следует проверять в кэше установщика Windows с помощью Пакета проверки кэширования установщика Windows , как указано в статье БАЗЫ знаний 2667628.

При попытке установить пакет обновления Microsoft SQL Server или накопительное обновление, могут появиться следующие сообщения об ошибке, которые могут указывать на проблемы в кэше установщика Windows. Кэше установщика Windows, расположенные в папке c:\windows\installer хранит важные файлы приложений установлена с помощью технологии Windows Installer и не должны удаляться. При компрометации кэше установщика может не сразу см. проблемы до выполнения действия, например, удаления, восстановления или обновления SQL Server.

При установке SQL Server Установщик Windows хранит важные файлы хранятся в кэше установщика Windows (по умолчанию-C:\Windows\Installer). Эти файлы необходимы для удаления и обновления приложений. Не удается скопировать отсутствующие файлы между компьютерами, поскольку они являются уникальными.

Корпорация Майкрософт рекомендует при установке SQL Server сначала использовать процесс восстановления, записанное в этих статьях для проверки текущей установки.
Примечание Следующие сообщения об ошибках можно найти как текстовые сообщения в журнале событий или журналы установки, расположенные в одной из следующих папок и указать, что необходимо восстановить экземпляр уязвимой продолжить:
  • Для SQL Server 2008 и SQL Server 2008 R2:
    C:\Program создаваемую SQL Server\100\Setup загрузки
  • Для SQL Server 2012:
    C:\Program создаваемую SQL Server\110\Setup загрузки

Для SQL 2005 (все ветви)
Свернуть эту таблицуРазвернуть эту таблицу
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2005
1636 Не удается установить файл MSI установщика Windows
1636 Не удается установить файл MSP установщика Windows
ПримечаниеНеобходимо просмотреть файлы журнала установки для идентификации ли все файлы кэша. Дополнительные сведения о том, как сделать это перейдите к разделу «Решение».

Для SQL Server 2008 с пакетом обновления 1
Свернуть эту таблицуРазвернуть эту таблицу
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 с пакетом обновления 1Сообщение об ошибке
Название: Сбой программы установки SQL Server.
------------------------------
Программа установки SQL Server произошла следующая ошибка: не удается открыть файл исправления. Файл: c:\WINNT\Installer\1cf506f.msp. Код ошибки 0x84B20001.
------------------------------
Для SQL Server 2008 SP3 только для построения (CU/GDR ветви не применимо)
Свернуть эту таблицуРазвернуть эту таблицу
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 с пакетом обновления 3
Отсутствует кэшированный MSI-файл «C:\Windows\Installer\2775c8.msi». Его исходного файла — «sql_engine_core_inst.msi», и он был установлен для продукта «Microsoft SQL Server 2008 службы ядра баз данных из»<network path="">", версия «10.3.5500.0» язык «ENU».</network>
Отсутствует кэшированного файла исправления «C:\Windows\Installer\19b19196.msp». Для этого кэшированного файла исходного файла — «sql_engine_core_inst.msp», которая может быть установлена из версии «Пакет обновления 3 для SQL Server 2008 (KB2546951) (64-разрядная версия)», 10.3.5500.0
Примечание При выполнении обновления появляется следующее сообщение об ошибке:
Свернуть это изображениеРазвернуть это изображение
Ошибка SQL Server.


Для SQL Server 2008 R2 SP1 только (CU/GDR ветви не применимо)
Свернуть эту таблицуРазвернуть эту таблицу
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 R2 с пакетом обновления 1
Название: Сбой программы установки SQL Server.
------------------------------
Программа установки SQL Server обнаружила следующую ошибку: C:\Windows\Installer\932b909.msi.
------------------------------
Отсутствует кэшированного файла исправления «C:\Windows\Installer\105441.msp». Для этого кэшированного файла исходного файла — «sql_engine_core_inst_loc.msp», могут быть установлены из «Пакет обновления 1 для SQL Server 2008 R2 (KB2528583) (64-разрядная версия)», версия 10.51.2500.0.
Примечание При выполнении обновления появляется следующее сообщение об ошибке:
Свернуть это изображениеРазвернуть это изображение
Ошибка SQL Server.


Для SQL Server 2008 R2 с пакетом обновления 2
Свернуть эту таблицуРазвернуть эту таблицу
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 R2 с пакетом обновления 1
Отсутствует кэшированный MSI-файл «C:\Windows\Installer\932b909.msi». Его исходного файла — «sql_engine_core_inst.msi», и он был установлен для продукта «SQL Server 2008 R2 с пакетом обновления 1 службы ядра баз данных из»<network path="">", версия «10.51.2500.0» язык «ENU».</network>
Отсутствует кэшированного файла исправления «C:\Windows\Installer\105441.msp». Для этого кэшированного файла исходного файла — «sql_engine_core_inst_loc.msp», могут быть установлены из «Пакет обновления 1 для SQL Server 2008 R2 (KB2528583) (64-разрядная версия)», версия 10.51.2500.0.
Примечание При выполнении обновления появляется следующее сообщение об ошибке:
Свернуть это изображениеРазвернуть это изображение
Ошибка SQL Server.


SQL Server 2012 до CU2
Отсутствуют сообщения для отсутствующих файлов MSI или MSP. Тем не менее код ошибки 1714 заносится в журнал программы установки.

В файле Summary.txt:
Имя компонента: файлы поддержки программы установки SQL Server
Код ошибки компонента: 1714

В файле Detail.txt:
<Date><Time>Установка блокированной системы: Sco: файл «d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi» не существует
<Date><Time>Установка блокированной системы: Sco: файл «d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi» не существует
<Date><Time>SLP: Контрольная точка: PREINSTALL_SQLSUPPORT_CPU64_ACTION
<Date><Time>Установка блокированной системы: Sco: попытка создания базового системного реестра HKEY_LOCAL_MACHINE, машины<Server name="">
<Date><Time>Установка блокированной системы: Sco: попытка открыть подраздел реестра Software\Microsoft\Windows\CurrentVersion\Installer
<Date><Time>Установка блокированной системы: Sco: попытка получить значение реестра InstallerLocation
<Date><Time>Установка блокированной системы: Установщик Windows версии: 5.0.7601.17514
<Date><Time>Установка блокированной системы: Sco: ожидание службы «msiserver» для принятия запроса на остановку.
<Date><Time>Установка блокированной системы: Sco: попытка открытия диспетчера Управления службами
<Date><Time>Установка блокированной системы: Sco: попытка открыть дескриптор службы для службы msiserver
<Date><Time>Установка блокированной системы: Вызов интерфейса API QueryServiceStatus Win32
<Date><Time>Установка блокированной системы: Sco: попытка закрыть дескриптор службы для службы msiserver
<Date><Time>Установка блокированной системы: Sco: попытка закрыть диспетчера Управления службами
<Date><Time>Предустановки блокированной системы: Пакет цели: «d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\SqlSupport.msi»
<Date><Time>Установка блокированной системы: MSI Ошибка: 1714 не удалить более раннюю версию Microsoft SQL Server 2012 установки (на английском языке). Обратитесь в группу технической поддержки.
<Date><Time>Установка блокированной системы: InstallPackage: MsiInstallProduct возвращается результирующий код 1603.
<Date><Time>SLP: Использование кода ошибки MSI для определения параметр повтора: 1714
<Date><Time>Установка блокированной системы: Не могли повторить MSI возвращают обнаружен код.</Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Server></Time></Date></Time></Date></Time></Date></Time></Date>

Для SQL Server 2012 CU2 (и всех последующих CU или SP)
Свернуть эту таблицуРазвернуть эту таблицу
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 R2 с пакетом обновления 1
Кэшированный MSI-файл "C:\Windows\Installer\<file_encoded_name>.msi" отсутствует. Его исходный файл '' C:\Windows\Installer\sql_<featurename>MSI-файл "}" и он был установлен для продукта "Microsoft SQL Server <version>" из "C:\originalfolder" версии "<versionnumber>", язык "<language>".</language> </versionnumber> </version> </featurename> </file_encoded_name>
Отсутствует кэшированного файла исправления «c:\Windows\Installer\1fdb1aec.msp». Его исходного файла — «sql_engine_core_inst.msp», «Исправление 2316 для SQL Server 2012 (KB2679368) (64-разрядная версия),» версия 11.00.2100.60.The кэшированного файла исправления могут быть установлены "C:\Windows\Installer\<file_encoded_name>.msp" отсутствует. Его исходный файл '' C:\Windows\Installer\sql_<featurename>.msp "}", которые могут быть установлены из "исправление <number>для SQL Server 2012 <KB number="">", версия "<versionnumber>".</versionnumber> </KB> </number> </featurename> </file_encoded_name>

Причина

Эти проблемы могут возникать, если файл базы данных установщика Windows (MSI-файл) или файл исправления установщика Windows (.msp) отсутствует в кэше установщика Windows. В кэше установщика Windows находится в следующей папке:
%Windir%\Installer
Когда продукт устанавливается с помощью установщика Windows, очищенный версии исходного файла MSI-файл хранится в кэше установщика Windows. Каждое обновление продукта, например, исправление, накопительного обновления или установки пакета обновления, также сохраняет соответствующие .msp или MSI-файл в кэше установщика Windows.

Любые обновления для продукта, например, исправление, накопительного обновления или установки пакета обновления, использует сведения, содержащиеся в файлах, хранящихся в кэше установщика Windows. Без этой информации новое обновление не удается выполнить необходимые преобразования.

Решение

Чтобы устранить эти проблемы, воспользуйтесь одним из следующих процедур.

Процедура 1: Использование сценария

Чтобы выполнить действия, описанные в этой процедуре, необходимо скопировать Сценарий FindSQLInstalls.vbs в разделе «Дополнительные сведения» в локальную папку на компьютере, где вы пытаетесь обновления установки SQL Server.

Примечание Сценарий FindSQLInstalls.vbs собирает сведения о правильных путей недопустимый пакет. И этот сценарий используется для расположения источника убедитесь, что все пакеты MSP находятся в каталоге кэша установщика Windows. Любые отсутствующие пакеты будут повторно добавлены при наличии исходного носителя.

Для решения этих проблем с помощью сценария, выполните следующие действия.
  1. Перейдите в каталог, в который сохраняется содержимое сценария.
  2. Откройте командную строку с повышенными правами в каталог, в котором сохранен сценарий и выполните следующую команду:
    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
  3. Откройте файл из шага 2 в текстовый редактор, например Блокнот и определения проблем, которые вызывают ошибки. Для этого найдите в файле текста шаблоны строки следующий:
    • Нет
    • !!!
  4. На основе результатов на шаге 3, предпринять шаги, которые необходимы.

    Примечание Найдите Дополнительные сведения об этих действиях в разделе «Примеры».

  5. Повторите шаги 2-4, текстовый файл, созданный на шаге 2 не содержит текст, который ссылается на неверный путь или отсутствующие файлы для компонента, который обновляется.

Примеры

В следующих примерах показаны записи и объяснения действий, описанных в выходной файл, созданный при запуске сценария FindSQLInstalls.vbs.

Пример 1: Отсутствующие файлы установщика
Ниже приведен пример выходных данных, которое появляется, когда отсутствует пакет MSI-файл в папке кэша установщика Windows.
================================================================================
PRODUCT NAME   : Microsoft SQL Server 2008 Database Engine Services
================================================================================
  Product Code: {9FFAE13C-6160-4DD0-A67A-DAC5994F81BD}
  Version     : 10.2.4000.0
  Most Current Install Date: 20110211
  Target Install Location: 
  Registry Path: 
   HKEY_CLASSES_ROOT\Installer\Products\C31EAFF906160DD46AA7AD5C99F418DB\SourceList
     Package    : sql_engine_core_inst.msi
  Install Source: \x64\setup\sql_engine_core_inst_msi\
  LastUsedSource: m;1;G:\x64\setup\sql_engine_core_inst_msi\

В строке «LastUsedSource» указывает на местоположение, которая использовалась для запуска программы установки.

В строке «LastUsedSource» запись m; обозначает носителя и указывает, что исходный компакт-ДИСК или DVD.

В следующем примере источником является компакт-диска или DVD-диска в дисководе ж. При установки из папки файла или из общего сетевого ресурса, «LastUsedSource», строка начинается с n; запись, затем операция Numeric_Data_Name; и фактический путь:
!!!! sql_engine_core_inst.msi DOES NOT exist on the path in the path G:\x64\setup\sql_engine_core_inst_msi\ !!!!
 
Action needed, re-establish the path to G:\x64\setup\sql_engine_core_inst_msi\ 

«Требуется действие» строка показывает полный путь, который должен существовать для обновления отсутствуют файлы для исходного установочного носителя:
Installer Cache File: C:\WINDOWS\Installer\19b4d2.msi 

В строке «Кэшированного файла установщика» подтверждает имя кэшированного файла установщика:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

В следующем разделе выходных данных предлагающее действий, необходимых для разрешения отсутствующих файлов:
 Action needed, recreate or re-establish path to the directory:
     G:\x64\setup\sql_engine_core_inst_msi\then rerun this script to update installer cache and results
     The path on the line above must exist at the root location to resolve
     this problem with your msi/msp file not being found or corrupted,
     In some cases you may need to manually copy the missing file or manually
     replace the problem file overwriting it is exist: 
 
     Copy "G:\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi" C:\WINDOWS\Installer\19b4d2.msi
 
     Replace the existing file if prompted to do so.
Пример 2: Пропущенными исправлениями
Отсутствующие обновления может привести к записи, похожие на те, в примере 1. В большинстве случаев, можно заметить, записи в строке «Исправление LastUsedSource», которые ссылаются исправления и эту строку следующего вида:
Patch LastUsedSource:   n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

Этот вывод указывает следующее относительно установки исправления:
  • Дважды щелкните исполняемый файл исправления была установлена исходная версия обновления.
  • Установщик пакета использовать временную папку c:\0ca91e857a4f12dd390f0821a3, во время установки исправления.
  • Чтобы повторно создать путь, необходимо запустить тем же исполняемым файлом и добавьте следующий параметр:
    /x:c:\0ca91e857a4f12dd390f0821a3
    Примечание Эта команда вынуждает исполняемый файл для извлечения файлов до предыдущей позиции отсутствует, и это повторно создает структуры, необходимые для обновления все отсутствующие файлы в кэше установщика Windows. Фактическое расположение зависит и отдельное исправление, например пакет обновления может потребоваться извлечь в несколько мест. Каждый установленный продукт включает раздел содержит следующие сведения о «Установленных исправлений».
    Display name:
    KB Article URL:  http://support.microsoft.com/?kbid=<value>
    Patch LastUsedSource: 

    В строке «URL статьи КБ» поможет вам загрузить исправление носителей, при необходимости.

Второй метод: Вручную восстановить файлы

Чтобы вручную восстановить файлы, которые отсутствуют в кэше установщика Windows, выполните следующие действия.
  1. Собирает подробные сведения о файле отсутствует сообщение об ошибке, файл журнала установки или записи реестра, которые поддерживаются с помощью установщика Windows. Например сообщение об ошибке 1 в разделе «Проблема», все сведения, необходимые для решения проблемы присутствует в сообщение об ошибке:
    • PatchName: "1702 исправление для SQL Server 2008 R2 (KB981355) (64-разрядная версия)»
    • Исходный MSP-файл, используемый для обновления: sql_engine_core_inst.msp
    • Кэшированный файл MSP: c:\Windows\Installer\1fdb1aec.msp
  2. Если у вас все детали, "Дополнительные сведения для процедуры 2" раздел для действия для сбора этих сведений.
  3. Посетите http://support.microsoft.comи найти в статье БАЗЫ знаний, связанная с этим исправлением. В данном примере необходимо найти KB981355.
  4. Загрузите этот пакет исправлений на компьютере. Убедитесь, что загрузить пакет исправлений, который соответствует необходимых платформ. В этом примере пакета — SQLServer2008R2-KB981355-x64.exe.
  5. Извлеките содержимое пакета исправлений, используя следующий синтаксис:
    C:\Temp\SQLServer2008R2-KB981355-x64\/x C:\temp>SQLServer2008R2-KB981355-x64.exe
  6. Найдите исходный файл sql_engine_core_inst.msp файл msp. Файл должен находиться в следующей папке:
    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
  7. Скопируйте этот исходный файл msp в кэше установщика Windows следующие:
    %windir%\installer\
  8. Переименуйте исходный файл msp, sql_engine_core_inst.msp, в следующее имя:
    msp кэшированный файл 1fdb1aec.msp

Можно запустить программу установки для обновления, который вызвал ошибку и продолжить процесс обновления. Может появиться сообщение для отсутствующих кэшированного файла установщика Windows для другого компонента или другое обновление этого же продукта.

Чтобы получить список всех отсутствующих файлов установщика Windows кэша, относящиеся к компонентам продукта SQL Server, можно загрузить средство SQL Server 2008 R2 анализатора соответствия Рекомендациям, описанное в разделе «Дополнительные сведения».

Если сообщение об ошибке ссылается на отсутствующий файл базы данных установщика Windows (.msi), выполните шаги 2-4 нет. Вместо этого можно перейти к шагу 5. Необходимо найти MSI-файл с исходного носителя, который использовался для установки продукта. Если это сообщение об ошибке для sql_engine_core_inst.msi был создан, необходимо найти файл с носителя установки под следующую структуру папок:
\x64\setup\sql_engine_core_inst_msi\
Остальные шаги одинаковы.

Дополнительные сведения для процедуры 2

Как найти пакет и сведения о продукте для отсутствующего MSP-файл
Различные версии продукта, создают различные сообщения об ошибках для этой проблемы. Для программы установки для обновления, начиная с Microsoft SQL Server 2008 SP1 появляются сообщения об ошибках, описанные в разделе «Проблема». Другие обновления появляется сообщение об ошибке, может не указывать явно файл исправления, который отсутствует в кэше установщика Windows и обновления сведений. Эти сообщения об ошибках файлы журналов программы установки будет содержать сведения об отсутствующих кэшированного файла установщика Windows. Настройка образца файла журнала будет выглядеть примерно так:
MSI (s) (FC:F8) [13:48:58:649]: Opening existing patch 'C:\WINDOWS\Installer\145258.msp'.
MSI (s) (FC:F8) [13:48:58:649]: Couldn't find local patch 'C:\WINDOWS\Installer\145258.msp'. Looking for it at its source.
MSI (s) (FC:F8) [13:48:58:649]: Resolving Patch source.
MSI (s) (FC:F8) [13:48:58:649]: Note: 1: 2203 2: D:\cda162709d239766830bae5ce12b\HotFixSQL\Files\sqlrun_sql.msp 3: -2147287037 
MSI (s) (FC:F8) [13:48:58:649]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (FC:F8) [13:49:29:961]: Product: Microsoft SQL Server 2005 -- Installation failed.
MSI (s) (FC:F8) [13:49:29:992]: MainEngineThread is returning 1635
This patch package could not be opened.  Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package.
D:\SQL2K5\Servers\Setup\SqlRun_SQL.msi

Если внимательно изучить этот журнал программы установки, его уже предоставляет сведения о исходный MSP-файл, который использовался следующее исправление:
sqlrun_sql.msp


Чтобы получить дополнительные сведения об отсутствующих MSP-файл в кэше установщика Windows, выполните следующие действия:
  1. Поиск отсутствующего файла MSP в следующем подразделе реестра исправлений установщика Windows:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
  2. Найти идентификатор GUID исправления.
  3. Поиск GUID исправления в следующем подразделе реестра продуктов установщика Windows:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
Пример журнала установки сведения об отсутствующих MSP-файл и соответствующие исправления подробные сведения присутствуют в следующие параметры реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\A3B085EA74A9A7640A496636F7EF9A44

Значение: 0
Имя: LocalPackage
Данные: C:\WINDOWS\Installer\145258.msp

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
Значение: 6
Имя: отображаемое имя
Данные: GDR 2050 для базы данных SQL Server Services 2005 ENU (KB932555)

Теперь имеется все точки данных для запуска действия по устранению недостающие файлы в кэше установщика Windows.

Примечание Если используется Пакет обновления 3 (SP3) для SQL Server 2008 или более поздней версии, могут также получать сообщение об ошибке для отсутствующих файлов MSI. С помощью этого сообщения об ошибке, может быстро определить какой файл отсутствует, какой пакет обновления для загрузки, и где можно найти загрузки.

Дополнительные сведения о получении пакета обновления щелкните следующий номер статьи базы знаний Майкрософт:
2546951 Список ошибок, исправленных в Пакет обновления 3 для SQL Server 2008

Дополнительная информация

Дополнительные сведения о файлах установщика Windows (.msi) базы данных посетите следующий веб-узел Microsoft Developer Network (MSDN):
Установщик базы данных
Дополнительные сведения о файлах исправлений (MSP) установщика Windows посетите следующий веб-узел MSDN:
Пакеты исправлений
Дополнительные сведения о внутренних элементов в кэше установщика Windows см MSDN:
Кэш установщика Windows
Дополнительные сведения о процессе исправления см MSDN:
Как работает обновление
Дополнительные сведения о том, как убедиться, что кэшировать файл исправления для нужной платформы см MSDN:
Программа установки SQL Server предлагает "установленный продукт не соответствует источнику установки"
Дополнительные сведения о почему продукцией, которая использует установщик Windows могут возникнуть неполадки см MSDN:
Перестроение кэша установщика
Дополнительные сведения о различных наборов сообщений об ошибках, появляющихся в файлах журналов установки сведения о следующем блоге MSDN см.
Часть - 1: SQL Server 2005 исправление не устанавливается с ошибкой «не удается установить установщик Windows MSP файла "


Дополнительные сведения о продуктах и средства, которые автоматически проверки данного условия на экземпляр SQL Server и на версиях продукта SQL Server содержится в таблице ниже:
Свернуть эту таблицуРазвернуть эту таблицу
Правила программыНазвание правилаОписание правилаВерсии продуктов, для которых вычисляется правило
Анализатор SQL Server 2008 R2 соответствия рекомендациям (SQL Server 2008 R2 BPA)-Установщик кэша отсутствует настройка для установки SQLАнализатор SQL Server 2008 R2 соответствия рекомендациям (SQL Server 2008 R2 BPA) предоставляет правила для обнаружения установщика отсутствует файл кэша для компонентов SQL Server. SQL Server 2008 R2 BPA поддерживает SQL Server 2008 и SQL Server 2008 R2. Если запустить средство анализатора соответствия Рекомендациям и возникает ошибка с названием Setup - отсутствует кэша установщика для установки SQL и затем кэшировать файлы отсутствуют в папке кэша.SQL Server 2008
SQL Server 2008 R2
Анализатор SQL Server 2012 соответствия рекомендациям (SQL Server 2012 BPA)-Установщик кэша отсутствует настройка для установки SQLАнализатор SQL Server 2012 соответствия рекомендациям (SQL Server 2012 BPA) предоставляет правила для обнаружения установщика отсутствует файл кэша для компонентов SQL Server.Если запустить средство анализатора соответствия Рекомендациям и возникает ошибка с названием Setup - отсутствует кэша установщика для установки SQL и затем кэшировать файлы отсутствуют в папке кэша.SQL Server 2012



Сценарий FindSQLInstalls.vbs

' Copyright © Microsoft Corporation.  All Rights Reserved.
' This code released under the terms of the 
' Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)
 
 
On Error Resume Next
 
Dim arrSubKeys, arrSubKeys2
Dim objFSO, objShell, objFile, objReg, objConn, objExec
Dim strComputer, strKeyPath, strNewSource
Dim strWorkstationName, strDBPath, strSubKey, strSubKey2(), strKeyPath02,  strRetValue00
Dim strRetValue01, strRetValue02, strRetValNew02, strRetValNew03, strRetValNew04, strRetValNew05, strRetValNew06, strRetValNew07, strRetValNew08, strRetValNew09, strRetValue10, strRetValNew10, strRetValNew11, strRetValNew12, strRetValNew13, strRetValNew14, strRetValNew14a, strRetValNew14b, strRetValNew15, strRetValNew15a, strRetValNew15b, strRetValNew16, strRetValNew17, strRetValNew18
 
Const HKCR = &H80000000 'HKEY_CLASSES_ROOT
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
Const ForReading = 1, ForWriting = 2, ForAppEnding = 8
 
' Checking for Elevated permissions
Dim oShell, oExec
szStdOutszStdOut = ""
Set oShell = CreateObject("WScript.Shell")
Set oExec = oShell.Exec("whoami /groups")
 
Do While (oExec.Status = cnWshRunning)
    WScript.Sleep 100
       if not oExec.StdOut.AtEndOfStream Then
                szStdOut = szStdOut & oExec.StdOut.ReadAll
       end If
Loop
 select case oExec.ExitCode
   case 0
       if not oExec.StdOut.AtEndOfStream Then
           szStdOut = szStdOut & oExec.StdOut.ReadAll
       End If
       If instr(szStdOut,"Mandatory Label\High Mandatory Level") Then
                wscript.echo "Elevated, executing script and gathering requested data"
       Else
           if instr(szStdOut,"Mandatory Label\Medium Mandatory Level")  Then
          Wscript.echo "Not Elevated must run from Administrative commmand line."
       Else
          Wscript.echo "Gathering requested data..."
           end If
      End If
   case Else
       if not oExec.StdErr.AtEndOfStream Then
          wscript.echo oExec.StdErr.ReadAll
       end If
       end select
 
'
' Leaving strNewSource will result in no search path updating.
' Currently DO NOT EDIT these.
strNewSource = ""
strNewRTMSource = ""
 
' Define string values
strComputer = "."
strSQLName = "SQL"
strDotNetName = ".NET"
strVStudioName = "Visual Studio"
strXML = "XML"
strOWC = "Microsoft Office 2003 Web Components"
strKeyPath = "Installer\Products"
strKeyPath2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products"
strNValue00 = "ProductName"
strNValue01 = "PackageName"
strNValue02 = "LastUsedSource"
strNValue03 = "InstallSource"
strNValue04 = "LocalPackage"
strNValue05 = "DisplayVersion"
strNValue06 = "InstallDate"
strNValue07 = "UninstallString"
strNValue08 = "PackageCode"
strNValue09 = "MediaPackage"
strNValue10 = "InstallSource"
strNValue11 = "AllPatches"
strNValue12 = "NoRepair"
strNValue13 = "MoreInfoURL"
strNValue14 = "PackageName"
strNValue15 = "LastUsedSource"
strNValue16 = "Uninstallable"
strNValue17 = "DisplayName"
strNValue18 = "Installed"
 
If WScript.arguments.count <> 1 Then
   WScript.echo "Usage: cscript " & WScript.scriptname & " outputfilename.txt"
   WScript.quit
End If
 
'--Setup the output file
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtFile = fso.OpenTextFile(WScript.arguments(0), ForWriting, True)
If err.number <> 0 Then
    WScript.echo "Error 0x" & myHex(err.number,8) & ": " & err.source & " - " & err.description
    WScript.quit
End If
 
txtFile.writeline "Products installed on the local system"
txtFile.writeline " "
txtFile.writeline " "
 
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("WScript.Shell")
 
'--Set up the registry provider.
Set objReg = GetObject("winmgmts:\\" & strComputer & _
"\root\default:StdRegProv")
 
Set wiInstaller = CreateObject("WindowsInstaller.Installer")
 
'--Enumerate the "installer\products" key on HKCR
objReg.EnumKey HKCR, strKeyPath, arrSubKeys
 
For Each strSubKey In arrSubKeys
 
' Define the various registry paths
strProduct01 = "Installer\Products\" & strSubKey
strKeyPath02 = "Installer\Products\" & strSubKey & "\SourceList"
strKeyPath03 = "Installer\Products\" & strSubKey & "\SourceList\Media"
strInstallSource = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\InstallProperties\"
strInstallSource2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\patches\"
strInstallSource3 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches"
strInstallSource5 = "SOFTWARE\Classes\Installer\Patches\"
strInstallSource6 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
strInstallSource7 = "SOFTWARE\Microsoft\Microsoft SQL Server\"
strInstallSource8 = "SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\"
 
' Pull the intial values
objReg.GetStringValue HKCR, strProduct01, strNValue00, strRetValue00
objReg.GetStringValue HKCR, strKeyPath02, strNValue01, strRetValue01
objReg.GetStringValue HKCR, strKeyPath02, strNValue02, strRetValue02
strRetValNew02 = Mid(strRetValue02, 5)
objReg.GetStringValue HKCR, strKeyPath03, strNValue09, strRetValue09
strRetValue10 = strNewRTMSource & strRetValue09
objReg.GetStringValue HKLM, strInstallSource, strNValue03, strRetValNew03
objReg.GetStringValue HKLM, strInstallSource, strNValue04, strRetValNew04
objReg.GetStringValue HKLM, strInstallSource, strNValue05, strRetValNew05
objReg.GetStringValue HKLM, strInstallSource, strNValue06, strRetValNew06
objReg.GetStringValue HKLM, strInstallSource, strNValue07, strRetValNew07
objReg.GetStringValue HKLM, strInstallSource, strNValue10, strRetValNew10
objReg.GetStringValue HKLM, strInstallSource, strNValue12, strRetValNew12
objReg.GetStringValue HKLM, strInstallSource, strNValue13, strRetValNew13
objReg.GetStringValue HKLM, strInstallSource2, strNValue11, strRetValNew11
 
' Pull the Product Code from the Uninstall String
strProdCode = strRetValNew07
  ProdCodeLen = Len(strProdCode)
  ProdCodeLen = ProdCodeLen - 14
strRetValNew08 = Right(strProdCode, ProdCodeLen)
 
' Pull out path from LastUsedSource
strGetRealPath = strRetValue02
  GetRealPath = Len(strRetValue02)
strRealPath = Mid(strRetValue02, 5, GetRealPath)
 
' Identifie the string in the ProductName
If instr(1, strRetValue00, strSQLName, 1) Then
' Start the log output
    txtFile.writeline "================================================================================"
    txtFile.writeline "PRODUCT NAME   : " & strRetValue00
    txtFile.writeline "================================================================================"
    txtFile.writeline "  Product Code: " & strRetValNew08
    txtFile.writeline "  Version     : " & strRetValNew05
    txtFile.writeline "  Most Current Install Date: " & strRetValNew06
    txtFile.writeline "  Target Install Location: "  & strRetValNew13
    txtFile.writeline "  Registry Path: "
    txtFile.writeline "   HKEY_CLASSES_ROOT\" & strKeyPath02
    txtFile.writeline "     Package    : " & strRetValue01
    txtFile.writeline "  Install Source: " & strRetValue10
    txtFile.writeline "  LastUsedSource: " & strRetValue02
'   txtFile.writeline "Does this file on this path exist? " & strRetValNew02 & "\" & strRetValue01
    If fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then
    txtFile.writeline  " "
        txtFile.writeline "    " & strRetValue01 & " exists on the LastUsedSource path, no actions needed."
    Else
        txtFile.writeline " "
        txtFile.writeline " !!!! " & strRetValue01 & " DOES NOT exist on the path in the path " & strRealPath & " !!!!"
        txtFile.writeline " "
        txtFile.writeline " Action needed, re-establish the path to " & strRealPath
' Placeholder for altering the LastUsedSource by adding source location and Forcing search of list
'        If strNewSource <> "" Then
'        txtFile.writeline "      New Install Source Path Added: " & strNewSource
'        wiInstaller.AddSource strRetValNew08, "", strNewSource
'        Else
'        If strNewRTMSource <> "" Then
'        wiInstaller.AddSource strRetValNew08, "", strNewRTMSource
'        txtFile.writeline "      Forcing SourceList Resolution For: " & strRetValNew08
'        wiInstaller.ForceSourceListResolution strRetValNew08, ""
'        End If
'        End If
    End If
        txtFile.writeline " "
        txtFile.writeline "Installer Cache File: " & strRetValNew04
    If fso.fileexists(strRetValNew04) Then
        txtFile.writeline " "
        txtFile.writeline "    Package exists in the Installer cache, no actions needed."
        txtFile.writeline "    Any missing packages will update automatically if needed assuming that"
        txtFile.writeline "    the LastUsedSource exists."
        txtFile.writeline " "
        txtFile.writeline "    Should you get errors about " & strRetValNew04 & " or " & strRealPath & strRetValue01 & " then you"
        txtFile.writeline "    may need to manually copy the file, if file exists replace the problem file, " 
        txtFile.writeline "    Copy and paste the following command line into an administrative command prompt:"
        txtFile.writeline " "
        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04
        txtFile.writeline " "
    ElseIf fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then
              fso.CopyFile strRetValNew02 & "\" & strRetValue01, strRetValNew04
        If fso.fileexists(strRetValNew04) Then
          txtFile.writeline " "
          txtFile.writeline "     Missing cache file replaced by copying " & strRealPath  & strRetValue01 & " to " & strRetValNew04
          txtFile.writeline "     Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."
          txtFile.writeline " "
        End If
    Else
        txtFile.writeline " "
        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
        txtFile.writeline " !!!! " & strRetValNew04 & " DOES NOT exist in the Installer cache. !!!!"
        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
        txtFile.writeline " "
        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"
        txtFile.writeline "       " & strRealPath & "then rerun this script to update installer cache and results"
        txtFile.writeline "     The path on the line above must exist at the root location to resolve"
        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"
        txtFile.writeline "     In some cases you may need to manually copy the missing file or manually"
        txtFile.writeline "     replace the problem file overwriting it is exist: " 
        txtFile.writeline " "
        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04
        txtFile.writeline " "
        txtFile.writeline "     Replace the existing file if prompted to do so."
        txtFile.writeline " "
    End If
    txtFile.writeline " "
    txtFile.writeline strRetValue00 & " Patches Installed "
    txtFile.writeline "--------------------------------------------------------------------------------"
 
    err.clear
    objReg.EnumKey HKLM, strInstallSource2, arrSubKeys2
    uUpperBounds = UBound(arrSubKeys2,1)
     If err.number = 0  Then
        For Each strSubKey2 in arrSubKeys2
    '    WScript.echo "value = " & strSubKey2
 
strKeyPath04 = "Installer\Patches\" & strSubKey2 & "\SourceList"
 
     objReg.GetDWORDValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue16, strRetValue16
     objReg.GetStringValue HKCR, strKeyPath04, strNValue15, strRetValue15a
     objReg.GetStringValue HKCR, strKeyPath04, strNValue14, strRetValue14a
     objReg.GetStringValue HKCR, strKeyPath02, strNValue15, strRetValue15b
     objReg.GetStringValue HKCR, strKeyPath02, strNValue14, strRetValue14b
     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue17, strRetValue17
     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue18, strRetValue18
     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue13, strRetValue13a
     objReg.GetStringValue HKLM, strInstallSource3 & "\" & strSubKey2 & "\", strNValue04, strRetValue04a
 
' Pull the URL from the MoreInfoURL String
strMoreInfoURL = strRetValue13a
  MoreInfoURLLen = Len(strMoreInfoURL)
strRetValue13b = Right(strMoreInfoURL, 42)
 
' Pull the URL from the LastUsedPath String
strLastUsedPath = strRetValue15a
  LastUsedPathLen = Len(strLastUsedPath)
  'LastUsedPathLen = LastUsedPathLen - 15
strRetValue15c = Mid(strLastUsedPath, 5)
 
      txtFile.writeline " Display Name:    " & strRetValue17 
      txtFile.writeline " KB Article URL:  " & strRetValue13b
      txtFile.writeline " Install Date:    " & strRetValue18 
              txtFile.writeline "   Uninstallable:   " & strRetValue16 
      txtfile.writeline " Patch Details: "
      txtFile.writeline "   HKEY_CLASSES_ROOT\Installer\Patches\" & strSubKey2
              txtFile.writeline "   PackageName:   " & strRetValue14a
' Determine if someone has modified the Uninstallable state from 0 to 1 allowing possible unexpected uninstalls
              txtFile.writeline "    Patch LastUsedSource: " & strRetValue15a 
              txtFile.writeline "   Installer Cache File Path:     " & strRetValue04a 
        txtFile.writeline "     Per " & strInstallSource3 & "\" & strSubKey2 & "\" & strNValue04
              mspFileName = (strRetValue15c  & strRetValue14a)
      If strRetValue14a <> "" Then
      If fso.fileexists(strRetValue04a) Then
        txtFile.writeline " "
        txtFile.writeline "    Package exists in the Installer cache, no actions needed."
        txtFile.writeline "    Package will update automatically if needed assuming that"
        txtFile.writeline "    the LastUsedSource exists."
        txtFile.writeline " "
        txtFile.writeline "    Should you get errors about " & strRetValue04a & " or " & strRetValue15c  & strRetValue14a & " then you"
        txtFile.writeline "    may need to manually copy missing files, if file exists replace the problem file, " 
        txtFile.writeline "    Copy and paste the following command line into an administrative command prompt."
        txtFile.writeline " "
        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a
        txtFile.writeline " "
      ElseIf fso.fileexists(mspFileName) Then
              fso.CopyFile mspFileName, strRetValue04a
          If fso.fileexists(strRetValue04a) Then
          txtFile.writeline " "
          txtFile.writeline " Missing cache file replaced by copying " & strRetValue15c  & strRetValue14a & " to " & strRetValue04a
          txtFile.writeline " Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."
          txtFile.writeline " "
          End If
'        End If
      Else
        txtFile.writeline " "
        txtFile.writeline "!!!! " & strRetValue04a & " package DOES NOT exist in the Installer cache. !!!!"
        txtFile.writeline " "
        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"
        txtFile.writeline "       " & strRetValue15c & " then rerun this script to update installer cache and results"
        txtFile.writeline "     The path on the line above must exist at the root location to resolve"
        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"
        txtFile.writeline "     In some cases you may need to manually copy missing files or manually"
        txtFile.writeline "     replace the problem file, " 
        txtFile.writeline " "
        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a
        txtFile.writeline " "
        txtFile.writeline "     Replace the existing file if prompted to do so."
        txtFile.writeline " "
        txtFile.writeline "     Use the following URL to assist with downloading the patch:"
        txtFile.writeline "      " & strRetValue13b
        txtFile.writeline " "
        txtFile.writeline " "
      End If
       Else
        txtFile.writeline " "
     End If
        next
     Else
        txtfile.writeline " "
        txtfile.Writeline "  No Patches Found"
        txtfile.writeline " "
    End If
 
    End If
 
 
Next
txtFile.Close
Set txtFile = Nothing
Set fso = Nothing

Свойства

Код статьи: 969052 - Последний отзыв: 9 февраля 2014 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Evaluation Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
Ключевые слова: 
kbtshoot kbexpertiseinter kbprb kbsurveynew kbmt KB969052 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 969052

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com