Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Cara memulihkan berkas tembolok Pemasang Windows yang hilang dan memecahkan masalah yang terjadi selama pemutakhiran SQL Server

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 969052
Gejala
Proses yang dijelaskan di artikel ini menyediakan bantuan darurat hanya dan bukan merupakan perbaikan permanen. Pelanggan yang menggunakan proses ini darurat harus memvalidasi Windows Installer Cache menggunakanPaket Verifier tembolok Pemasang Windows, seperti petunjuk di artikel KB 2667628.

Ketika Anda mencoba untuk menginstal pembaruan kumulatif atau Service Pack Microsoft SQL Server, Anda mungkin mengalami pesan galat berikut, dan thesemay menunjukkan masalah tembolok Pemasang Windows. Tembolok Pemasang Windows, yang terletak di mapc:\windows\installer , menyimpan penting file untuk aplikasi yang diinstal dengan menggunakan teknologi penginstal Windows dan tidak akan dihapus. Jika tembolok pemasang terganggu, Anda mungkin tidak segera melihat masalah sebelum Anda melakukan tindakan seperti membongkar, memperbaiki, atau pemutakhiran SQL Server.

Ketika Anda menginstal SQL Server, theWindows Penginstal menyimpan file kritis di tembolok Pemasang Windows (asali adalah C:\Windows\Installer). Berkas-berkas diperlukan untuk membongkar dan memperbarui aplikasi. File yang hilang tidak dapat disalin antara komputer, karena mereka unik.

Microsoft menyarankan untuk penginstalan SQL Server Anda terlebih dulu menggunakan proses perbaikan yang dijelaskan dalam artikel berikut untuk memverifikasi penginstalan:

Anda harus menjalankan perbaikan dari media penginstalan asli, menggunakan baris perintah berikut ini:

setup.exe /ACTION = perbaikan /INDICATEPROGRESS = TRUE

Memperbaiki komponen bersama Umum dan fitur pertama, dan kemudian jalankan perintah untuk memperbaiki contoh yang diinstal. Selama proses perbaikan, kotak dialog penataan hilang. Selama jendela kemajuan tidak menampilkan kesalahan, proses perbaikan berjalan seperti yang diharapkan.

Catatan Pesan galat berikut ini dapat ditemukan sebagai perpesanan teks dalam acara log atau di log penataan yang terletak di salah satu dari folder berikut, dan mereka menunjukkan bahwa Anda harus memperbaiki contoh terpengaruh sedang berjalan lebih lanjut:
  • Untuk SQL Server 2008 dan SQL Server 2008 R2:
    C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • Untuk SQL Server 2012:
    C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
Untuk SQL 2005 (semua cabang)
Versi produkPesan Galat saat Penginstal Paket (MSI) hilangPesan galat saat paket tembolok pemasang (MSP) hilang
SQL Server 2005
1636 tidak dapat menginstal Windows Installer MSI file
1636 tidak dapat menginstal Windows Installer MSP berkas
Catatan Anda harus meninjau berkas log penataan untuk mengidentifikasi apakah berkas tembolok akan hilang. Untuk informasi selengkapnya tentang cara melakukannya, buka bagian "resolusi".

Untuk SQL Server 2008 SP1
Versi produkPesan Galat saat Penginstal Paket (MSI) hilangPesan galat saat paket tembolok pemasang (MSP) hilang
SQL Server 2008 SP1Tidak ada pesan galat
Judul: Kegagalan Penataan SQL Server.
------------------------------
Penataan SQL Server telah mengalami galat berikut ini: patch file tidak dapat dibuka. Berkas: c:\WINNT\Installer\1cf506f.msp. Kode galat 0x84B20001.
------------------------------
Untuk SQL Server 2008 SP3 hanya pembuatan (cabang CU GDR tidak dapat diterapkan)
Versi produkPesan Galat saat Penginstal Paket (MSI) hilangPesan galat saat paket tembolok pemasang (MSP) hilang
SQL Server 2008 SP3
Berkas MSI tembolok 'C:\Windows\Installer\2775c8.msi' hilang. Berkas yang asli adalah 'sql_engine_core_inst.msi' dan diinstal untuk produk 'Microsoft SQL Server 2008 Database Engine Services' dari'<network path="">', '10.3.5500.0', versi bahasa 'ENU'.</network>
Berkas cache patch "C:\Windows\Installer\19b19196.msp" tidak ada. Berkas asli untuk berkas cache ini adalah "sql_engine_core_inst.msp", yang dapat diinstal dari "Paket Layanan 3 untuk SQL Server 2008 (KB2546951) (64-bit)", versi 10.3.5500.0
Catatan Anda menerima pesan galat ketika Anda melakukan upgrade:
Galat SQL Server

