Enable updating to/from non `%ProgramFiles%` locations
Closes #13 (closed) and adds "Portable/adminless" installations
Merge request reports
Activity
assigned to @idk
added 7 commits
-
74d5ccc4...99ef12af - 6 commits from branch
master
- 73f94a12 - Merge branch 'master' into 'settable-paths'
-
74d5ccc4...99ef12af - 6 commits from branch
Most of it is there to spot admin vs non-admin installs and react accordingly.
Before: I2P Easy install must be installed to
%ProgramFiles%
, and must be run using a config in%LocalAppData%
. Moving either of these results in the scripts used to launch the router and the apps breaking. Some of the consequences are:- Installs can't be fully "Silent" they will always require at least one privilege-elevation prompt to gain access to the
%ProgramFiles%
directory, including during updates - Users who are not the admin cannot use the bundle to install I2P under their own user namespace
- In various places, essential settings are hard-coded compounding the immovability issue
After: I2P easy install may be installed anywhere, with
%ProgramFiles%
replaced as a default when running without admin rights. Without admin rights, the everything goes into directories in%LocalAppData%
, and with admin rights,%ProgramFiles
is still used. It also allows setting the default path to the package and configuration directory by overriding environment variables before running the application. This way:- New installs will be able to update silently because there are no privileges required to successfully run the installer with a target the user can write to(
%LocalAppData%
). - Installation can be performed without root anywhere the user has permission to run an application, which is usually anywhere they can write unless there's a group policy.
- No more hard-coded settings essential to the running of the router
Turns out, a TON of the stuff I did early on depended on I2P being in the same place the scripts expected it, so basically, this disentangles those expectations from the installer.
Edited by idk- Installs can't be fully "Silent" they will always require at least one privilege-elevation prompt to gain access to the
added 1 commit
- e051d409 - add use_system_colors to the prefs.js and user.js files
added 2 commits
added 6 commits
-
a05f3777...a20b8ff4 - 5 commits from branch
master
- c426b73d - Merge branch 'master' into 'settable-paths'
-
a05f3777...a20b8ff4 - 5 commits from branch
mentioned in commit 66864c31