Bundled (Portable) Wine

Questions about Wine on Linux
Locked
kktsuri
Level 2
Level 2
Posts: 17
Joined: Mon Jun 30, 2014 12:31 pm

Bundled (Portable) Wine

Post by kktsuri »

Wine is by far my favorite software for many many reasons but one of them is that I prefer to run portable applications, i.e those that don't need installs. Windows has strong APIs and superb backwards compatibility in the ABI, and obviously wine does as well since it has to run them, which is why I usually pick Windows versions of simple apps if they run just fine in wine over native linux versions...

What I'm getting at is that I really like software that doesn't have to be "installed", so it doesn't touch system stuff. There's also tons of Windows apps that are "portable" in the sense that you just double click them and they launch, no installer whatsoever (work the same with Wine, too).

But now I'm wondering if there's a way to bundle wine like this? I mean sure, I can compile wine and not do 'make install' at the end and just move the output where I want somewhere in my home folder. That's basically what I want except that this does not solve wine's dependencies in regards to portability. On Ubuntu I can even extract the wine .deb packages from PPA manually with dpkg to get this "portable wine" that I can put anywhere in my home folder (of course I keep the hierarchy inside of 'wine') and use environment variables properly to point to the new wine paths.

But what about the dependencies, is there a safe way to resolve all of wine's dependencies like this? Extract them to some folder within ~ and append that path to LD_LIBRARY_PATH so that it loads them (if not found elsewhere). I don't know if this is feasible or "safe", since I just want to be able to put the entire thing maybe even on a USB drive.

Then I can take the USB drive on any computer with a modern Linux distro (not necessarily Ubuntu) and just run the Windows apps I have there without installing anything and without having root or superuser access at all. Run directly from USB flash drive, aka "portable wine". Obviously wine's dependencies need to be bundled with it like I said, it's no problem to make a script to add environment variables or anything else, and of course I use full path (or relative from script!) to the actual wine executable when invoking it.

(of course, WINEPREFIX is also set to the one on the USB flashdrive, since the entire WINEPREFIX is also bundled to make it portable...)

But I don't know how feasible this is and, before I painfully track each dependency manually to extract the libs and put them in my portable folder... I want to know, is this safe or would work? Or are there better ways to go about this that I am missing?

I'm mainly interested in 32-bit dependencies or whatever wine uses for the 32-bit apps... since that's what I have for the most part (64-bit distro though).

Sorry for the long description but in the linux world people aren't really used to "portable" software from searches I did on this subject so I thought the verbosity is needed. Really wish it was easier since it's one of the easiest things to maintain by far and files aren't all over the place but in a strict one you "carry" with you (even if not on external flash). I don't mind the extra disk space for possible duplicated dependencies, space isn't really much of a concern IMO.

Some tips or some little push towards the right track would be appreciated. My problem are the dependencies here, and not wine itself which is very flexible where it can be put. (like I said i can even extract it manually from a .deb package quite easily, no need to even compile wine from source)

Thanks in advance. :)
kktsuri
Level 2
Level 2
Posts: 17
Joined: Mon Jun 30, 2014 12:31 pm

Re: Bundled (Portable) Wine

Post by kktsuri »

Doing a bit more research it looks like WineBottler http://wiki.winehq.org/WineBottler is what I need, except it's for Mac OS X. Something similar for Linux, or a way to do it, would be great.
grendal74
Level 2
Level 2
Posts: 20
Joined: Fri May 29, 2015 12:48 am

Re: Bundled (Portable) Wine

Post by grendal74 »

You could get a raspberry pi, install linux, wine and portable apps and carry it with you. All you need to do is to hook up to a monitor, keyboard and mouse of the "host" pc.
Locked