The complete guide to Wine: from installation to advanced usage
Table of contents
2. Features and limitations of Wine
4.1 Installing Wine on Debian, Kali Linux, Linux Mint, Ubuntu, and their derivatives
4.2 Installing Wine on Arch Linux
5. How to run a program in Wine
5.1 Launch by double clicking on the executable file
5.4 Passing Windows Command Line Arguments
5.6 Wine Explorer style graphical environment (Wine File Manager)
5.7 How to run a .bat file in Wine
6. How to install a program in Wine and create a shortcut
8. How to uninstall a program from Wine
11. How to make Wine run an application in a virtual desktop
12. Assistants in installing programs and libraries in Wine
12.3 Which is better, PlayOnLinux or Winetricks?
13. Using the Registry and Regedit
Why Wine
This guide will tell you about using Wine. These usage tips apply to both Kali Linux and any other Linux distribution.
With Wine, you can run Windows programs directly on Linux without using virtual machines. If we talk about Kali Linux, then one of the interesting examples is the Router Scan by Stas'M program, which works fine through Wine (finds and hacks routers, but functions related to using a Wi-Fi adapter do not work).
So, Wine is a set of programs and libraries that allow you to run Windows applications on Linux without using virtualization. Of course, Windows programs can be run on Linux using VirtualBox, but this option will require the launch of a full-fledged operating system with the corresponding resource costs, especially RAM – Windows requires several gigabytes of memory to run, as well as disk space for installation – several tens of gigabytes. However, an important requirement for running VirtualBox and similar virtual machines is that your CPU supports virtualization.
Wine allows you to bypass all these limitations – you do not need to install this operating system to run Windows programs, and applications require only a few tens of megabytes of RAM to run.
But Wine also has disadvantages – not all applications work well or work at all. However, a huge number of Windows programs run and work just fine on Linux thanks to Wine.
Remember that many free programs are cross-platform, and you can install them from your distribution's standard repositories. These programs do not require Wine. Examples of popular cross-platform programs: LibreOffice, Google Chrome, Firefox, Double Commander, VirtualBox, Etcher, VLC, DeadBeef, GIMP, OBS Studio, Viber, Wireshark, Apache, PHP, MySQL, Caliber, Netbeans, Burp Suite, Visual Studio Code, KeePass , KeePassXC, OpenShot Dropbox, Python, Ruby, Perl, PowerShell, SSH, Vuse BitTorrent Client, FileZilla, Tor Browser, JDownloader and many more. All of these programs do not need Wine, as they have native Linux installation packages.
Before trying to install and run a program through Wine, look for it using your package manager, for example:
apt search OpenShot
Features and limitations of Wine
The program is able to run 64-bit, 32-bit, 16-bit programs and libraries of Windows 9x/NT/2000/XP/Vista/7/8/10/11 and Windows 3.x
Win32 API support:
- Support for DirectX based games and applications (Direct3D support up to DirectX 12)
- Support for OpenGL and Vulkan based games and applications
- DirectShow support with use of GStreamer for codecs
- Direct2D, DirectWrite support
- MMDevice API, XAudio, WinMM, DirectSound audio APIs are supported
- Printing via PostScript driver to the host printing system (usually CUPS)
- Enhanced Metafile (EMF) and Windows Metafile (WMF) driver
- Desktop-in-a-box or mixable windows
Allows Windows program to interface with:
- X11-based graphics which allow remote display to any X terminal
- macOS and Android based graphics
- X11, TrueType (.ttf/.ttc) and Windows Bitmap (.fon) fonts
- Sound devices via ALSA, OSS, PulseAudio, Core Audio, etc.
- Multi-lingual keyboards and CJK input method support via XIM
- Modems, serial devices
- Networks (TCP/IP and IPX)
- ASPI Scanners
- Windows Tablets via XInput (eg. Wacom)
- Video capture devices via v4l2
- HID devices via IOHid (MacOS), evdev (Linux), hidraw (Linux), SDL2
As you can see, the list is impressive and allows you to, for example, run games that require DirectX and still output sound. Applications from Wine can work with the network and even have access to some hardware features (printers, scanners).
If the application requires additional libraries, for example, Visual C++ Redistributable for Visual Studio, then it is possible to install them in Wine and run the application in an environment with this library installed.
At the same time, you need to remember such a limitation as the inability to work with devices directly, for example, if a device requires a driver, then it makes no sense to install a Windows driver in Wine – you need to find the Linux version of the driver and install it.
64-bit or 32-bit Wine?
In this guide for installing Wine, we will enable repositories support for 32-bit platforms (i386) in order to download the necessary libraries. The question may arise, is there a 64-bit Wine, and if it exists, why do we need to enable repositories for i386 and download the 32-bit version?
Yes. 64-bit Wine has been available on Linux since version 1.2. WineHQ binary packages are available for 64-bit versions and most major distributions package them for users. Generally, installation should be as simple as installing the Wine package for your distribution through the package manager.
But there are a few very important notes:
- 32-bit Wine runs on both 32-bit and 64-bit versions of Linux/Unix. It will run 16-bit and 32-bit Windows applications.
- 64-bit Wine only works on 64-bit installations and has only been extensively tested on Linux so far. To run 32-bit Windows applications, the installation of 32-bit libraries is required. Both 32-bit and 64-bit Windows applications (should) work with it; however, there are many more errors.
- The current Wine includes support for 64-bit Wine on Mac OS X; however, this has not been thoroughly tested and some applications may never work due to ABI incompatibility between Win64 and OS X.
The main thing that follows from this is that even when installing 64-bit Wine, you need to activate 32-bit repositories, since many Windows applications are still 32-bit and in any case you need to install 32-bit libraries, otherwise many programs just will not work.
You can explicitly select the wine64 package during installation, but even if you install “wine”, it will be the 64-bit version if you run a 64-bit Linux.
How to install Wine
Installing Wine on Debian, Kali Linux, Linux Mint, Ubuntu, and their derivatives
Run the following commands:
sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine winbind
After installation, start Wine – it may offer to download the necessary fonts and other components:
winecfg
To check the Wine version run the command:
wine --version
Installing Wine on Arch Linux
Open the /etc/pacman.conf text file:
sudo gedit /etc/pacman.conf
In it, find and uncomment the lines (be sure to uncomment both lines, otherwise the changes will not take effect):
[multilib] Include = /etc/pacman.d/mirrorlist
Update package cache:
sudo pacman -Sy
Install Wine:
sudo pacman -S wine wine_gecko wine-mono sudo pacman -S lib32-mpg123 lib32-gnutls
How to run a program in Wine
Launch by double clicking on the executable file
To launch Windows applications on Linux, it is usually enough to double-click on them. But it may be that the .exe file will be opened by an archive manager or another application (usually an archive manager).
In this case, right-click on the file, select “Open with” and select “Wine”.
If you do not have Wine in the context menu, then do this:
- right click on the application you want to launch
- select “Open with” and then “Other”
- check the “Custom command” box and where the input line is, enter “wine”. Check the box “Save association” and “Set selected application as default action”, click OK. Now all .exe files will be opened by double clicking.
Pay attention to how economically the RAM is used – only 1 megabyte of RAM is needed to run Router Scan by Stas'M in Kali Linux. If we installed Windows in a virtual machine to run this program, it would take several gigabytes for the OS to work. In addition, when using Wine, it is not necessary that the processor supports virtualization – unlike VirtualBox and other similar ways to run virtual computers.
Run on command line
Since Windows programs often look for files relative to where they were launched from, when using the command line you must launch them in a very specific way: “change directory” to the folder where the program is located and run the .exe file using only its filename. For example:
cd '.wine/drive_c/Games/Tron' wine tron.exe
Using wine start
In some cases, you may need to specify the full path to the executable. For example, if you need to install a program from multiple CDs, entering a directory in the terminal will prevent you from ejecting the CD.
You need to use wine start if you provide the full path to the .exe, because this allows Wine to set the working directory for the program if it needs one.
You can give Wine a DOS or Windows style path in single quotes, like so:
wine start 'C:\Games\Tron\tron.exe'
You can also use double quotes, but you need two backslashes instead of one:
wine start "C:\\Games\\Tron\\tron.exe"
If you prefer to use a Unix-style path, use the /unix option to start, like so:
wine start /unix "$HOME/installers/TronSetup.exe"
Passing Windows Command Line Arguments
If you are using a program with arguments on Windows, for example:
quake.exe -map e1m1
Then you can do the same in Wine by running:
wine quake.exe -map e1m1
That is, the command line is identical except for wine in front of it. Note, however, that you may need to escape some special characters with a backslash due to how they are handled in the Linux shell. For example:
quake.exe -map C:\Quake\e1m1.bsp
becomes:
wine quake.exe -map C:\\Quake\\e1m1.bsp
Running .msi files
MSI files cannot be run directly; you need to either use the Wine program msiexec or run Wine from a terminal:
wine msiexec /i whatever.msi
or:
wine start whatever.msi
Wine Explorer style graphical environment (Wine File Manager)
If you prefer to use a GUI to manage your files, you might want to consider using winefile. This Winelib application comes with Wine and can be found with other Wine programs. This is a useful way to view your disk configuration and find files, and you can also run programs directly from Winefile. Please note that many features are not implemented yet.
To open it run:
winefile
How to set up Favorites in Wine File Manager and add folders
Wine File Manager is similar to Windows Explorer. It can be opened with the command
winefile
There you can see several labels and drives.
Among the labels you will find:
- My Computer
- Documents
- Trash
- / (Linux file system root)
My Computer contains all disks connected to Linux. The “C:” drive is what is located in the ~/.wine/drive_c/ folder. The “Z:” drive is the root drive of the Linux file system. Other letters are flash drives and disks plugged to Linux.
The root element of shortcuts is Desktop, that is, the desktop. This refers to the Linux desktop, not Windows.
That is, if you want a new folder to be visible in the Wine File Manager, then create it on your Linux desktop, for example:
mkdir ~/Desktop/Favorites/
You can copy any files to this folder for quick access.
You can also create shortcuts in this folder to files and programs both in the Wine file system and outside it.
Command to create a shortcut:
ln -s TARGET DIRECTORY
For example, the following command will create a link to ~/.wine/drive_c/windows/notepad.exe in the ~/Desktop/Favorites/ folder:
ln -s ~/.wine/drive_c/windows/notepad.exe ~/Desktop/Favorites/
To add the Downloads, Videos, Music folders next to the Documents folder in the Explorer folder tree, you can create the appropriate links:
ln -s ~/Downloads/ ~/Desktop/ ln -s ~/Music/ ~/Desktop/ ln -s ~/Videos/ ~/Desktop/
If you want to change drive letters, then run Wine configuration:
winecfg
And go to the Drives tab to customize the display of drives in the Wine File Manager:
How to run a .bat file in Wine
You can run the .bat file in many ways:
1. Run the command
winefile
Find the .bat file and double click on it.
2. Run the command
wine explorer
And find the file you need in the Explorer window.
Either do:
wine explorer /PATH/TO/FOLDERS
to immediately get to the desired folder.
When you find the .bat file, double click on it.
3. You can run the .bat file on the command line using a construct like:
wine start /PATH/TO/FILE.bat
If you are using a path to a file on the Linux file system, you must specify the /unix option.
How to install a program in Wine and create a shortcut
If the program is portable, then you can place it anywhere on the disk – not necessarily in the Wine folder. By the way, the default C: drive in Wine is ~/.wine/drive_c/.
As already mentioned, you do not have to put the files with the program there. You can run portable programs in the ways shown above.
If the program is distributed as an installer, then simply run this installer using Wine. In most cases, everything will go as in Windows, the usual installation will be performed on your Linux desktop and a shortcut will appear in the menu to launch the program.
For a portable program, you can also make a shortcut. To do this, right-click on the desktop and select “Create a new launcher here” (in Cinnamon), “Create Launcher” (in XFCE), or similar.
There is usually an option to set an icon, including icons for programs ever run in Wine.
Even if the “Create launcher” wizard allows you to specify a working directory, it's best not to rely on it. As a launch command, specify a command of the form:
bash -c 'cd /PATH/TO/FOLDER/WITH/FILE/; wine ./FILE.exe'
That is, the command to be executed includes two subcommands – switching to the desired directory and launching the executable file.
For example, if the executable file is located in /home/mial/.wine/drive_c/Program Files (x86)/foobar2000/ and is called foobar2000.exe, then the run command is:
bash -c 'cd "/home/mial/.wine/drive_c/Program Files (x86)/foobar2000/"; wine ./foobar2000.exe'
Note that:
- specified absolute, not relative path to the folder
- if the path contains spaces or other shell-specific characters (such as brackets), they must be escaped, or the path must be enclosed in quotation marks.
Another example, when the file is not on the Wine drive: you need to create a shortcut to run the file /mnt/disk_d/Share/Conses/ConsFed/cons.exe, then the run command is as follows:
bash -c 'cd /mnt/disk_d/Share/Conses/ConsFed/; wine ./cons.exe'
If the program requires a special version of Wine or additional components, then you can find scripts that simplify their installation, they will be discussed later in the sections on PlayOnLinux and winetricks.
Built-in programs in Wine
Wine has several built-in “standard Windows programs”.
Notebook
Launch:
notepad
or
wine notepad
Registry Editor
Launch:
regedit
or
wine regedit
More details about the registry and the registry editor will be below.
File Explorer
To open File Explorer, run the command:
wine explorer
In Explorer, you can open “My Computer” – there will be links to all drives in Linux. The “C:” drive is what is located in the ~/.wine/drive_c/ folder. The “Z:” drive is the root drive of the Linux file system. Other drives are Linux-attached flash drives and disks.
In Explorer, you can run .bat files by double-clicking, as well as manage files (move, create, delete them) in a graphical interface.
Task Manager
To open the Task Manager, run the command:
wine taskmgr
Minesweeper game
Launch:
winemine
Internet Explorer browser
Actually, it's not real IE – it's a browser based on Firefox.
Launch:
wine iexplore
You can install older versions of Internet Explorer if you wish, but even Windows has ditched IE in recent versions and switched to a Chrome-based web browser.
Windows command line
Run:
wine cmd
CMD built-in commands are:
ASSOC Show or modify file extension associations ATTRIB Show or change DOS file attributes CALL Invoke a batch file from inside another CD (CHDIR) Change current default directory CHOICE Wait for an keypress from a selectable list CLS Clear the console screen COPY Copy file CTTY Change input/output device DATE Show or change the system date DEL (ERASE) Delete a file or set of files DIR List the contents of a directory ECHO Copy text directly to the console output ENDLOCAL End localization of environment changes in a batch file FTYPE Show or modify open commands associated with file types HELP Show brief help details on a topic MD (MKDIR) Create a subdirectory MKLINK Create a symbolic link MORE Display output in pages MOVE Move a file, set of files or directory tree PATH Set or show the search path PAUSE Suspend execution of a batch file POPD Restore the directory to the last one saved with PUSHD PROMPT Change the command prompt PUSHD Change to a new directory, saving the current one REN (RENAME) Rename a file RD (RMDIR) Delete a subdirectory SET Set or show environment variables SETLOCAL Start localization of environment changes in a batch file START Start a program, or open a document in the associated program TIME Set or show the current system time TITLE Set the window title for the CMD session TYPE Type the contents of a text file VER Show the current version of CMD VOL Show the volume label of a disk device XCOPY Copy source files or directory trees to a destination EXIT Close down CMD
Enter
HELP COMMAND
for further information on any of the above commands.
MSI Installer
This program is mentioned above in section “5.5 Running .msi Files”.
Run command:
msiexec
Control Panel
Run:
wine control
Program to view .chm files in Linux
Wine has a built-in hh.exe program that can open .chm files.
.chm files, also called MS Windows HtmlHelp Data, are usually files with help on using the program with which they are distributed.
After installing Wine, you can open the CHM file by double-clicking. Another way to open a CHM file is to use the command line:
wine hh.exe '/PATH/TO/FILE.chm'
For example:
wine hh.exe '/home/mial/Downloads/VeraCrypt User Guide.chm'
How to uninstall a program from Wine
To uninstall a program from Wine, go to the “Add/Remove Programs” settings, to do this, run:
wine uninstaller
Next, select the program to uninstall and click the “Modify/Remove” button. Shortcuts created during installation will be removed automatically.
Wine file system
By default, the files are physically located in the ~/.wine folder. That is, if you want to “reinstall Windows”, that is, completely remove all settings and installed programs, you can delete this folder. But remember that the shortcuts made in the menu and on the desktop will remain, because they are located in other places.
When using WINEPREFIX (more on that later), a different folder will be used to store files.
In explorer
wine explorer
you can open “My Computer” – there will be links to all drives in Linux. The “C:” drive is what is located in the ~/.wine/drive_c/ folder. The “Z:” drive is the root drive of the Linux file system. Other drives are Linux-attached flash drives and disks.
You can change this by opening “Wine Settings” and going to the “Disks” tab:
winecfg
WINEPREFIX (prefixes)
By default, Wine stores configuration files and installed Windows applications in the ~/.wine directory. This directory is called the Wine prefix. It is created and updated automatically as needed when running Windows programs and Wine setup programs such as winecfg. The prefix directory also contains the standard Windows root directory structure, which appears to Windows programs as the C: drive.
You can change the location of the prefix by creating a WINEPREFIX environment variable with a new path. This is useful when you need to use different environments for different Windows applications. When starting a Windows application, a new prefix will be automatically created at the location specified in WINEPREFIX, if it did not exist before.
For example, if you run one application with
env WINEPREFIX=~/.win-a wine program-a.exe
and the other with
env WINEPREFIX=~/.win-b wine program-b.exe
each program will have its own C: drive, respectively, its own copy of all settings and the registry. Thus, both programs will run in completely isolated environments from each other.
Note: However, Wine prefixes are not sandboxed. Programs running in Wine can also access the rest of the system (eg partition Z: usually corresponds to the root of the file system, i.e. /).
To create a prefix without running any Wine configuration tools or Windows applications, you can use the command:
env WINEPREFIX=~/.customprefix wineboot -u
You can change the prefix that Wine uses by changing the WINEPREFIX environment variable (outside of Wine). To do this, run something like the following in a terminal:
export WINEPREFIX=~/.wine-new wine winecfg
To use the default prefix, use the command
unset WINEPREFIX
Or just set WINEPREFIX to ~/.wine.
Alternatively, you can prefix wine on each command, e.g.
WINEPREFIX=ПУТЬ_ДО_wineprefix wine winecfg
You can rename, move, copy and delete prefixes without affecting others, and each prefix has its own wineserver instance.
How to create a 32-bit Wine prefix on a 64-bit system?
Currently, there are a number of serious bugs that prevent many 32-bit applications from working with the 64-bit Wine prefix. To work around this, you can create a new 32-bit Wine prefix using the WINEARCH environment variable. In terminal enter:
WINEARCH=win32 WINEPREFIX=PATH_TO_wineprefix winecfg
Use the actual path to WINEPREFIX. Don't use an existing directory for the new wineprefix: Wine has to create it for you.
After creating a 32-bit wineprefix, you no longer need to specify WINEARCH on the command line to use it, as the architecture of an existing wineprefix cannot be changed. Note that if you want to use a wineprefix other than the default one (~/.wine), then you need to specify the WINEPREFIX variable when installing anything (including winetricks):
WINEPREFIX=PATH_TO_wineprefix wine start /unix PATH_TO_INSTALLER
How to run two programs as if they were on different computers?
Example: you have server and client programs. And one will not work in the presence of the other.
This is where using different wineprefixes will help, as they essentially mimic two Windows machines.
Run the first program as usual:
wine first-program.exe
The second one needs to be run with a different prefix, so we need to change the WINEPREFIX environment variable:
WINEPREFIX="$HOME/.wine-second" wine second-program.exe
First-program.exe and second-program.exe can be two copies of the same program.
How to make Wine run an application in a virtual desktop
You can do this with winecfg. Add the app in the Applications tab, and then in the Graphics tab, enable Emulate a virtual desktop.
You can also use the following command:
wine explorer /desktop=name,1024x768 program.exe
Replace program.exe with the name of your program and change the resolution to the virtual desktop size you need. For example:
wine explorer /desktop=HackWare.ru,1024x768 '/home/mial/.wine/drive_c/Program Files (x86)/foobar2000/foobar2000.exe'
Changing the name allows you to open multiple desktops at the same time.
Assistants in installing programs and libraries in Wine
PlayOnLinux
PlayOnLinux is a program with a graphical interface that contains a database of high-quality and up-to-date scripts that help you install Windows programs in just a few clicks. At its core, PlayOnLinux is a wrapper for Wine that facilitates and automates the installation of programs, especially those requiring dependencies.
The PlayOnLinux scripts make heavy use of WINEPREFIX and each application installs its own WINEPREFIX. This means that the work of different programs does not affect each other, and you can easily remove any of them without affecting the others.
PlayOnLinux has a set of native functions that can be called from scripts. These functions allow you to install the necessary libraries, dll files, runtimes, and more.
In its work, the program creates WINEPREFIX from different versions of Wine. That is, if a certain version of Wine is recommended for the program to work, then this version will be used.
Advantages of PlayOnLinux:
- very convenient graphical interface, you do not need to enter commands to install programs, just click the mouse
- easy to use – select the desired game or program with the mouse and install it
- high-quality and extensive base of games and programs for installation
- good relevance of installation scripts, actively supported by the community
- accessing Wine settings not present in its GUI
- the ability to change the version of Wine for already installed programs
- the ability to install programs and games from a local installer, disk or download an installer
- automatic download of free software installers
The peculiarity of this program is that the Wine version is explicitly specified in the PlayOnLinux scripts. This applies even to problem-free programs that work fine on any version of Wine. But since the Wine version must be specified explicitly, the latest version is specified at the time the script was written. As a result, when installing different programs, PlayOnLinux will load different versions of Wine. Each version of Wine plus the prefix takes up quite a lot of space.
This means that if you want to install some simple application that doesn't require you to install additional software, install it using Wine without using PlayOnLinux – this will save you several hundred megabytes of disk space.
Installing PlayOnLinux on Debian, Kali Linux, Linux Mint Ubuntu and their derivatives:
sudo apt install playonlinux
Installing PlayOnLinux on Arch Linux, BlackArch and their derivatives:
sudo pacman -S playonlinux
To install the program in PlayOnLinux, click the “Install” button.
Select the category and the program or game in it that you want to install and click the “Install” button again (at the bottom of the window).
Next, a window with important recommendations will be displayed:
- if the program allows you to choose the installation location, always install to the C: drive and do not change the default installation location at all
- if the installer asks “Do you want to run the program now?”, then always choose “No”
- if the program asks “Do you want to restart your computer now?” you can choose “Yes”, but this does not mean that you need to reboot the host system (shortly speaking – you can answer whatever you like and do nothing)
Information about the selected program to install.
And here is what was mentioned above – the 7-Zip installation file is less than 2 megabytes in size and the program itself after installation takes about the same amount. But for it, the version of Wine specified in the script is downloaded, which occupies almost 300 megabytes, plus the expanded prefix will also take up space.
If the program is free, then you can choose to download from the network or specify an installer on your computer if you have downloaded the program beforehand.
For some programs, it is suggested to install from a disk or from Steam.
The normal installer of the selected program starts.
After installation, the shortcut of the selected program is added to the menu, to the desktop, and also to PlayOnLinux.
For each installed program, you can make fine adjustments. For example, choose a different version of Wine.
You can perform standard actions for a given prefix in the PlayOnLinux GUI.
If necessary, you can install additional components – all sorts of runtimes, missing DLLs, Windows programs, and much more.
You can change the display settings – as far as I understand, in Wine this can only be done directly by editing the Windows registry.
On the last settings tab, you can select an arbitrary .exe file to execute on the given virtual disk (prefix).
Winetricks
Winetricks is an easy way to solve various problems in Wine related to installing programs and games and configuring Wine.
Winetricks is a helper script for downloading and installing various redistributable runtime libraries required to run some programs in Wine. These may include replacing Wine components using closed source libraries.
Winetricks has a graphical menu of supported games/applications for which it can perform sequential actions. It also allows you to install missing DLLs and configure various Wine options. You can choose the prefix where you want to install the application or change the setting.
Installing Winetricks on Debian, Kali Linux, Linux Mint Ubuntu and derivatives:
sudo apt install winetricks
Installing Winetricks on Arch Linux, BlackArch and their derivatives:
sudo pacman -S winetricks
If you don't have Winetricks in your distribution's repository, or if you want the latest version, then all you need to do to install and run it is to run the following commands:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks ./winetricks
The program has a graphical interface. In the window that opens, you can immediately perform actions in the default prefix or create a new prefix:
An example of actions after choosing a prefix:
Creating a new prefix – just select its version (32-bit or 64-bit) and name.
A new prefix has been added to the list and now you can select it to install programs and perform other actions:
An example of the settings you can change for the selected prefix:
Example programs for installation:
In Winetricks, the installation steps are called verbs. Each verb installs an application or changes settings.
Usage:
./winetricks [options] [command|verb|path-to-verb] ...
Executes given verbs. Each verb installs an application or changes a setting.
Options:
--country=CC Set country code to CC and don't detect your IP address -f, --force Don't check whether packages were already installed --gui Show gui diagnostics even when driven by commandline --gui=OPT Set OPT to kdialog or zenity to override GUI engine --isolate Install each app or game in its own bottle (WINEPREFIX) --self-update Update this application to the last version --update-rollback Rollback the last self update -k, --keep_isos Cache isos (allows later installation without disc) --no-clean Don't delete temp directories (useful during debugging) -q, --unattended Don't ask any questions, just install automatically -r, --ddrescue Retry hard when caching scratched discs -t --torify Run downloads under torify, if available --verify Run (automated) GUI tests for verbs, if available -v, --verbose Echo all commands as they are executed -h, --help Display this message and exit -V, --version Display version and exit Commands: list list categories list-all list all categories and their verbs apps list list verbs in category 'applications' benchmarks list list verbs in category 'benchmarks' dlls list list verbs in category 'dlls' fonts list list verbs in category 'fonts' games list list verbs in category 'games' settings list list verbs in category 'settings' list-cached list cached-and-ready-to-install verbs list-download list verbs which download automatically list-manual-download list verbs which download with some help from the user list-installed list already-installed verbs arch=32|64 create wineprefix with 32 or 64 bit, this option must be given before prefix=foobar and will not work in case of the default wineprefix. prefix=foobar select WINEPREFIX=/home/mial/.local/share/wineprefixes/foobar annihilate Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX
When run without options, winetricks displays a GUI with a list of available packages. If you know the names of the packages you want to install, you can add them to the winetricks command and the installation process will begin immediately. For example, the command
winetricks corefonts vcrun6
will install corefonts and vcrun6 packages.
Like all Wine commands, winetricks is aware of the WINEPREFIX environment variable. This is useful for using winetricks with different Wine prefix locations. For example,
env WINEPREFIX=~/.winetest sh winetricks mfc40
installs the mfc40 package in the ~/.winetest folder.
Users with more than one version of Wine on their system (for example, an installed package and an uninstalled Wine built from git) can specify which version of Winetricks should be used. For example,
env WINE=~/wine-git/wine winetricks mfc40
installs the mfc40 package using Wine to the ~/wine-git directory.
Which is better, PlayOnLinux or Winetricks?
Some actions of PlayOnLinux and Winetricks intersect, that is, the same program can be installed both through PlayOnLinux and through Winetricks, what should I choose?
First, if it's an easy-to-install program on Linux that doesn't require dependencies, like foobar2000 or 7-Zip, then don't use either of those programs – install it directly, because PlayOnLinux will create a new virtual disk and load the new version of Wine (a lot of disk space), and Winetricks will almost certainly download the old version (although the script is updated almost every day, many links in it have time to become outdated).
Secondly, if you need to install a dependency or a program that requires additional components, then I would recommend PlayOnLinux simply as an easier option. But if you want to install a component not to a new prefix, but to an existing prefix, then it is more convenient to use Winetricks, since it does not have the obligatory stage of creating a new virtual disk.
Using the Registry and Regedit
All settings you change in winecfg, with the exception of disk settings, are eventually stored in the registry. On Windows, this is the central repository for application and operating system configuration. Similarly, Wine implements the registry, and some settings that are not in Winecfg can be changed in it.
Registry structure
The Windows Registry is a complex tree structure, and even most Windows programmers are not fully aware of how the Registry works with its various “hives” and “bushes” and the many relationships between them; a full description is beyond the scope of this document. But here are the main registry keys you might need to know about now:
- HKEY_LOCAL_MACHINE
This master root key (in win9x it is stored in the system.dat hidden file system) contains everything related to the current Windows installation. It is often abbreviated as HKLM.
- HKEY_USERS
This master root key (in Win9x it is stored in a hidden user.dat file) contains configuration data for each installation user.
- HKEY_CLASSES_ROOT
This is a link to HKEY_LOCAL_MACHINE\Software\Classes. It contains data that describes things like file associations, OLE document handlers, and COM classes.
- HKEY_CURRENT_USER
This is a link to HKEY_USERS\your_name, i.e. your personal configuration.
Registry files
Now you are probably wondering how this maps to the Wine structure. The registry layout described above is actually in three different files in each user's ~/.wine directory:
- system.reg
This file contains HKEY_LOCAL_MACHINE.
- user.reg
This file contains HKEY_CURRENT_USER.
- userdef.reg
This file contains HKEY_USERS\.Default (i.e. default user settings).
These files are automatically created the first time you use Wine. The set of global settings is stored in the wine.inf file and processed by the rundll32.exe program. The first time you start Wine, the wine.inf file is parsed to populate the original registry. The registry is also updated automatically when wine.inf is modified, such as when upgrading to a newer version of Wine.
It is not recommended to edit these files to change the registry as they are managed internally by Wine. Use regedit.exe, reg.exe, or any program that uses standard registry functions.
Using Regedit
An easy way to access and modify the registry is with the regedit tool.
regedit
Like the Windows program it replaces, regedit serves to provide a system-level view of the registry containing all the keys. When you run it, you will immediately notice that the cryptic keys displayed in the text file are organized in a hierarchy.
To navigate through the registry, click the items on the left to navigate to sub-items. To delete a key, click it and choose Delete from the Edit menu. To add a key or value, find where you want to put it and choose New from the Edit menu. Similarly, you modify an existing key by selecting it in the right pane of the window and choosing Edit from the Edit menu. Another way to perform the same actions is to right-click on a key or value.
Of particular interest to Wine users are the settings stored in HKEY_CURRENT_USER\Software\Wine. Most of the settings you change in winecfg are written to this area of the registry.
Full list of registry keys
See the wiki for an up-to-date list of useful registry keys and values.
Related articles:
- How to install web server on Windows 10 (Apache 2.4, PHP 8, MySQL 8.0 and phpMyAdmin) (51.5%)
- How to install WordPress on Windows (51.5%)
- How to install NetBeans 9 for JDK 9 development (51.5%)
- How to Install Total Commander Counterpart in Kali Linux (51.5%)
- How to install Router Scan (51.5%)
- How to make proxy with Tor in Windows (RANDOM - 51.5%)