Please make DeltaChat for Windows a truly portable/standalone program

I just checked https://github.com/deltachat/deltachat-desktop/releases to see whether a new desktop version is ready and was happy to see that indeed there is!
However for Windows users just a setup-variant is offered in contrast to the previous version which was also offered as just a zip-package to extract an run. I need the latter so please bring it back!
Greets!

mmm… I’m not a Windows user, but did you tried to install it in your machine and then to copy the generated folder in an USB and use it as portable in another machine?

No, I didn’t try that since I don’t want to execute an installer. I just wanted to update my already existing and setup Delta Chat to the newest version. Many people in restricted Windows-environments don’t even have the possibility to execute an installer.

I believe that installer can be run locally. But you’re right “portable” executable is nice to have on windows. Though that doesn’t mean that the data isn’t saved on the local computer in the AppData folder.

1 Like

I knew that of course but had not yet checked whether that is the case with DeltaChat. I did investigate that now though and sadly have to report that DeltaChat indeed stores the userdata in the AppData directory.

So my request is now expanded in that I strongly suggest releasing a true portable/standalone DeltaChat version. I therefor change the topic of this thread. Should I file a request in the bugtracker or is that spamming the tracker? I don’t get the feeling that the forum is taken very seriously by the developers.

I’m one of the desktop developers… hehe…
It’s not 100% easy to make such a true portable thing, because it would need a seperate build process.
I’ll bring this up when we automate the build process.

1 Like

:blush: Oh ok, cool that you’re participating here!

Thanks very much for looking into it, I’m looking forward to any developments in this direction.

Do you know if I could do any meaningful testing of the desktop client in the meantime by just extracting the necessary files out of the setup executeable or would DeltaChat miss registry entries etc.?

If you want you can try to to change the filePath in this file:

But I guess we need a small refactoring here, because the application-config module is also used in saving the config file.

The whole thing then would be conditional, so the change is only made in portable builds.
And the path would be set to sth like processWorkingDirectory/DeltaChatData

1 Like

I did not find the “application-config.js”-file after extracting “DeltaChat.Setup.0.840.0.fixed.exe” so I guess I’d need to compile the whole thing myself. That’s a bit too much for a noob like myself.

It’s not that hard to setup a dev enviroment:

  1. install https://nodejs.org/en/
  2. install https://git-scm.com/ (maybe you also want https://tortoisegit.org/)
  3. Make sure you have both programs in the your PATH environment variable.
    3b. optionally install a code editor to make you life easier like https://code.visualstudio.com/
  4. do a git clone https://github.com/deltachat/deltachat-desktop.git in the terminal
  5. change into that directory: cd deltachat-desktop
  6. run npm i

after you made a change run npm run build and to package it you can run npx electron-builder --win portable

I’ll look at it, see this post as a guide when you feel like tinkering with the code.

1 Like

Looks like you can already start deltachat in a portable mode -> just set the environment variable TEST_DIR to a directory path of choice and run it.
Now we only need to make that process easier / turn it on by default for the portable exe.

1 Like

Made a PR for it add command to make portable builds by Simon-Laux · Pull Request #1138 · deltachat/deltachat-desktop · GitHub

Would be awesome if somebody could put a version on https://portableapps.com/ :wink:

The portable files will be in the next release.

3 Likes

Awesome! Thanks very much!
I have created an account on portableapps.com now, but as far as I can see that still doesn’t allow me to add software there. All I could do is use the request section of the forum to request DeltaChat being added. I’ll wait with that until the next DeltaChat release with the portable capablity is available.

They have special packaging tools there so maybe they wanna build it from scratch, too?
Also the localstorage and electron browser data is still local, we need to compile our own electron to avoid that I guess. But this fact is not important IMO.

Nothing urgent, lets just keep PortableApps.com in mind for later.

1 Like

Ok! I’m subscribed to this thread obviously so let me know if/when I should do something on PortableApps.com.

1 Like

So I just checked out https://download.delta.chat/desktop/0.901.0/ and found the choice between “DeltaChat 0.901.0.exe” and “DeltaChat Setup 0.901.0.exe”. I guess the former is supposed to be the portable/standalone variant and I could successfully launch it, import my DeltaChat-backup .bak-file and then use it, but after closing it and launching it again I was greeted with a naked DeltaChat again without any of my data. Is that a bug, is it just known to not be ready yet or did I do something wrong and I need to start it with an argument or extract the whole thing manually perhaps?

We investigate the issue ↑

Update: will be fixed with in next release.

1 Like

Maybe we can use https://www.electronjs.org/docs/api/app#appsetpathname-path to move the electron related logs and things like localstorage also to the portable data folder.

https://github.com/webtorrent/webtorrent-desktop/blob/3a4ba6af37b17ba0e8c4e185a6370213de6d39fe/src/main/index.js#L62
can serve as reference here.

1 Like

The portable desktop client is now available on get.delta.chat!

Thanks to everyone who put their effort into this.

3 Likes

The exe-file for the portable version needs to get a constant filename otherwise the user has to change links to it in his desktop environment everytime he downloaded a new version. If the user needs to find out the version he has “installed” he can do that inside DeltaChat’s GUI.