Create a script for PlayOnMac - Chapter 5: Wine

Who's that?

This is the engine inside PlayOnMac. This software developped by WineHQ permits to run softwares that were created for Windows on Linux and Mac OS X.

In this chapter, I will show you some important PlayOnMac functions in regard to Wine, but not all of them. For the more technical functions, you should read the annex listing them all.

The Prefixes (aka virtual disks)

PlayOnMac manages Wine's prefixes. Nothing better than an illustration to explain this.

With Wine, the installation of a game looks like this:

With PlayOnMac, it can be summed up this way:

The point being: It allows to have a specific configuration per program, and the uninstallation of a program is simplified (you just have to remove a folder).

We'll now see some usual commands to manage Wine prefixes with PlayOnMac.

Select a prefix


POL_Wine_SelectPrefix "PrefixName"

A prefix name should only contain alphanumerical characters (roughly meaning no spaces, no special chars).

Avoid short cryptic prefix names like WoW, prefer WorldOfWarcraft.


POL_Wine_SelectPrefix "Steam"

Will select Steam's prefix (must be done even if the prefix doesn't exist yet).

Create a prefix (after having selected it)





Will either create or update a prefix. It is necessary before each installation.

Use Wine to run an .exe file


POL_Wine start /unix "path/to/the/file.exe"


POL_Wine start /unix "/home/user/file.exe"
POL_Wine start /unix "$APP_ANSWER"

The 2nd example show how to run an executable selected by the user thru the command POL_SetupWindow_browse.

Display a "please wait" message

It's sometimes useful to display a "please wait" message while commands are running. This is particularly useful for the command POL_Wine that will last as long as the program it launched has not completed (hence, in the case of an installation, until the installation is over).


POL_SetupWindow_wait "Message" "Title"
# Commands

You can put as many commands as you want; The "please wait" message will stay around until another command affecting the window is used.


POL_SetupWindow_wait "Please wait" "Installation in progress"
POL_Wine start /unix "path/to/some/file.exe"

Use of a specific version of Wine

It is possible to assign some version of Wine to a game (independantly of the version of Wine installed system-wide).

This is specially useful for large games or applications, whose performance may vary from version to version of Wine.

This can also be used if some software stopped working with recent versions of Wine.

To do this, you just have to add an argument to the function POL_Wine_PrefixCreate.


POL_Wine_PrefixCreate "Version of Wine"


POL_Wine_PrefixCreate "1.3.4"

Previous chapter - Next chapter