Untuk SQL Server 2008 R2 SP1 hanya (cabang CU GDR tidak dapat diterapkan)
Versi produkPesan Galat saat Penginstal Paket (MSI) hilangPesan galat saat paket tembolok pemasang (MSP) hilang
SQL Server 2008 R2 SP1
Judul: Kegagalan Penataan SQL Server.
------------------------------
Penataan SQL Server telah mengalami galat berikut ini: C:\Windows\Installer\932b909.msi.
------------------------------
Berkas cache patch "C:\Windows\Installer\105441.msp" tidak ada. Berkas asli untuk berkas cache ini adalah "sql_engine_core_inst_loc.msp", yang dapat diinstal dari "Paket Layanan 1 untuk SQL Server 2008 R2 (KB2528583) (64-bit)", versi 10.51.2500.0.
Catatan Anda menerima pesan galat ketika Anda melakukan upgrade:
Galat SQL Server

Untuk SQL Server 2008 R2 SP2
Versi produkPesan Galat saat Penginstal Paket (MSI) hilangPesan galat saat paket tembolok pemasang (MSP) hilang
SQL Server 2008 R2 SP1
Berkas MSI tembolok 'C:\Windows\Installer\932b909.msi' hilang. Berkas yang asli adalah 'sql_engine_core_inst.msi' dan diinstal untuk produk 'Layanan SQL Server 2008 R2 SP1 Database Engine dari'<network path="">', '10.51.2500.0', versi bahasa 'ENU'.</network>
Berkas cache patch "C:\Windows\Installer\105441.msp" tidak ada. Berkas asli untuk berkas cache ini adalah "sql_engine_core_inst_loc.msp", yang dapat diinstal dari "Paket Layanan 1 untuk SQL Server 2008 R2 (KB2528583) (64-bit)", versi 10.51.2500.0.
Catatan Anda menerima pesan galat ketika Anda melakukan upgrade:
Galat SQL Server

Untuk SQL Server 2012 sebelum CU2
Ada tidak ada pesan untuk file MSI MSP atau hilang. Namun, kode galat 1714 dicatat di log penataan.

Dalam Summary.txt file:
Komponen nama: berkas pendukung Penataan SQL Server
Kode galat komponen: 1714

Dalam berkas Detail.txt:
<Date><Time>SLP: Sco: berkas 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' tidak ada
<Date><Time>SLP: Sco: berkas 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi' tidak ada
<Date><Time>SLP: Checkpoint: PREINSTALL_SQLSUPPORT_CPU64_ACTION
<Date><Time>SLP: Sco: mencoba membuat bukti kunci registri dasar HKEY_LOCAL_MACHINE, Mesin<Server name="">
<Date><Time>SLP: Sco: berusaha membuka subkunci registri Software\Microsoft\Windows\CurrentVersion\Installer
<Date><Time>SLP: Sco: berusaha mendapatkan nilai registri InstallerLocation
<Date><Time>SLP: Windows installer versi: 5.0.7601.17514
<Date><Time>SLP: Sco: menunggu Layanan 'msiserver' untuk menerima permintaan berhenti.
<Date><Time>SLP: Sco: mencoba untuk membuka pengelola SC
<Date><Time>SLP: Sco: berusaha membuka layanan menangani untuk layanan msiserver
<Date><Time>SLP: Memanggil API QueryServiceStatus Win32
<Date><Time>SLP: Sco: mencoba untuk menutup handle layanan untuk layanan msiserver
<Date><Time>SLP: Sco: mencoba Tutup manajer SC
<Date><Time>SLP: Target paket: "d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\SqlSupport.msi"
<Date><Time>SLP: Galat MSI: 1714 versi lama dari penataan Microsoft SQL Server 2012 (Inggris) tidak dapat dihapus. Hubungi dukungan teknis grup.
<Date><Time>SLP: InstallPackage: MsiInstallProduct kembali kode hasil 1603.
<Date><Time>SLP: Menggunakan kode galat MSI untuk mendeteksi opsi pengulangan: 1714
<Date><Time>SLP: Coba lagi dapat MSI gulung balik kode yang terdeteksi.</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>

