2008-10-31 18 views
16

Kullanıcı arayüzünde "kullanıcı başına" veya "tüm için" seçenekleri sunan bir msi dosyası yazdım ve artık yükleyicinin Vista'da başarısız olduğunu buldum:Vista'da Windows Installer'da UAC'yi isteğe bağlı hale getirin

  • sadece XP için çalışır yükleyici yeniden eğer PID_WORDCOUNT 3. biti de UAC kapatmak durumunda, Vista
  • anlamsız olduğunu yüklemeyi yapım bir UAC hatta "kullanıcı başına" kurulum için istemi tetikleyecek Vista, artık UAC'yi çağırmayacak, bu yüzden kullanıcı makine kayıt defterine yükleme izni olsa bile, ayrıcalık yükselme gerçekleşmeyecek, bu nedenle kurulum başarısız oluyor.

Peki: Yükleyicinin gerçekten ihtiyaç duyulmadığında UAC'yi çağırmasını nasıl engelleyebilirim? Alternatif olarak, bit 3 ayarlanmış olsa bile UAC'yi nasıl programlayabilirim?

cevap

6

Maalesef Windows Yükleyici makinenin başına ve kullanıcı başına yüklemek ama sadece makine başına davasında UAC için isteyebilir tek paket oluşturmak için bir yol sağlamaz. Sorun, UAC istemini engelleyebilen bitin, Özet Bilgisi akışında saklanması ve paket yürütülürken değiştirilememesidir.

+0

Onay için teşekkürler. Bunun için ciddi bir tasarım sebebi var mı, yoksa bu bayrağın bir gün bir mülk haline gelmesini umuyor muyuz? –

+1

MSI 5.0'ın bir şey yaptığını duydum bu alan. Ama bunun için Win7'ye ihtiyacımız olacak.

3
+0

Lütfen bir yürütülebilir dosyanın UAC'sinden bahsetmediğimi anlayın - setup.exe yoktur. Bunun yerine, kullanıcılar MSI dosyasını doğrudan başlatır. –

+0

Yeni referans sağlandı ... – saschabeaumont

+0

Bu, kullanıcı erişim denetiminin (UAC) Windows Installer (.msi) teknolojisiyle nasıl ilişkilendirildiğini anlatan blog yayın dizilerinin fantastik bir bağlantısıdır. Link için teşekkürler @sascha! – dthrasher

1

MSI paketimde PID_WORDCOUNT bit 3'ü ayarlayarak UAC'yi kapattım. "ALLUSERS" ve "PER-USER" için yükleyebilir ve ayrıca VISTA makinelerindeki modlarda da HKLM için yazabilirim. Yükleme sırasında ayrıcalıklı kullanıcı için UAC açılır penceresi almanız zorunlu mudur?

+0

Bu bitişi kapatmak benim için çalışmadı. Yönetici grubuna üye olsalar bile kullanıcılar "izin reddedildi" hatalarını alırlar. Paketi yalnızca yöneticinin kendisi başarıyla yükleyebilir. –