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

Option to create new Container #1143

Open
aligator opened this issue Nov 6, 2017 · 27 comments
Open

Option to create new Container #1143

aligator opened this issue Nov 6, 2017 · 27 comments
Labels
new feature POL 4 features Features that are currently supported by POL-4
Milestone

Comments

@aligator
Copy link

aligator commented Nov 6, 2017

I often create new containers without a installation-script in the old PlayOnLinux.

This option is missing in POL 5.

@aligator
Copy link
Author

aligator commented Nov 6, 2017

I tried it myself:

create-button

Maybe something like that?

Code:
aligator@0a3f0a1

But this button has currently no function and I have no idea, how to add a new Container.
I need something like a wizard for this. How do I create one?

@madoar
Copy link
Collaborator

madoar commented Nov 6, 2017

@aligator I'm not sure I understand what this new function should do.
To create a new container and to install a local installer file inside it, you can use the Custom Installer application.

@aligator
Copy link
Author

aligator commented Nov 6, 2017

Ah, ok.
In the old POL I was used to create the prefixes with the button below of the list of prefixes.
new
And for me it is more natural to create new Containers on the Container-Page.

I didn't knew that the Custom Installer application exists.
Maybe there should be a hint on the container-page if someone else is searching for it like me.

@madoar
Copy link
Collaborator

madoar commented Nov 7, 2017

@plata what do you think about this?
I personally agree with @aligator, that it would be useful to provide multiple points, from where you can install local applications, and create new containers.

@plata
Copy link
Collaborator

plata commented Nov 7, 2017

@aligator can you describe the use case a bit more, i.e. how would you like to use this? If we add a button to create a container, you will have an empty container afterwards (e.g. an empty Wine prefix). I don't quite understand how this should be useful (maybe I'm missing something).

@aligator
Copy link
Author

aligator commented Nov 7, 2017

You are missing nothing.

With the old POL I created a new Container with that button and after that installed something.
And with the new one I just tried the same, because I didn't knew there is the custom installer-option. I didn't even thought that it could be that way...

I don't know if I am the only one who used the old POL like this.

I think it would be good either to add a button which starts the custom installer or,
if you don't want the same functionality twice in different places, add a little hint that the custom installer exists.

@plata
Copy link
Collaborator

plata commented Nov 7, 2017

I understand. I have to think about it.

One problem is that you can have different kinds of containers (Wine, ScummVM etc.). So we would first need a mechanism to let you select which type of container you would like to create.

@echonaut
Copy link

echonaut commented Jan 3, 2018

There is absolutely reasons for having empty containers, mostly because you're going to prepare it to do something else.

For example: there are a lot of games that require lots of different tweaks and changes to run in Wine, and having an empty Wineprefix is helpful in staging all the necessary things needed to make them run. An empty prefix isn't intended to stay empty; sometimes it's simply nice to have granular control over this that isn't forced to run an application or a script whenever a new container is made.

@plata
Copy link
Collaborator

plata commented Jan 12, 2018

@echonaut I get your point. However: Is this really a use case that we should support? Wouldn't a user who knows how to apply all those tweaks and changes use plain Wine directly (i.e. what's the advantage of using Phoenicis in your described use case)? Shouldn't anyone who knows how to apply all those tweaks and changes implement a script which makes the game accessible for everyone?

@aligator
Copy link
Author

At least I like to use POL for this, because it is a nice GUI to manage the different prefixes.

Shouldn't anyone who knows how to apply all those tweaks and changes implement a script which makes the game accessible for everyone?

Yes, of course. But as I said, POL is a nice GUI to mange the prefixes and experiment with the tweaks.

@plata
Copy link
Collaborator

plata commented Jan 15, 2018

Couldn't you utilize the custom installer script for this? Or if not, a slightly modified version of it?

@plata
Copy link
Collaborator

plata commented May 9, 2018

It should now be possible to implement this.