Untuk SQL Server 2012 CU2 (dan selanjutnya CU atau SP)
Versi produkPesan Galat saat Penginstal Paket (MSI) hilangPesan galat saat paket tembolok pemasang (MSP) hilang
SQL Server 2008 R2 SP1
Berkas MSI tembolok ' C:\Windows\Installer\<file_encoded_name>.msi' hilang. Berkas yang asli '' C:\Windows\Installer\sql_<featurename>.msi'}' dan diinstal untuk produk ' Microsoft SQL Server <version>' dari 'C:\originalfolder', versi '<versionnumber>', bahasa '<language>'.</language> </versionnumber> </version> </featurename> </file_encoded_name>
Berkas cache patch "c:\Windows\Installer\1fdb1aec.msp" tidak ada. Berkas yang asli adalah "sql_engine_core_inst.msp", yang dapat diinstal dari file cache patch 11.00.2100.60.The versi "Hotfix 2316 untuk SQL Server 2012 (KB2679368) (64-bit)", "C:\Windows\Installer\<file_encoded_name>.msp' hilang. Berkas yang asli '' C:\Windows\Installer\sql_<featurename>.msp'}', yang dapat diinstal dari ' Hotfix <number>untuk SQL Server 2012 <KB number="">', versi '<versionnumber>'.</versionnumber> </KB> </number> </featurename> </file_encoded_name>
Catatan Di bawah kondisi tertentu di SQL Server 2012, RTM media mungkin tidak didaftarkan dengan benar. Ketika Anda membongkar pembaruan kumulatif atau Service Pack pada situasi tersebut, penataan akan meminta Anda untuk RTM media. Untuk mengatasi masalah ini, menyediakan lintasan media RTM selama proses penghapusan patch.
Penyebab
Masalah ini dapat terjadi apabila berkas database Pemasang Windows (.msi) atau file patch Windows Installer (.msp) yang hilang dari tembolok Pemasang Windows. Tembolok Pemasang Windows terletak di folder berikut ini:
%windir%\installer
Jika produk diinstal menggunakan penginstal Windows, versi stripped berkas .msi asli disimpan di tembolok Pemasang Windows. Setiap pembaruan untuk produk seperti hotfix, pemutakhiran kumulatif atau penataan Service Pack, juga menyimpan .msp relevan atau berkas .msi di tembolok Pemasang Windows.

Semua pemutakhiran mendatang untuk produk seperti hotfix, pemutakhiran kumulatif atau penataan Service Pack, bergantung pada informasi di dalam berkas yang disimpan di tembolok Pemasang Windows. Tanpa informasi ini, pembaruan baru tidak dapat melakukan perubahan yang diperlukan.
Pemecahan masalah
Untuk mengatasi masalah ini, gunakan salah satu dari prosedur berikut ini.

Prosedur 1: Menggunakan skrip

Untuk menyelesaikan langkah-langkah dalam prosedur ini, Anda harus menyalin FindSQLInstalls.vbs skrip dari bagian "Informasi selengkapnya" untuk folder lokal pada komputer ketika Anda mencoba untuk memperbarui penginstalan SQL Server.

