I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects

Enable updating to/from non `%ProgramFiles%` locations

Merged idk requested to merge settable-paths into master

Closes #13 (closed) and adds "Portable/adminless" installations

Edited by idk

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • idk assigned to @idk

    assigned to @idk

  • idk changed title from Start adding JNA stuff, for now just copied from zlatinb's but I'll need to... to {+Enable updating to/from non %ProgramFiles% locations+}

    changed title from Start adding JNA stuff, for now just copied from zlatinb's but I'll need to... to {+Enable updating to/from non %ProgramFiles% locations+}

  • idk added 7 commits

    added 7 commits

    Compare with previous version

  • There's a lot of changes and I've been trying to follow what is happening, but it's tough. Can you give a summary of how the windows easy install bundle behaves before and after this MR?

  • Author Owner

    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:

    1. 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
    2. Users who are not the admin cannot use the bundle to install I2P under their own user namespace
    3. 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:

    1. 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%).
    2. 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.
    3. 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
  • idk added 1 commit

    added 1 commit

    • e051d409 - add use_system_colors to the prefs.js and user.js files

    Compare with previous version

  • idk added 2 commits

    added 2 commits

    • b8b7a1d2 - 1 commit from branch master
    • a05f3777 - Merge branch 'master' into 'settable-paths'

    Compare with previous version

  • idk added 6 commits

    added 6 commits

    Compare with previous version

  • merged

  • idk mentioned in commit 66864c31

    mentioned in commit 66864c31

Please register or sign in to reply
Loading