Mengapa ini mencegah saya menginstal MSI: Administrator Sistem telah menetapkan kebijakan untuk mencegah instalasi ini

28

Saya mencoba menginstal MSI pada mesin Windows Server 2012 yang merupakan bagian dari domain lab saya. Saya adalah admin lokal dan domain, tetapi sepertinya saya tidak dapat menginstal MSI ini.

Untuk klarifikasi, ketika mencoba untuk menginstal ekstensi git untuk visual studio (terletak di sini ) masuk sebagai pengguna domain yang merupakan bagian dari grup administrator, saya mendapatkan kesalahan berikut

masukkan deskripsi gambar di sini

Mesin yang melaporkan kesalahan adalah Windows Server 2012.

Saya hampir yakin itu pasti semacam pembatasan kebijakan kelompok? Tidak ada yang akan ditetapkan, kecuali itu tingkat keamanan default?

Untuk klarifikasi, saya ingin tahu apa yang mencegah MSI ini diinstal oleh admin domain?

Jason Hyland
sumber

Jawaban:

37

Setelah menghabiskan waktu melihat kebijakan kelompok, sejauh yang saya tahu, tidak ada yang relevan. Saya kemudian menemukan posting ini yang menyarankan saya mencoba meluncurkan perintah promt sebagai administrator dan berjalan

 msiexec /a install.msi

Ini tampaknya berhasil, tetapi berlari sangat cepat - bahkan ternyata tidak . Saat itu, saya mencoba ini di dalam command prompt admin.

 msiexec /i install.msi

yang berhasil memperlakukan.

Jason Hyland
sumber
Ini bekerja tetapi bisa menjengkelkan untuk dilakukan setiap kali Anda menginstal dari MSI. Lihat jawaban Armin Sadeghi di bawah ini untuk solusi jangka panjang.
Jake
17

Saya telah mengalami perilaku ini, di mana instalasi MSI dicegah dengan "Administrator sistem telah menetapkan kebijakan untuk mencegah instalasi ini" sebelumnya. Saya percaya ini karena kebijakan Pembatasan Perangkat Lunak Windows default dan saya telah melihatnya di Windows Server 2008 R2 dan Windows Server 2012.

Mungkin ada cara berbasis GUI yang lebih baik untuk mengubah kebijakan, tetapi pengaturan kunci reg berikut sebagai admin pada mesin melakukan trik:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"DisableMSI"=dword:00000000
Armin Sadeghi
sumber
5
Ini berfungsi 100%
Jan Chrbolka
3
Ini berhasil untuk saya. Saya harus menambahkan bagian "Installer" dari path sebagai kunci, kemudian menambahkan DWORD "DisableMSI" (tanpa tanda kutip).
Mike S
1
Memiliki pesan kesalahan yang sama dengan pembaruan AcrobatReader, setelah perubahan registri ke nol instalasi berhasil.
Kemin Zhou
Mencoba mencari kunci "DisableMSI" pada jalur registri "HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ Installer", tetapi folder "Installer" tidak ada. Haruskah saya membuat folder Pemasang dan menambahkan di kata-kata DisableMSI?
Harvey Darvey
2

Ini biasanya karena Kebijakan Grup atau Kebijakan Lokal menonaktifkan Penginstal Windows.

Lihat Pengontrol Domain Anda jika Anda memiliki GPO menonaktifkan "Pemasang Windows": Konfigurasi Komputer> Template Administratif> Komponen Windows> Pemasang Windows> "Matikan Pemasang Windows".

Pastikan sudah diatur ke "Tidak dikonfigurasi" atau "Dinonaktifkan".

Jika jika Anda tidak menemukannya di GPO Anda, lihat kebijakan lokal komputer menggunakan gpedit.msc.

Catatan: fakta bahwa Anda adalah admin domain tidak masalah. Itu semua tergantung dari ruang lingkup GPO.

Charlie Wilson
sumber
2
Verify that it is set to "Not configured" or "Disabled".Itu tidak benar. Default (Tidak Dikonfigurasi) adalah 1yang artinya managed only. msdn.microsoft.com/en-us/library/aa368304.aspx Dinonaktifkan dalam istilah gpos berarti kebijakan akan dinonaktifkan, sehingga kunci reg akan dihapus dan default digunakan. Kedengarannya aneh, tetapi Anda harus memilih Enableddan memilih Neverdi kotak dropdown.
Jürgen Steinblock
1

Kami memiliki masalah yang sama persis ketika membangun MSI menggunakan IsCmdBld.exe, tetapi tidak ketika membangun dari antarmuka pengguna perangkat lunak InstallShield.

Saat menjalankan penginstal, kita akan melihat kesalahan yang disebutkan oleh OP dan log instalasi akan muncul: MSI_LUA: Invalid Descriptor Format.

Penyebab masalah adalah bahwa kami melewati nilai ProductCode Guid ke baris perintah IsCmdBld.exe seperti ini: -z "ProductCode"="f176c219-dec0-4fa9-a373-94a711f28a3d".

Anda dapat melihat bahwa Panduan yang disediakan di sini tidak dikelilingi oleh {dan }.

Kami memperbaikinya dengan melewati panduan dengan tanda kurung: -z "ProductCode"="{f176c219-dec0-4fa9-a373-94a711f28a3d}"yang berfungsi seperti yang diharapkan dan tidak menampilkan kesalahan lagi.

KavenG
sumber
0

klik kanan -> jalankan sebagai administrator

calorie712
sumber
2
Bagaimana ini berbeda dari jawaban yang diterima?
Dave M
0

Baik perbaikan msiexec maupun registri tidak berfungsi untuk saya (bahkan setelah mem-boot ulang), tetapi menonaktifkan Kontrol Akun Pengguna (seperti yang disarankan oleh Ha Ly di utas ini ) dan mem-boot ulang berhasil.

Miles Wolbe
sumber
-2

Anda memiliki opsi untuk mematikan UAC melalui registri dengan mengubah DWORD EnableLUAdari 1ke 0dalam HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system. Anda akan mendapatkan pemberitahuan bahwa reboot diperlukan. Setelah reboot, UAC dinonaktifkan.

Bismarck
sumber