Catatan Skrip FindSQLInstalls.vbs mengumpulkan informasi untuk mengoreksi garis jatuh berseri paket tidak valid. Dan, skrip ini digunakan terhadap lokasi sumber untuk memastikan bahwa semua paket MSP berada di direktori tembolok Pemasang Windows. Setiap paket hilang akan ditambahkan ulang jika media sumber asli tersedia.

Untuk menyelesaikan masalah ini dengan menggunakan skrip, ikuti langkah-langkah berikut:
  1. Temukan direktori tempat Anda menyimpan konten skrip.
  2. Buka wantian perintah yang ditinggikan ke direktori yang Anda Simpan skrip, dan jalankan perintah berikut ini:
    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
  3. Membuka berkas dari langkah 2 di editor teks seperti Notepad, dan mengidentifikasi masalah yang menyebabkan kegagalan. Untuk melakukannya, Cari berkas teks untuk string pola seperti berikut:
    • tidak
    • !!!
  4. Berdasarkan hasil di langkah 3, lakukan langkah-langkah yang diperlukan.

    Catatan Cari informasi lebih lanjut tentang langkah-langkah pada bagian "Contoh".

  5. Ulangi langkah 2 hingga 4 hingga berkas teks yang dibuat di langkah 2 tidak berisi teks yang merujuk path tidak valid atau file yang hilang untuk komponen yang telah diperbarui.

Contoh

Contoh berikut ini adalah entri dan penjelasan dari tindakan yang diuraikan dalam file output yang dihasilkan ketika Anda menjalankan skrip FindSQLInstalls.vbs.

Contoh 1: Berkas Penginstal hilang
Berikut ini adalah contoh dari output yang dihasilkan ketika Anda kehilangan paket .msi di map tembolok Pemasang 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\

Baris "LastUsedSource" mengarah ke lokasi yang digunakan untuk menjalankan program penataan.

Di baris "LastUsedSource", entri m; menandakan media dan menunjukkan bahwa sumber asli media CD/DVD.

Dalam contoh berikut, sumber adalah CD atau DVD drive G. Jika penginstalan terjadi dari berkas map atau berbagi jaringan, "LastUsedSource" baris dimulai dengan n; entri, diikuti oleh entri Numeric_Data_Name; dan kemudian garis jatuh berseri sebenarnya:
!!!! 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\ 

"Tindakan diperlukan" garis jatuh menunjukkan lintasan penuh yang harus ada untuk memperbarui file yang hilang untuk media penginstalan asli:
Installer Cache File: C:\WINDOWS\Installer\19b4d2.msi 

Baris "Berkas tembolok pemasang" menegaskan nama berkas tembolok pemasang:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Bagian berikut output menyarankan tindakan yang diperlukan untuk menyelesaikan file yang hilang:
 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.
Contoh 2: Patch hilang
Patch yang hilang dapat mengakibatkan entri yang mirip dengan contoh 1. Sebagian besar waktu, Anda akan melihat entri di baris "Patch LastUsedSource" yang merujuk patch, dan baris ini menyerupai berikut ini:
Patch LastUsedSource:   n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

Output ini menunjukkan berikut tentang instalasi patch:
  • Patch yang asli telah diinstal dengan mengklik dua kali berkas yang dapat dijalankan patch.
  • Penginstal untuk patch digunakan folder temp, c:\0ca91e857a4f12dd390f0821a3, selama instalasi patch.
  • Untuk membuat ulang garis jatuh berseri, Anda harus menjalankan dieksekusi sama dan menambahkan parameter berikut ini:
    /x:c:\0ca91e857a4f12dd390f0821a3
    Catatan Perintah ini memaksa dapat dijalankan untuk mengekstrak berkas tersebut ke lokasi hilang sebelumnya, dan membuat ulang struktur yang diperlukan untuk memperbarui tembolok Pemasang Windows dengan berkas hilang. Lokasi sebenarnya akan berbeda-beda, dan satu patch seperti Service Pack mungkin harus diekstrak ke beberapa lokasi. Setiap produk yang diinstal termasuk bagian yang berisi informasi berikut ini untuk "Patch diinstal":
    Display name:KB Article URL:  http://support.microsoft.com/?kbid=<value>Patch LastUsedSource: 

    Baris "URL artikel KB" dapat membantu Anda men-download patch media, jika diperlukan.

