2014-10-28 26 views
10

için yönetici hakları istemiyor WIX'e sahip bir MSI oluşturdum ve düzgün çalışması için yükseltilmiş izinler gerekiyor. MSI Projesi, ben WIX Burn Bootstrapper MSI

<Package [...] InstallPrivileges="elevated" /> 

üzerinden bu belirtilen Şimdi WixWPF Bootstrapper dayalı özel bir bootsrapper projesinde bu MSI dahil. Anladığım kadarıyla, ön yükleyicinin kendisi makine durumunu değiştirmemeli ve dolayısıyla yükseltilmiş ayrıcalıklar gerektirmemelidir.

Artık Bootstrapper'ın, entegre MSI'yi yükseltilmiş ayrıcalıklarla otomatik olarak başlatmasını beklerim, gerekirse kullanıcıya UAC iletişim kutusu açar. Ama öyle değil. Bunun yerine, kurulum başarısız oluyor. Ancak, önyükleyiciyi açıkça yönetici olarak çalıştırdığımda çalışır.

MSI'yı yüklerken önyükleyicinin yükseltilmiş izinler almasını nasıl sağlayabilirim?

+0

Sadece bilmek için MSI'niz için bu özniteliği ayarladınız mı? InstallScope = "perMachine" – Isaiah4110

+0

@ Isaiah4110 Bu özniteliği ayarlamadım; Şu an projem için herhangi bir erişimim olmadığı için, eğer bu fark yaratırsa yarın kontrol edeceğim. Teşekkürler! –

+0

@ Isaiah4110 Teşekkürler, buydu! Bunu bir cevap olarak gönderirseniz, kabul etmekten mutluluk duyarız. –

cevap

13

MSI için INSTALLSCOPE özniteliği ayarlanmadığından, Kullanıcı Başına yüklemesi varsayılanıdır ve önyükleme uygulayıcısı, çalıştırmak için herhangi bir ADMIN/Yükseltilmiş hak gerekmediği kabul edilir.

Şimdi sizin durumunuzda, MSI'nin yazarı sizsiniz ve InstallScope'u paket elemanına eklemeniz için yeterince kolaydı. Eğer MSI yazarı değilseniz

InstallScope="perMachine" 

hala bootstrapper MSI/EXE için başına makinesini zorlamak için kullanabileceğiniz bir özellik sağlamaktadır.

  1. MSIPackage - ForcePerMachine
  2. EXEPackage - PerMachine

Peki neden Bootstrapper Per-Machine yükselmiş ihtiyaçlarını ayrıcalıkları ve kullanıcı başına doesnt yüklemek düşünüyor? Yeterli, kullanıcı başına basit kurulum kayıt defteri değeri HKEY_CURRENT_USER altında yazılır ve Makine başına yükleme için kayıt defteri değeri HKEY_LOCAL_MACHINE altında yazılır. Sadece Admin kullanıcıları HKLM’ye okuyabilir/yazabilir.

+0

Teşekkürler, ek arka plan bilgilerini takdir ediyorum! –