The only path for now may be to remove the systemprofile time bomb from the manual steps. Probably any reasonable folder OTHER than the one that steps now give will be safe from twice-yearly Windows clobber.
I’d think that’s kind of awkward to write into a beautiful step-by-step, so perhaps it’s time to pick something. There are many discussions around (Google can help find them). Maybe we need an “executive decision”.
Sorry to resurrect what’s been said here and elsewhere, but it seems a key issue as steps get polished up. Someday there may be code for this, and for initial install as a Service. Meanwhile, How-To has 8.9k views.
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.
Attempts to solve the problem with C:\Windows\System32\config\systemprofile\AppData\Local\Duplicatideleted with windows upgrades (called windows updates in windows 10)
Stop the tray icon if you currently have it running
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.
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.
Open a command prompt as an administrator (right click and select “Run as administrator”) and run Duplicati.WindowsService.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 )
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.
Once the service has been started go ahead and close the command prompt window (we’re done with it now)
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.)
Use the “Move existing database” feature for each existing backup set
Click on one of your backup sets to open its drop-down menu
Click on “Database” under the “Advanced” heading
Under the “Location” section, click in the “Local database path” field. (Note, the buttons underneath are grayed out until the path actually changes.)
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
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.
Repeat these inner steps 1 to 5 (8.1. to 8.5.) for any other backup sets you have
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.
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.
For those that might encounter it… I did get an error when I tried to install the service with the option to locate Duplicati-server.sqlite in the new folder but not because I didn’t have elevated access. Basically the error said the service already existed (apologies for not copying the details). So I first uninstalled the service and then installed with the --server-datafolder option and it was successful.
The other thing is a minor spelling issue that caught me via Copy/Paste.
In the upper portion of step 4 it is written: WindowService.exe (missing the ‘s’) but just below it is correct as WindowsService.exe
I managed to solve the issue like this:
I stopped the service manually, renamed the Duplicati-server.sqlite file and started the service again.
I finally got the web server started and I could access the web GUI with no jobs (I only had 1 previously) and with the default settings.
One thing I noted, I was running the version 220.127.116.11_canary_2020-09-26, but the service launched the version 18.104.22.168_canary_2018-03-16. I had to upgrade again to the latest version, already available on the folder C:\ProgramData\Duplicati\updates\22.214.171.124\
I’m wondering if the issue I’ve seen was due to a mismatch between the db version (last used on 126.96.36.199) and the expected one from the 2+ years old version 188.8.131.52 that was launched.
Anyway, it’s solved. Luckily I had just 1 job and I had a backup of it’s configuration.
a. C:\ProgramData\Duplicati\updates (most Windows service instances)
b. C:\Users\<Duplicati user account>\AppData\Local\Duplicati\updates\ (most Windows user / tray-icon instances)
so one might think it left a non-service-install update behind in your user profile, except you say it was alaready where it should be for a service (are there dates on files to show how long it was installed?).
If the problem was still sitting there, one can use Task Manager to check process Properties to check version information by the path to the executable, but it’s too late now. Regardless, I’m glad you’re up.
The renamed Duplicati-server.sqlite might have the old job info in it, but you already set up a new one.
The guide works perfectly but I did notice a small issue that may affect some users.
When moving my existing backup sets that contained selections in the User data folders section they will need to be updated to use the full path in the Computer section to get to that users data instead.
This should be expected but I had overlooked it, now that Duplicati is running as under the local system account those selections are no longer valid and you will get an error when trying to run the job something about %documents% not being found or valid (sorry didn’t get a screen cap).
Before the change I was backing up my Desktop and Documents folders as shown in image 1.
Now that Duplicati is running as a service I need to specify my Desktop and Documents folders via full path in the Computer section as shown in image 2. Notice how the User data now only contains Application Data and Home and neither contain anything of use.
The next time the backup runs it will take a bit longer than usual while it figures out that nothings really changed but it still has to do some housecleaning on the paths.
I also renamed the Duplicati folder in my user profile to C:\Users\Jimbo\AppData\Local\DuplicaiOld so I don’t accidentally launch the “old” tray config (which will now run @ 8300) but that is totally optional and will be deleted once I’m confident I’ve update all my trayicon shortcuts.
Adding the --no-hosted-server to the tray icon worked like a charm for me, don’t forget to update the shortcut on the Start Menu, right-click More, click Open File Location. In the window that opens right-click on the Duplicati 2 icon and add the --no-hosted-server to the end of the target path. Can also be found directly via C:\ProgramData\Microsoft\Windows\Start Menu\Programs
My power shell script still runs jobs like it should and VSS is now working so I’m really quite pleased, thanks again.
If you use the Tray Icon and have password protection on the web user interface, then you will need to add additional parameters to the Tray Icon shortcut for it to work, after migrating Duplicati to a service.
Open the folder: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Right-click the ‘Duplicati 2’ Shortcut → Properties → Remove what is currently in the ‘Target’ field and replace it with (adjust the path accordingly between the quotes of --server-datafolder=“”):
So, for example, in the latest instructions in post 46 from @johnvk , the Duplicati Data Folder is now at “C:\ProgramData\Duplicati\Data” (where the sqlite files now are), so the ‘Target’ field of the ‘Duplicati 2’ shortcut should be:
Furthermore, as @JimboJones points out, in the same way, don’t forget to also correct the (actual) Start Menu shortcut in the folder of: C:\ProgramData\Microsoft\Windows\Start Menu\Programs (scroll to find it in there!)
…and you may also find a shortcut on your Desktop, which also requires correcting in the same way (located in: C:\Users\Public\Desktop).