Prosedur 2: Memulihkan file secara manual

Untuk memulihkan berkas yang hilang dari tembolok Pemasang Windows secara manual, ikuti langkah-langkah berikut:
  1. Kumpulkan rincian lengkap tentang berkas yang hilang dari pesan galat, dari berkas log penataan, atau dari entri registri yang dikelola oleh penginstal Windows. Misalnya, pesan galat 1 dalam bagian "gejala", Semua informasi yang diperlukan untuk menyelesaikan masalah ada di pesan galat:
    • PatchName: "Hotfix 1702 untuk SQL Server 2008 R2 (KB981355) (64-bit)"
    • Berkas MSP asli yang digunakan oleh Patch: sql_engine_core_inst.msp
    • Cache berkas MSP: c:\Windows\Installer\1fdb1aec.msp
  2. Jika Anda tidak memiliki semua rincian, lihat "informasi selengkapnya untuk prosedur 2" untuk langkah-langkah untuk mengumpulkan informasi ini.
  3. Kunjungi http://support.Microsoft.com, dan Cari artikel KB yang terkait dengan patch ini. Dalam contoh ini, Anda harus Telisik KB981355.
  4. Unduh paket patch ini ke komputer Anda. Pastikan bahwa Anda men-download paket patch yang sesuai untuk platform yang diperlukan. Dalam contoh ini, paket adalah SQLServer2008R2-KB981355-x64.exe.
  5. Mengekstrak konten paket patch dengan menggunakan sintaks berikut ini:
    C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64\
  6. Cari berkas sql_engine_core_inst.msp berkas msp asli. Berkas harus dalam folder berikut ini:
    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
  7. Salin berkas msp asli ke tembolok Pemasang Windows berikut ini:
    %windir%\installer\
  8. Ganti nama berkas msp asli, sql_engine_core_inst.msp, nama berikut ini:
    1fdb1aec.msp berkas cache msp

Anda dapat menjalankan program penataan untuk pemutakhiran yang menghasilkan galat dan melanjutkan proses pemutakhiran. Anda mungkin mengalami pesan ini untuk hilang berkas tembolok Pemasang Windows untuk komponen lain atau pemutakhiran lainnya dari produk yang sama.

Untuk mendapatkan daftar semua hilang Windows Installer cache berkas yang berkaitan dengan komponen produk SQL Server, Anda dapat men-download alat SQL Server 2008 R2 BPA yang disebutkan di bagian "Informasi selengkapnya".

Jika pesan galat referensi Windows Installer hilang file database (.msi), Anda tidak harus melakukan langkah 2 hingga 4. Namun, Anda dapat pergi langsung ke langkah 5. Anda harus Telisik .msi dari media asli yang digunakan untuk menginstal produk. Jika pesan galat ini dibuat untuk sql_engine_core_inst.msi, maka Anda harus menemukan berkas ini dari media setup di bawah struktur folder berikut ini:
\x64\setup\sql_engine_core_inst_msi\
Langkah-langkah yang sama.

Informasi selengkapnya tentang prosedur 2

Cara menemukan paket patch dan rincian produk untuk berkas .msp hilang
Versi produk yang berbeda menghasilkan pesan kesalahan yang berbeda untuk masalah ini. Ditampilkan pesan galat yang disebutkan di bagian "gejala" untuk program persiapan pembaruan yang dimulai dengan Microsoft SQL Server 2008 SP1. Pembaruan lainnya, Anda menerima pesan galat yang mungkin tidak jelas menentukan file patch yang hilang dari tembolok Pemasang Windows dan rincian pemutakhiran tertentu. Untuk pesan galat ini, berkas log penataan akan berisi informasi tentang berkas tembolok Pemasang Windows yang hilang. Log penataan sampel menyerupai berikut ini:
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 1635This 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

