WindowsサービスとしてホストしているWCFサービスがあります。私は通常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に精通している場合は、['this post'](http://stackoverflow.com/a/11254218/960757)に従ってください。それはあなたのニーズにそれを拡張することは非常に簡単です。 InnoSetup用の高速XMLパーサーが私のタスクリストに載っています(しかし時間がかかります)。 – TLama
置き換えることができるテンプレートファイルに既知の一意のマーカー文字列がある場合(上記のコードに似ています)、XMLパーサ/ライターは不要です。ただし、そのようなマーカーを挿入できないファイルを変更できる必要がある場合(たとえば、ユーザーのシステムにすでにインストールされているファイルを更新する必要がある場合など)、良い考えです。ただし、上記のコードにはバグがあります。「DateTime」はコード関数の代わりにISPP値として扱われています。 'ExpandConstant'ではなく、直接呼び出されるべきです。 – Miral
が修正されました。先端に感謝します。 – RobeN