In case it helps anyone, I use RBTray (http://rbtray.sourceforge.net/) to minimize windows to the notification tray, so have just done the same with syncthing, sure it isn’t pretty but gets the job done for now with little effort. and then add it to autostart on login.
I write to let you know I have not forgotten or abandoned the idea. I need to get the permission to do this from the developer that originally designed the framework. Even though I have made many modifications, much of his code is still there. Futhermore I am in the process of adding the ability to log to Event Log and use it to start executeables and dll files directly without any coding at all. I will update you once I have made some progress with the licensing.
I create a solution, with some C code. It starts the Syncthing without the console window, using the Windows API. After the Syncthing hidden execution, my program is closing and leave the Synchting running at the background.
No installation or configuration is required. Just put the program at the same folder with the Syncthing and run it.
http://www.pegtop.net/start/
This is a nice, flexible and portable little launcher I’ve been using for a few years. If you set this to start at boot, you can then autostart any program/script. Very handy.
Only thing I can’t make work is the -no-console command. Nothing happens.
I like to use NSSM (Non-Sucking Service Manager) for executables that aren’t service aware. You can download it here:
https://nssm.cc/download
Extract a copy of NSSM.exe and drop it in the same folder with Syncthing.exe. Then open a command prompt from that folder and type this:
nssm install Syncthing
Then browse for the Syncthing.exe and then set the home path with the -home option. Here is a screenshot of how mine is setup:
This seems to be working perfect so far. Even when restarting from the webui.
Edit: Duh, I see NSSM has already come up several times in this thread. Hahaha
On Windows (10) I would recommend to follow the Syncthing documentation. But it could be updated:
1. Hit the Windows key + X
2. select "Command Prompt (admin)" this will open a command prompt with admin rights
3. copy and paste this command and hit enter, change the path your your Syncthing executable if necessary:
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "My App" /t REG_SZ /F /D "C:\Program Files\Syncthing\syncthing.exe -no-console -no-browser"
This will add Syncthing to Windows Autorun for all users. Syncthing will start after login which is highly recommended. Also, the webUI works and you can restart Syncthing flawlessly from the WebUI Settings.
This is almost perfect: I do not know how to set the priority to low, which most people probably want to have.
I would advise against distributing something which runs Syncthing as a privileged user. This has security implications which new users will likely not understand: see the docs pages for more details.
Why not put the config in ProgramData, rather than polluting C:?
Not allowing Syncthing to auto update seems like a pretty severe limitation, as users will not get security fixes.