Jika Anda memeriksa log penataan ini dengan hati-hati, itu sudah memberikan informasi tentang berkas MSP asli yang digunakan oleh patch berikut:
sqlrun_sql.msp


Untuk mengetahui rincian lebih lanjut tentang berkas .msp yang hilang di tembolok Pemasang Windows, ikuti langkah-langkah berikut:
  1. Cari berkas .msp yang hilang di subkunci registri Windows Installer patch berikut ini:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
  2. Temukan Patch pengenal unik global.
  3. Cari Patch pengenal unik global di subkunci registri Windows Installer produk berikut ini:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
Contoh log penataan, informasi tentang berkas .msp yang hilang dan rincian patch yang bersangkutan ada dalam entri registri berikut ini:

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

Nilai: 0
Nama: LocalPackage
Data: C:\WINDOWS\Installer\145258.msp

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
Nilai: 6
Nama: DisplayName
Data: GDR 2050 untuk SQL Server Database Layanan 2005 ENU (KB932555)

Sekarang Anda memiliki semua informasi poin untuk mulai menjalankan langkah-langkah untuk menyelesaikan file yang hilang di tembolok Pemasang Windows.

Catatan Jika Anda menggunakan Microsoft SQL Server 2008 Service Pack 3 (SP3) atau versi yang lebih baru, Anda juga dapat menerima pesan galat yang sama untuk file .msi yang hilang. Dengan menggunakan pesan galat ini, Anda dapat dengan cepat menentukan berkas yang hilang, Service Pack apa untuk men-download, dan di mana Anda dapat menemukan download.

Untuk informasi selengkapnya tentang cara mendapatkan Service Pack, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2546951 Daftar bug yang diperbaiki dalam SQL Server 2008 Service Pack 3

Informasi lebih lanjut
Untuk informasi selengkapnya tentang berkas pangkalan data (.msi) penginstal Windows, kunjungi situs web Microsoft Developer Network (MSDN) berikut:Untuk informasi selengkapnya tentang berkas penginstal Windows patch (berkas .msp), kunjungi website MSDN berikut:Untuk informasi lebih lanjut tentang rincian internal tembolok Pemasang Windows, lihat blog MSDN berikut:Untuk informasi selengkapnya tentang proses patching, lihat blog MSDN berikut:Untuk informasi selengkapnya tentang cara memastikan bahwa Anda cache file patch untuk platform yang benar, lihat blog MSDN berikut:Untuk informasi lebih lanjut tentang mengapa produk mana pun yang menggunakan penginstal Windows dapat mengalami masalah ini, lihat blog MSDN berikut:Untuk informasi selengkapnya tentang rincian tentang set yang berbeda dari pesan galat yang muncul di berkas log penataan, lihat blog MSDN berikut:

Untuk informasi selengkapnya tentang produk atau alat yang secara otomatis memeriksa kondisi ini pada contoh SQL Server dan versi produk SQL Server, lihat Daftar Tabel berikut ini:
peranti penangkap lunak aturanJudul aturanPenjelasan aturanVersi produk terhadap aturan dievaluasi
SQL Server 2008 R2 Penganalisis praktik terbaik (SQL Server 2008 R2 BPA)Penataan - tembolok pemasang hilang untuk penginstalan SQLSQL Server 2008 R2 Penganalisis praktik terbaik (SQL Server 2008 R2 BPA) menyediakan aturan untuk mendeteksi berkas tembolok pemasang hilang untuk komponen SQL Server. SQL Server 2008 R2 BPA mendukung SQL Server 2008 dan SQL Server 2008 R2. Jika Anda menjalankan alat BPA dan mengalami galat dengan judul penataan - tembolok pemasang hilang untuk penginstalan SQL, dan kemudian berkas tembolok hilang dari map cache.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012 Penganalisis praktik terbaik (SQL Server 2012 BPA)Penataan - tembolok pemasang hilang untuk penginstalan SQLSQL Server 2012 Penganalisis praktik terbaik (SQL Server 2012 BPA) menyediakan aturan untuk mendeteksi berkas tembolok pemasang hilang untuk komponen SQL Server. Jika Anda menjalankan alat BPA dan mengalami galat dengan judul penataan - tembolok pemasang hilang untuk penginstalan SQL, dan kemudian berkas tembolok hilang dari map cache.SQL Server 2012



