2011-01-14 10 views
8

Sto provando a configurare alcune porte da un programma di installazione WIX. Per WinXP usiamo httpcfg in un'azione personalizzata e questo funziona bene. Per Win7, stiamo cercando:netsh http aggiungere il problema urlacl

netsh http add urlacl url=http://127.0.0.1/8346/ user="NT AUTHORITY\Authenticated Users" sddl="D:(A;;GX;;;AU)" 

Il programma di installazione WIX esegue correttamente questa dichiarazione e imposta le porte - PER l'amministratore che gestisce il MSI. Gli utenti con privilegi minori non possono accedere a queste porte. Devo configurarlo per tutti gli utenti sulla macchina, ma ho provato su tutto quello che riesco a pensare senza fortuna.

Qualcosa che trovo strano è che l'utente Admin può vedere le porte assegnate utilizzando netstat, ma non appare affatto utilizzando netsh http spettacolo urlacl ... è che un indicatore di qualcosa che non va?

+0

Perché si utilizzano entrambi i parametri utente e sddl? IMHO solo uno di loro è richiesto/utile. – Christian

risposta

2

È possibile aggiungere condizioni al file di installazione per richiedere UAC all'avvio dell'installazione. questo assicurerà che tutto il programma di installazione sia avviato da admin e quindi aggiungerà un'eccezione nel firewall anche quando l'utente non ha diritti di amministratore.

+0

Questo non sembra rispondere alla domanda, anche se probabilmente è corretto. Inoltre, non ci sono specifiche in questa risposta. – Gyuri

+0

Sarà necessario utilizzare le versioni più recenti di WIX che supportano bootstrapper (Setup.exe) per avviare correttamente come amministratore. Altrimenti funzionerà solo quando lanciato via MSIEXEC da un comando/processo di amministratore. Bootstapper è l'unico modo per garantire l'esecuzione come amministratore anche quando Setup.exe fa doppio clic sulla shell. È anche comune aggiungere una condizione di avvio per spiegare al registro utente/amministratore perché non ha funzionato, piuttosto che qualche strano messaggio di errore, ad es. quando si fa doppio clic su MSI/senza boot.exe di setup.exe. Non è possibile "richiedere UAC", solo il sistema tramite un altro processo/setup.exe. –

6

Se 8346 è il numero di porta la sintassi non è corretta dovrebbe essere.

netsh http add urlacl url=http://127.0.0.1:8346/ user="NT AUTHORITY\Authenticated Users" 
+0

Mentre la risposta è una vera affermazione che corregge l'errore di battitura, non vedo come risponda alla domanda. Potresti aver usato un commento per queste informazioni. – Gyuri

+0

Se vuoi che sia un po 'più ordinato puoi usare il segno più per evitare di dover inserire qualsiasi indirizzo, è una scorciatoia per qualsiasi IP o nome che si risolve sulla macchina locale, cioè "http: // +: 8346 /" . –