Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Portable Snapshot seems to write data in %AppData% #4751

Closed
OLLI-S opened this issue May 16, 2020 · 4 comments · Fixed by #4752
Closed

Portable Snapshot seems to write data in %AppData% #4751

OLLI-S opened this issue May 16, 2020 · 4 comments · Fixed by #4752

Comments

@OLLI-S
Copy link

OLLI-S commented May 16, 2020

Overview

After using the portable snapshot build, the settings in KeePassXC 2.5.4 are messed up (changes are saved immediately, browser-integration is turned off, etc).

Steps to Reproduce

  1. Install KeePassXC 2.5.4 in Windows 10 Pro to the default folder (C:\Program Files\KeePassXC)
  2. Start KeePassXC and change some settings
  3. Exit KeePassXC
  4. Download the portable snapshot build KeePassXC-2.6.0-snapshot-Win64.zip from 15.05.2020
  5. Extract the zip file to any folder (I extracted it in C:\Temp\KeePassXC - Snapshot)
  6. Start the snapshot build, change the theme to "dark" and close it
  7. Start KeePassXC 2.5.4 and check if the settings have changed

Note:
After this problem occurred, I posted this issue without retesting it.
Tell me if I should retest it or if you need my settings files (to check if the snapshot build really wrote in %AppData%).

Expected Behavior

The portable version should never write any data in %AppData%

Debug Info

KeePassXC - Version 2.6.0-snapshot
Build Type: Snapshot
Revision: 287e822

Qt 5.14.2
Debugging mode is disabled.

Operating system: Windows 10 Version 1909
CPU architecture: x86_64
Kernel: winnt 10.0.18363

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • SSH Agent
  • KeeShare (signed and unsigned sharing)
  • YubiKey

Cryptographic libraries:
libgcrypt 1.8.5

@phoerious
Copy link
Member

The portable ZIP from snapshot.keepassxc.org does not have a keepassxc.ini. We add that later with the release-tool, which isn't being used by the CI. So this is not really a bug. We could add the ini via CMake to the install target, then we wouldn't have to repackage the ZIP and snapshots would have it as well.

@droidmonkey
Copy link
Member

I tried the cmake approach in the past..

@phoerious
Copy link
Member

What failed? If its not fixable, we can close this.

@droidmonkey
Copy link
Member

droidmonkey commented May 18, 2020

You have to setup a component build in order to selectively add files to a particular cpack installer. However that brings all sorts of challenges with the installer process. It's really just a mess.

We really should just "touch" a .portable file or similar instead of relying on arbitrary settings ini being in the root directory. This is especially so now that we have local vs roaming settings. On initial load of a portable build we should locate/create a local "config" folder to store the ini's. That will allow for drop in upgrades without overwriting the settings file.

droidmonkey added a commit that referenced this issue May 31, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
droidmonkey added a commit that referenced this issue Jun 2, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
droidmonkey added a commit that referenced this issue Jun 2, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
droidmonkey added a commit that referenced this issue Jun 2, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
droidmonkey added a commit that referenced this issue Jun 3, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
droidmonkey added a commit that referenced this issue Jun 3, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
droidmonkey added a commit that referenced this issue Jun 4, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
droidmonkey added a commit that referenced this issue Jun 4, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
lerignoux pushed a commit to lerignoux/keepassxc that referenced this issue Jul 20, 2020
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix keepassxreboot#4751
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants