Ask your service to accept the argument for registering yourself as a service:
MyService.exe /i
In your service you check this argument and, if there is one, get a service for registration:
ManagedInstallerClass.InstallHelper(args);
See my answer to this question for more details. Thus, you can force the user to register the service through the command line.
If it is still too complicated for your users, you can use Environment.UserInteractive to check if the user has been double clicked on this service. If so, install / uninstall the service. If not, start the service (this will be the route that starts when the service starts through the services applet and when the machine starts).
source share