2008-10-30 9 views

Odpowiedz

4

Twoja niestandardowa akcja była uruchamiana natychmiast po napotkaniu w InstallExecuteSequence; zamiast tego, kiedy wykonywany był aktualny skrypt instalacyjny. Spowodowało to wykonanie niestandardowej akcji z uprawnieniami użytkowników, a nie z podwyższonymi uprawnieniami systemu. Ta seria postów na blogu wyjaśni szczegółowo, co się dzieje, http://blogs.msdn.com/rflaming/archive/2006/09/23/768146.aspx. Nie powinieneś mieć niestandardowych akcji wpływających na stan komputera, które nie działają jako odroczone akcje niestandardowe.

11

+1 Lanca. Aby wyrażenie to w inny sposób i dać trochę więcej informacji

Są 2 etapy procesu MSI

  • Natychmiastowe - gdzie zbierają preferencje (zainstalować reż etc) - bez zmian w maszynie powinno być wykonane tutaj

a potem

  • odroczony - który działa po zebraniu wszystkich preferencji i faktycznie wykonuje instalację.

Niektóre dalsze myśli

  • Natychmiastowe nie zawsze może być ran (np skryptów instalacji) więc nie polegać na nim.

Istnieją 2 tryby że odroczone działanie może pracować w

  • NoImpersonate - aka NT \ SYSTEM, który ma pełne uprawnienia na komputerze

  • Impersonate - ktokolwiek rozpoczął instalację.

z UAC włączona Impersonate ma kickera. You will only have the standard user token and no admin rights, nawet jeśli użytkownik jest w rzeczywistości administratorem - w takim przypadku należy zachować NoImpersonate, w przeciwnym razie twoje działanie niestandardowe nie będzie w stanie nic zrobić.

Powiązane problemy