lkessler
lkessler

Reputation: 20132

How a Windows Developer can most easily get his software to work well under Wine

Many of my users have been telling me that they'd like to run my software on their Linux machines under Wine.

But I'm a Windows Developer who has practically no experience with Linux.

Now I could spend a month or two installing Linux, learning Linux, installing Wine, learning Wine, and thoroughly ensure my application runs well under Wine. But I am still developing for Windows, so I don't want to take so much time away from development right now.

So what can I do without too much effort to get my program running as well as possible under Wine?


I did find this General help on running applications under Wine.

Upvotes: 10

Views: 1148

Answers (8)

Pierre
Pierre

Reputation: 4406

Wine is more sensitive to errors than Windows. For example, Wine will crash on NULL window handles, and fail to create windows if the class is invalid, whereas Windows is more robust and will just circumvent the error.

It's an opportunity to clean up your code.

I was amazed at how well Wine ran my app the first time I tried. However, I had to get rid of a third-party driver-based component.

Upvotes: 0

Richard Harrison
Richard Harrison

Reputation: 19403

I was rather surprised when one of my Delphi5 applications just worked out of the zip.

The only real way this is going to work is to do it yourself, i.e. install vmware and a linux distro as Sean suggested. Linux isn't actually that hard, and we're all here to help.

Having done a quick test I can confirm that it largely works. There is an ACCVIO reading 0x34 during start up, the error dialog can be ignored and the application runs, I opened the Steve McCarthy GEDCOM.

Screenshot

This was using Wine 1.1.12 under MEPIS 7.9.94-rc1_32 under VMWare. Highly recommend to use VMWare for this sort of thing.

Upvotes: 3

user170609
user170609

Reputation: 11

Find Linux beta testers. It can reports a bug to WINE developers or find a bug in your application.

Upvotes: 0

Dan Kegel
Dan Kegel

Reputation:

Avoid using WPF is the #1 suggestion.

But it really wouldn't kill you to test your app under Wine. It's not that hard to try; it certainly won't take months. For instance:

Use http://www.ubuntu.com/getubuntu/downloadmirrors#wubi to install Ubuntu into a file on your Windows machine, then start ubuntu and install the latest Wine from http://winehq.org/download/deb Then try running your app's installer. If it doesn't work, check the Wine FAQ, ask for help in one of the wine forums, and/or file bugs in wine's bug tracker.

Should take about three hours from a dead start to trying out your installer.

Upvotes: 3

seanhodges
seanhodges

Reputation: 17524

Download VMWare and an Ubuntu virtual machine (Ubuntu is a popular Linux distribution) from the VMWare site. This will provide you with a working Linux O/S inside your Windows environment without needing to install Linux manually.

You can then use the instructions here to install Wine, that Wiki page also provides you with some instructions on how to use it.

If you follow what Adam Rosenfield suggested and just try running your application in Wine unmodified, you will be able to determine quickly whether there are problems. My guess would be that there are some, otherwise your users would not have contacted you about it :)

There are many ways for getting help with debugging applications in Wine, consult the website for options and pick a few ways that suit you. As always, it's best not to rely on a single channel for communication.

Also, if you are more comfortable with developing in Windows, the approach of using a virtual machine will allow you to compile your code as usual in Windows and copy the binary into the virtual machine for testing (Ubuntu supports browsing/mounting Windows shares).

Upvotes: 11

Adam Rosenfield
Adam Rosenfield

Reputation: 400434

As long as you're not doing anything unusual such as playing around with hardware or poking around in undocumented API calls and data structures, you should be able to run your code under Wine with few or no modifications. Wine has a fairly complete implementation of the public Windows APIs, so if your program plays nice and doesn't mess around, it should just work.

Upvotes: 5

Soviut
Soviut

Reputation: 91565

What language/platform do you develop with? Depending on which it is, it should be no trouble to get it running native. For example, if you use Java or Python, both operate very cleanly on Linux. Likewise, if you're a .NET developer, you should be able, with some pain, to get your app running in Mono.

Upvotes: 0

Jesse Pepper
Jesse Pepper

Reputation: 3243

Don't use too much of the windows API! Don't use anything new from Microsoft ;)

Upvotes: 3

Related Questions