bottlesdevs / Bottles

Run Windows software and games on Linux
https://usebottles.com
GNU General Public License v3.0
6.2k stars 258 forks source link

[Request] Install dependencies at once. #595

Closed kreimben closed 2 years ago

kreimben commented 2 years ago

Could you guys PLEASE make check box to install dependencies at one time? For whom want to install all of them.

mirkobrombin commented 2 years ago

Installing dependencies is not a safe practice and must be finely controlled (hence the use of versioning). The only easy way to securely install multiple dependencies is to use the installers. The user should be encouraged to contribute in the creation of installers by helping the project (and other users).

Ref https://github.com/bottlesdevs/programs/blob/main/GUIDELINES.md

bayazidbh commented 2 years ago

Although this issue is marked as closed, I'd just to add a +1 on some sort of non-installers based method of either downloading or installing dependencies.

I appreciate both Installer and Versioning. Versioning especially since with Winetricks, some dependency might fail installing and Versioning is an easy way to backtrack potential issues. But I regularly distro-hop and am a VN player which means that I often reinstall a lot of dependencies.

I saw that Trento has a dependency management in the roadmap, but being able to queue up installs of dependencies without constantly rechecking if the previous dependency is finished installing so the button is no longer greyed out or manually creating an Installer on Treviso would be nice.

mirkobrombin commented 2 years ago

Although this issue is marked as closed, I'd just to add a +1 on some sort of non-installers based method of either downloading or installing dependencies.

I appreciate both Installer and Versioning. Versioning especially since with Winetricks, some dependency might fail installing and Versioning is an easy way to backtrack potential issues. But I regularly distro-hop and am a VN player which means that I often reinstall a lot of dependencies.

I saw that Trento has a dependency management in the roadmap, but being able to queue up installs of dependencies without constantly rechecking if the previous dependency is finished installing so the button is no longer greyed out or manually creating an Installer on Treviso would be nice.

Our dependency manager is already available and ready-to-use in current stable release 👀

bayazidbh commented 2 years ago

Our dependency manager is already available and ready-to-use in current stable release 👀

Ah, sorry, mind directing me? I was thinking about this one:

Screenshot_20211120_235931

And I appreciate it, but I prefer a checkbox queue approach like with Winetricks. Or alternatively just not greying out the button while installing, so it could be queued. I'm currently using Treviso-4, and sorry if I'm mistaken about something?

mirkobrombin commented 2 years ago

Our dependency manager is already available and ready-to-use in current stable release eyes

Ah, sorry, mind directing me? I was thinking about this one:

Screenshot_20211120_235931

And I appreciate it, but I prefer a checkbox queue approach like with Winetricks. Or alternatively just not greying out the button while installing, so it could be queued. I'm currently using Treviso-4, and sorry if I'm mistaken about something?

The screenshot show our dependency manager, independent from winetricks. With the current codebase we could allow to select multiple dependencies, creating an installation queue. However, I have to reflect whether this is advisable or not because despite the versioning (currently in the experimental phase and therefore not active by default) which protects against any risks, the installation time could become extremely long and if the user interrupts the process (at the moment ) breaks everything and the bottle becomes unusable.

bayazidbh commented 2 years ago

Ah, so it has been considered. Thank you for that.

Regarding user interrupt, I saw that Trento will be decoupling the GUI and the libbottles. One way to do it would be to prevent the GUI from closing if an ongoing install is underway (though if Bottles ever do a system tray, then it should be fine to Close to Tray) but regardless if the GUI crash or the user forcibly closed it, the libbottles will carry on the operation.

Alternatively, if any dependency or Installer process did not report successful install, a pop-up offering an automatic rollback? Could used both in case the install fail but the GUI is fine as well as a check at start-up in case it crashed.

I admit it might be too much of a trouble and feature creep, but honestly a dependency approach like Winetricks' GUI would be rather convenient.

Well, I'll leave the decision to you, I just wanted to say that there are still interest in this feature and didn't want to open a new issue, thanks for listening.