Mam usługę WCF, którą hostuję jako usługę Windows. Zwykle przechodzę do wiersza poleceń VS i instaluję usługę za pomocą installutil.exe, a następnie modyfikuję adres bazowy usługi w app.config zgodnie z nazwą komputera, na którym ją instaluję i uruchamiam usługę.Ustawienia Inno Modyfikowanie pliku app.config po uruchomieniu pliku setup.exe
adres bazowy idzie tak:
<endpoint address="http://MACHINE_NAME/NFCReader/" binding="webHttpBinding"/>
zmodyfikować NAZWA_KOMPUTERA w pliku app.config.
Chcę użyć inno setup, aby zrobić to samo dla mnie.
To, czego chcę, to gdy użytkownik uruchamia plik setup.exe, aby zainstalować usługę, chcę poprosić użytkownika o adres bazowy usługi i użyć tego adresu do hostowania. Nie jestem w stanie dowiedzieć się, czy jest to w ogóle możliwe LUB jak to zrobić.
Proszę o pomoc? Z góry dziękuję. :)
Tak, na przykład za pomocą analizatora składni XML. Jeśli znasz już MSXML, możesz wykonać ['this post'] (http://stackoverflow.com/a/11254218/960757). To całkiem proste, aby rozszerzyć go do swoich potrzeb. Szybki parser XML dla InnoSetup znajduje się na mojej liście zadań (ale zajmie to trochę czasu). – TLama
Parser/program piszący XML jest niepotrzebną komplikacją, jeśli masz znany, unikatowy ciąg znaczników w pliku szablonu, który możesz zastąpić (podobny do powyższego kodu). Dobrym pomysłem jest jednak, aby móc modyfikować pliki, do których nie można wprowadzić takich znaczników (np. Jeśli trzeba zaktualizować plik już zainstalowany w systemie użytkownika). Należy jednak zauważyć, że powyższy kod zawiera błąd: "DateTime" jest traktowany jako wartość ISPP zamiast funkcji kodu. Powinien być wywołany bezpośrednio, a nie przez 'ExpandConstant'. – Miral
Poprawione. Dzięki za wskazówkę. – RobeN