The way to do it is:

  1. Add "Create container" button in "containers" tab
  2. When clicking "Create container":
    a. Show pop-up to select engine (use EnginesManager#getAvailableEngines)
    b. Show pop-up to create container for this engine (use Engine#createContainer)

One open question is how to present the available engine versions (required for createContainer). This is basically the same issue we have for changing the engine version of an existing container.

@madoar
Copy link
Collaborator

madoar commented May 17, 2018

I believe we should reuse the engines view, we already have.
To use the existing engines view, we need to make it more generic, so that it can be used for other functions than only the management of the installed engines.

@plata
Copy link
Collaborator

plata commented May 17, 2018

Can you do a sketch/drawing how you imagine it to look like?

@tabashir
Copy link

This is definitely a use case for me too. I have a bunch of applications that I keep copies of over the years. Most of these are not in exe/msi install format but are simply zips of the program folder itself.

The way I'd install these would be:

  • use PoL to create a wineprefix of whatever version/arch wine I know will run the app
  • unzip the folder inside it (usually to c:)
  • I then use the 'Make new shortcut from this virtual drive' button in the configure>General tab to create the link to run it.

Some games (P1999/TAK for example) have an msi or updater that does not generally work under wine, although if you copy an install from windows, it plays fine. This is the only way these can be installed.

Also, I use PoL to test running a program under different versions of wine. Changing this appears to be missing in the GUI. I have tried editing the phoenicis.cfg file to point to a new version of wine and this seems to work (at least for 7-zip). Is this the correct way to do this or are there likely to be unforeseen side effects?

@plata
Copy link
Collaborator

plata commented Aug 13, 2018

Editing the phoenicis.cfg is the way to go right now. There will be an option in the GUI in the future.

@madoar
Copy link
Collaborator

madoar commented Aug 20, 2018

I'm not sure a sketch is really needed.
My suggestion is to directly use the visual component from inside the engines tab to update the engine of a container.

@plata
Copy link
Collaborator

plata commented Aug 21, 2018

My problem is that I cannot imagine how that view could fit into the containers tab. Apart from this, we must consider that it's e.g. not possible to switch a 32bit container to 64bit.

@tabashir
Copy link

Not being able to switch a container from 32>64 is not an issue. This was never possible previously to my knowledge. It was about being able to initialise a container (choosing 32 or 64 bit at that point) with the base windows files then copy/unzip in the files for the program you want to run as a second step.

@tabashir
Copy link

How it currently works:

Virtual Drive list ("New" button at bottom)
drives_config
Click New, get start of creation wizard
new_vd
Click Next, get choice of Architecture
choose_arch

@plata
Copy link
Collaborator

plata commented Aug 22, 2018

@tabashir the 32/64bit issue was only referring to @madoar's proposal to reuse the view (it contains all available versions). However, that's more related to changing the Wine version of an existing container.

My main problem here is that installation wizards like you showed above are controlled from the scripts in Phoenicis. If the "create container" script, however, is part of the scripts repository, we cannot call it from the software directly because it might just not exist. What we could consider is the following: provide a set of special scripts as part of the software itself. Then, a "create container" button could execute that special script which would trigger a normal installation like the CustomInstallerScript.

@madoar
Copy link
Collaborator

madoar commented Aug 22, 2018

@plata don't we already have a builtin repository, which we could use to provide such a script?
I believe we can use the classpath repository as the location for a CustomInstallerScript script, right?

@plata
Copy link
Collaborator

plata commented Aug 23, 2018

Yes, but I don't think that we can use the classpath repository because than it will not work if someone removes it.

Maybe it would also be possible to use the Java API for JS from the software directly.

@qparis qparis added this to the beta milestone Jan 6, 2019
@qparis qparis added the POL 4 features Features that are currently supported by POL-4 label Jan 6, 2019
@qparis
Copy link
Member

qparis commented Jan 6, 2019

I think this feature is important and needs to be a milestone for the beta

@opticyclic
Copy link

Most of the time my experience with PlayOnLinux was installing applications that didn't have a script.

It was a nice convenient wrapper for managing Wine versions and managing wine prefixes.

Typically, I would use the Manage Wine Versions to install different versions of Wine.

I would then "Install a non-listed program" which would take me through the process of creating a new drive, configuring wine and running the installer etc.

This workflow appears to be lost in Phoenics.

I just built from master and didn't see any Create Container option or Custom Installer option.

@qparis
Copy link
Member

qparis commented Jan 3, 2020

+1

@plata
Copy link
Collaborator

plata commented Jan 3, 2020

@opticyclic the custom installers are available from the apps tab. You can choose "Local Installer" or "Online Installer".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature POL 4 features Features that are currently supported by POL-4
Projects
None yet
Development

No branches or pull requests

7 participants