我有一個WCF服務,我作爲Windows服務託管。我通常會轉到VS命令提示符並使用installutil.exe安裝服務,然後根據我正在安裝它的計算機名稱修改app.config中服務的基本地址並運行服務。Inno Setup當您運行setup.exe時修改app.config文件
基址是這樣的:
<endpoint address="http://MACHINE_NAME/NFCReader/" binding="webHttpBinding"/>
我修改app.config文件中MACHINE_NAME。
我想用inno setup來爲我做同樣的事情。
我想要的是,當用戶運行setup.exe文件來安裝服務時,我想提示用戶輸入服務的基地址並使用該地址來承載它。我無法弄清楚是否有可能或如何去做。
請幫忙嗎?提前致謝。 :)
是的,例如通過使用XML解析器。如果你熟悉MSXML,你可以按照['這篇文章'](http://stackoverflow.com/a/11254218/960757)。將它擴展到您的需求非常簡單。 InnoSetup的快速XML解析器位於我的任務列表中(但需要一些時間)。 – TLama 2013-03-25 15:07:32
如果在可替換的模板文件中具有已知唯一標記字符串(類似於上面的代碼),則XML解析器/寫入器是不必要的複雜操作。但是,如果您需要修改不能插入這些標記的文件(例如,如果需要更新已安裝在用戶系統上的文件),那麼這是一個好主意。但請注意,上面的代碼有一個錯誤:「DateTime」被視爲ISPP值而不是代碼函數。它應該直接調用,而不是通過'ExpandConstant'。 – Miral 2013-03-26 20:05:35
更正。謝謝你的提示。 – RobeN 2013-03-27 09:00:04