Hi,
With regards to custom forms during the install process, I *believe* it's
possible but you may find the Setup project quite restrictive in that sense.
Often times I've found that VS's Setup projects don't offer enough
flexibility for things like that (I am by no means a Setup expert though,
and could well be wrong).
If it were me, I'd have a settings file (XML or otherwise) residing
somewhere easily accessible (AppData folder) and have a separate config app
to edit it. The service .exe just reads the settings and uses them. You
could probably shell out to the config app as soon as Setup completes
successfully, indicating to the user that they must first configure the
settings before they can run the service successfully.
Of course then you have a minor challenge of having the service pick up the
new settings, but you could accomplish that by having the config application
automatically restart the service, or even use the FileSystemWatcher object
within the service to detect changes to the config file and respond
accordingly. Alternatively, it could just re-read the settings every 5
seconds or so, but that could be a tad inefficient!
As for the Add/Remove "Repair" option, I've found that if you've installed
the product and you then try to run the installer again (or even do an
Add/Remove from control panel) it should give you two options: Repair or
Remove. Repair should just run the install again in a moderately silent
mode, overwriting any binary files that are older than the ones it's
instructed to install.
For some deep customisation of a Setup project, Orca (available as a free
download from MS) is capable of editing the internal database of an MSI file
and no doubt doing various other things, but it's not for the faint hearted.
I looked up a relatively simple "How to create an MSI patch file with Orca"
from the MS webby, and found myself deciding not to bother investing too
much time into it.
There is yet another tool out there called WiX which many people swear by.
It's an open-source project on SourceForge and basically takes XML files as
its input in order to generate MSI files. I've personally never tried it,
but some users are pushing for WiX to replace the default Setup project in
VS (maybe it really is that good!). If you're doing a lot of Setup work, it
may well be worth investigating, but I suspect there's a learning curve
associated with it.
Be nice if MS would ramp up the Setup templates for VS and give them some
real power, other than just "Here's how you can do a fairly mundane default
install of your application". They seem to be lagging far behind in that
area....
-Alex