2013-08-21 14 views
6

Ho creato un pacchetto WIX Burn. Nel pacchetto installo .Net 4 (se non è installato), quindi altri 2 file .msi. 1 è una terza parte msi l'altra una msi che ho creato per il mio software usando WIX. Devo essere un amministratore sulla macchina per eseguire questi file .msi.Pacchetto masterizzazione Wix - Deve essere amministratore

Desidero che il pacchetto di masterizzazione non esegua nulla se l'utente non è un administartor e non installa nulla. Nel mio software di prodotto posso fare facilmente l'uso di seguito - tuttavia non posso farlo nel pacchetto. Ho letto molti post simili ma non ho trovato un esempio funzionante per quello che voglio fare.

<CustomAction Id="IsPrivileged" Error="You must be an Administrator to install [ProductName]." /> 
    <InstallExecuteSequence> 
    <Custom Action='IsPrivileged' Before='LaunchConditions'> 
     Not Privileged 
    </Custom> 
    </InstallExecuteSequence> 
+0

look per autorizzazioni elevate – Gilad

+0

Un metodo potrebbe essere quello di chiedere le credenziali di amministratore quando si avvia il bundle, cioè impostare il livello di esecuzione per "Richiedi amministratore". Tuttavia vedo che Rob dice che Burn non è stato progettato per funzionare a livelli elevati, quindi potresti incontrare limitazioni: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-BURN-wpf-and- UAC-promt-td7587811.html –

risposta

8

È possibile utilizzare il fascio equivalente di condizioni di lancio usando Burn's built-in variables e WixBalExtension's Condition element:

<bal:Condition Message="You can't elevate."> 
    <![CDATA[Privileged <> 0]]> 
</bal:Condition> 

<bal:Condition Message="You're not elevated."> 
    WixBundleElevated = 1 
</bal:Condition> 
Problemi correlati