FindSQLInstalls.vbs skrip

' 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, arrSubKeys2Dim objFSO, objShell, objFile, objReg, objConn, objExecDim strComputer, strKeyPath, strNewSourceDim strWorkstationName, strDBPath, strSubKey, strSubKey2(), strKeyPath02,  strRetValue00Dim 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_ROOTConst HKLM = &H80000002 'HKEY_LOCAL_MACHINEConst ForReading = 1, ForWriting = 2, ForAppEnding = 8 ' Checking for Elevated permissionsDim oShell, oExecszStdOutszStdOut = ""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 IfLoop 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 valuesstrComputer = "."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.quitEnd If '--Setup the output fileSet 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.quitEnd 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 HKCRobjReg.EnumKey HKCR, strKeyPath, arrSubKeys For Each strSubKey In arrSubKeys ' Define the various registry pathsstrProduct01 = "Installer\Products\" & strSubKeystrKeyPath02 = "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 valuesobjReg.GetStringValue HKCR, strProduct01, strNValue00, strRetValue00objReg.GetStringValue HKCR, strKeyPath02, strNValue01, strRetValue01objReg.GetStringValue HKCR, strKeyPath02, strNValue02, strRetValue02strRetValNew02 = Mid(strRetValue02, 5)objReg.GetStringValue HKCR, strKeyPath03, strNValue09, strRetValue09strRetValue10 = strNewRTMSource & strRetValue09objReg.GetStringValue HKLM, strInstallSource, strNValue03, strRetValNew03objReg.GetStringValue HKLM, strInstallSource, strNValue04, strRetValNew04objReg.GetStringValue HKLM, strInstallSource, strNValue05, strRetValNew05objReg.GetStringValue HKLM, strInstallSource, strNValue06, strRetValNew06objReg.GetStringValue HKLM, strInstallSource, strNValue07, strRetValNew07objReg.GetStringValue HKLM, strInstallSource, strNValue10, strRetValNew10objReg.GetStringValue HKLM, strInstallSource, strNValue12, strRetValNew12objReg.GetStringValue HKLM, strInstallSource, strNValue13, strRetValNew13objReg.GetStringValue HKLM, strInstallSource2, strNValue11, strRetValNew11 ' Pull the Product Code from the Uninstall StringstrProdCode = strRetValNew07  ProdCodeLen = Len(strProdCode)  ProdCodeLen = ProdCodeLen - 14strRetValNew08 = Right(strProdCode, ProdCodeLen) ' Pull out path from LastUsedSourcestrGetRealPath = strRetValue02  GetRealPath = Len(strRetValue02)strRealPath = Mid(strRetValue02, 5, GetRealPath) ' Identifie the string in the ProductNameIf 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 StringstrMoreInfoURL = strRetValue13a  MoreInfoURLLen = Len(strMoreInfoURL)strRetValue13b = Right(strMoreInfoURL, 42) ' Pull the URL from the LastUsedPath StringstrLastUsedPath = strRetValue15a  LastUsedPathLen = Len(strLastUsedPath)  'LastUsedPathLen = LastUsedPathLen - 15strRetValue15c = 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  NexttxtFile.CloseSet txtFile = NothingSet fso = Nothing

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 969052 - Tinjauan Terakhir: 03/09/2016 06:59:00 - Revisi: 19.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 KbMtid
Tanggapan