Creating Windows apps with 'built-in' Wine

The idea just occured to me. Is it possible to write a program using a Windows BASIC programming language and then do something to it which will ensure that the program will run on Linux normally by having something like a ‘built-in Wine’? So that the user won’t need to download and install Wine just to run one Windows application on Linux.

Maybe this has already been done by someone, but I don’t know how; can someone please shed some light as to whether this is possible and if so, then how to do it?

Regards,
Muhammad

Gambas - Gambas Almost Means Basic

I know about Gambas but that’s not what I was asking for. I might give Gambas a whirl if I feel like it and see if it does the job for me, but my question was: how to make a Windows-native software be configured in such a way to include a standalone version of Wine that will work only with the program itself. That way, the user could install and use that Windows application on Linux just as he would use it if it was a Linux-native version, even if he did not have Wine installed on his machine.

BTW, the requirements for Linux programming seem a bit high; I can safely say that the easiest versions of BASIC are for Windows and not for Linux (take a look at Just BASIC).
In Linux, C++ and similar languages seem to be more commonly used.

Only use the very most basic windows libs. Avoid things like activeX controls.

OK, now I get it. So I suppose this is the plan of action I should take:

  1. Construct a Windows app using the BASIC dialect I know, making sure it uses no Windows-specific things like ActiveX controls.

  2. Use Gambas to compile that program properly and make it into a Linux package.

  3. Submit it to the openSUSE build service.

BTW, how can I be sure that Gambas will be compatible with the BASIC dialect I used to construct the program? I’m using Just BASIC, which uses simple BASIC syntax. One thing worries me, though: this JB language seems to be optimized for MS-Windows. It has commands like FILEDIALOG (for calling up a file selection dialog), NOMAINWIN (to prevent a terminal-like text window from coming up while the program is running), and others. If I run this program using Gambas, will it work?
Sorry if these are silly questions, but I’m not very experienced in the field of coding. :expressionless:

Read the Doc’s.

Gambas - Gambas Almost Means Basic

Getting started and differences to VisualBasic

I see … Well, I’ve gathered that I can pick up the source code for the app I’m currently developing, change it here and there wherever is necessary (for it to be Gambas-compatible) and then continue its development in Gambas.

Thanks for your help. :slight_smile:

not sure i’m smart enough to understand the question…and, not sure
this is still true (or ever was) but i understand that the installable
GoogleEarth for Linux included its own, highly tuned WINE…

ah, see google:
http://www.google.com/search?q=GoogleEarth+Linux+runs+WINE


palladium

It is possible to have customized wine configuration for each M$ EXE application. By default, wine configuration is stored in the .wine directory but that is not necessary and an application can have its own wine set up.
Like, Google Earth, another example is IE4Linux.
IEs4Linux

Interesting … I might try somehow putting a stripped-down version of Wine into my program’s directory and configure it to run automatically when I start the application; to give the user a false impression that the software is a native Linux one. For that, though, I would have to change Wine’s default Windows 98-like theme to something more KDE/Gnome-ish to be sure the deceit worked. :slight_smile:

But for now, I’m going to try Gambas.

this discussion reminds me of a very interesting concept called ThinApp, subsequently bought by Vmware. Does exactly what you are talking about and makes applications deployable across organizations without OS dependencies.

more info here:

VMware ThinApp for Application Virtualization

Cool … Might give it a try. Thanks for the link.