Currently I have to uninstall the old version of my service before I install the new version. I am pretty sure this has something to do with it not being smart enough to upd
You can make separate DLL which service would load and call every time it does its work. Make sure that service unloads DLL after use.
Use should load it into separate Application Domain.
SO http://msdn.microsoft.com/en-us/library/c5b8a8f9.aspx