2011-01-14 8 views
8

Próbuję skonfigurować niektóre porty z instalatora WIX. W przypadku WinXP używamy httpcfg w akcji niestandardowej i działa to dobrze. Dla Win7, próbujemy:netsh http add urlacl problem

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

Instalator WIX poprawnie wykonuje to stwierdzenie i konfiguruje porty - dla administratora, który prowadzi to msi. Użytkownicy z mniejszymi uprawnieniami nie mogą uzyskać dostępu do tych portów. Muszę ją skonfigurować dla wszystkich użytkowników urządzenia, ale wypróbowałem wszystko, co przychodzi mi do głowy bez żadnego szczęścia.

Coś, co wydaje mi się dziwne, to to, że administrator widzi przypisane porty za pomocą netstat -a, ale w ogóle nie pojawiają się przy użyciu netsh http show urlacl ... czy to jest wskaźnik czegoś złego?

+0

Dlaczego używasz obu parametrów user i sddl? IMHO tylko jeden z nich jest wymagany/przydatny. – Christian

Odpowiedz

2

Możesz dodać warunek do pliku instalacyjnego, aby wyświetlić monit o UAC po rozpoczęciu instalacji. to zapewni, że cały instalator zostanie uruchomiony przez administratora, a więc doda wyjątek do zapory, nawet jeśli użytkownik nie ma uprawnień administratora.

+0

Wydaje się, że to nie jest odpowiedź na pytanie, nawet jeśli prawdopodobnie jest poprawna. Ponadto w tej odpowiedzi nie ma żadnych szczegółów. – Gyuri

+0

Będziesz musiał użyć nowszych wersji WIX, które obsługują bootstrapper (Setup.exe), aby poprawnie uruchomić jako administrator. Inaczej będzie działać tylko po uruchomieniu przez MSIEXEC z polecenia/procesu administratora. Bootstapper to jedyny sposób, aby zagwarantować, że działasz jako administrator, nawet jeśli plik Setup.exe zostanie podwójnie kliknięty z powłoki. Często dodaje się warunek uruchomienia, aby wyjaśnić dziennikowi użytkownika/administratora, dlaczego to się nie udało, a nie dziwny komunikat o niepowodzeniu, np. po dwukrotnym kliknięciu MSI/bez instalatora programu setup.exe. Nie można "pytać o UAC", tylko system za pośrednictwem innego procesu/setup.exe. –

6

Jeśli 8346 jest numerem portu, składnia jest niepoprawna, powinna być.

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

Podczas gdy odpowiedź jest prawdziwym stwierdzeniem naprawiającym literówkę, nie widzę odpowiedzi na pytanie. Możesz użyć komentarza do tych informacji. – Gyuri

+0

Jeśli chcesz, aby był nieco bardziej schludny, możesz użyć znaku plusa, aby uniknąć konieczności wprowadzania adresu, jest to skrót do dowolnego adresu IP lub nazwy, która rozwiązuje się na komputerze lokalnym, tj. "Http: // +: 8346 /" . –

Powiązane problemy