Giter VIP home page Giter VIP logo

Comments (7)

chrisant996 avatar chrisant996 commented on June 15, 2024 2

You could also run clink set clink.update_interval 30 to make Clink only check for updates once a month. (And if you run into some kind of problem, then check the Releases page and/or run clink update to check if a newer release fixes the problem.)

Another option is for me to publish releases less frequently. They've backed of to an average of once per week, but that's still pretty frequent. I could add an option to choose whether to install pre-release updates or release updates, and make releases infrequent. I keep thinking it's close to having releases be very infrequent, but there keeps being a slow trickle of things that need changes.

from clink.

chrisant996 avatar chrisant996 commented on June 15, 2024 2

I'm working on a more automatic approach to updates.

I have a prototype in progress, where it can be configured to install updates automatically in the background if it doesn't need to elevate (i.e. if it's installed via .zip file instead of the setup exe). And if elevation is needed, then it can pop up a prompt window asking whether to install the update or skip the update or prompt again later.

I'm working on a few last kinks before it's ready for release.

from clink.

chrisant996 avatar chrisant996 commented on June 15, 2024 1

I'm not comfortable with automatic forced updates for Clink, for several reasons. Especially when installed with AutoRun as the potential for conflicts is high.

But if you want to silently update Clink, you can do that with a very tiny script. It doesn't need to be built into Clink.

I'd be more likely to recommend turning off automatic check for updates, and just run clink update manually once a month.

To that end, I have been thinking of adding a flag that checks for an update without doing the update, e.g. maybe clink update --check.

from clink.

chrisant996 avatar chrisant996 commented on June 15, 2024 1

@UweKeim I forgot to mention the main reason why updates require user interaction:

If you used the setup .exe installer, then updates require elevation. It's very insecure to prompt for elevation without the user directly initiating it -- it trains users to expect random elevation prompts as legitimate, which puts them at higher risk for being victims of phishing and malware attack.

Why does the installer require elevation???

  1. So that it can install Clink in Program Files, which requires elevation.
  2. So that uninstall can be performed safely and remove Clink from AutoRun for All Users. Otherwise uninstalling could break all CMD execution for all users if clink autorun --allusers install has been used (note that "all users" includes the OS itself when running processes internally as LocalSystem!).

from clink.

chrisant996 avatar chrisant996 commented on June 15, 2024 1

...and OOPS, the help text for the clink update command still talks about "automatic updates" and still claims "If [an update] is available, it is downloaded and will be installed the next time Clink is injected". But that is not how it actually works -- that text is leftover from when I had originally made updates be automatically installed, and quickly realized why that can't work. I missed removing it.

from clink.

chrisant996 avatar chrisant996 commented on June 15, 2024 1

BTW: Any donation button or something like that available?

Thank you for asking, but nope -- I don't accept donations at this time. πŸ™‚

from clink.

UweKeim avatar UweKeim commented on June 15, 2024

Thank you very much for your replies, @chrisant996. Sounds all completely logical to me.

I'm very happy to use your clink on a daily basis on quite a number of machines. Always happy to see a new update being installed πŸ™‚

BTW: Any donation button or something like that available?

from clink.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.