Migrating from User to Service install on Windows


Sysinternals Autoruns can find and control launch. On my Windows 10 system, it found tray icon launching in:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup (agreeing with you finding here).



I’ve build myself a workaround:
I’ve created a planned task that starts the Duplicati GUI at Startup, with the Admin-Rights of my personal user.
This way works with VSS and without login, but could keep all my made settings.
On the other hand the tray icon seems gone for now, but i quite liked it.
The --no-hosted-server parameter only wokrs when its startet as a service, but in my case its startet as the GUI Icon, the icon just never establishes in the tray-bar.
Is there a way to bring it back when I log in?



The problem you’re having is that Duplicati.GUI.TrayIcon.exe is correctly started with privs and your user name, that’s why it works, but if you start it “at startup” it cannot connect to the “desktop” (since no user is logged in yet) and so does not show up in the system tray.

I don’t know any solution to that problem.



Building on @ravisorg post 38

Version 3

Attempts to solve the problem with C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati deleted with windows upgrades (called windows updates in windows 10)

  1. Stop the tray icon if you currently have it running
  2. Create a folder called C:\ProgramData\Duplicati\Data **
    (this is what solves the windows update problem)
    (If you’re running portable, choose a dir under the program directory, eg D:\Duplicati\Data)
    **If you are prompted to give yourself access when accessing folders on the way to C:\ProgramData\Duplicati\Data, confirm that you want to continue or accept.
  3. Move the file C:\Users\[your user name]\AppData\Local\Duplicati\Duplicati-server.sqlite to the folder you created in step 1, so that you end up with C:\ProgramData\Duplicati\Data\Duplicati-server.sqlite
    **If you were running the portable version, your “from” location may be C:\Program Files\Duplicati 2\Data\Duplicati-server.sqlite instead, in which case you might not have to choose a new directory nor move anything, or from might be D:\Duplicati\Data instead, in which case you can leave it there–it’s not subject to the windows 10 update problem.
  4. Open a command prompt as an administrator (right click and select “Run as administrator”) and run Duplicati.WindowService.exe install --server-datafolder=C:\ProgramData\Duplicati\Data in your Duplicati install folder (likely "C:\Program Files\Duplicati 2\Duplicati.WindowsService.exe" install --server-datafolder=C:\ProgramData\Duplicati\Data )
  5. If you get the “Installation has completed” message, you can start the service with sc start Duplicati (or use the Windows “Services” GUI, or reboot, your choice)
    But if you get an error such as the following then you probably didn’t open your command prompt as an authorized administrator, try again
    System.UnauthorizedAccessException: Access to the path 'C:\Program Files\Duplicati 2\Duplicati.WindowsService.InstallState' is denied.
  6. Once the service has been started go ahead and close the command prompt window (we’re done with it now)
  7. Open a browser window and go to http://localhost:8200 to make sure the service is working and found your existing settings (if that fails but http://localhost:8300 works, then you may have forgotten to stop the tray icon, actually if :8300 works, then somethings wrong. Just :8200 should work normally.)
  8. Use the “Move existing database” feature for each existing backup set
    1. Click on one of your backup sets to open its drop-down menu
    2. Click on “Database” under the “Advanced” heading
    3. Under the “Location” section, click in the “Local database path” field. (Note, the buttons underneath are grayed out until the path actually changes.)
    4. Replace the text C:\Users\[your user name]\AppData\Local\Duplicati\ part with C:\ProgramData\Duplicati\Data\ , leaving the XXXXXXXXXX.sqlite part alone. So you’ll end up with something like C:\ProgramData\Duplicati\Data\ABCDEFGHIJ.sqlite
    5. If this backup set has already run at some point, click “Move existing database”. If the move button is disabled because the backup hasn’t run yet, click the “Save” button instead.
    6. Repeat these inner steps 1 to 5 (8.1. to 8.5.) for any other backup sets you have
  9. The Tray icon is no longer needed so you can remove Duplicati from your Startup programs (on my system this was found in C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp ). However, if you like having the icon around then be sure to update the properties of any shortcuts to it (such as in the Startup folder) to include --no-hosted-server parameter** (this goes outside (after) the double-quotes) as part of the Target field (this tells the Tray Icon to connect to the service instead of starting it’s own instance).
    ** Note there’s an outstanding issue where the tray icon doesn’t work with this parameter. You can still set it up and try it, and when the bug is fixed it should start working again.

Fatal error System.Exception: Detected non-empty blocksets with no associated blocks!
Job log-file missing after migrating from user to service installation
Windows Service Alternative

Hi all!

I normally install Duplicati as service because it’s more convenient but I’ve run into a problem. I need to install Duplicati as service in a PC where other service is already listening on port 8200 and cannot be changed. I found that the default port can be changed when using the tray icon but I can’t find how to change it when running as service.

I hope somebody can help, thanks in advance!



Duplicati.WindowsService.exe accepts the same command line options as Duplicati.Server.exe. Just add the --webservice-port to the install command, something like:

Duplicati.WindowsService.exe install --webservice-port=8300


Worked like a charm :grin:

Thank you!