- Manually download Windows Subsystem for Linux distro packages
- Downloading distributions
- Downloading distros via the command line
- Download using PowerShell
- Download using curl
- Installing your distro
- How To Run Windows Applications On Linux [Beginners Guide]
- Using Wine to run Windows programs in Linux
- Installing Wine
- What Windows applications are Supported by Wine?
- Finding an Application in Wine Application Database
- Getting Started with Wine
- WinePrefix
- Installing an Application with Wine
- Let’s make things (a lot) Easier
- Advantages of using Wine
- Wine Derivatives
- Additional Tips on using Wine
- Winetricks
Manually download Windows Subsystem for Linux distro packages
There are several scenarios in which you may not be able (or want) to, install WSL Linux distros via the Microsoft Store. Specifically, you may be running a Windows Server or Long-Term Servicing (LTSC) desktop OS SKU that doesn’t support Microsoft Store, or your corporate network policies and/or admins to not permit Microsoft Store usage in your environment.
In these cases, while WSL itself is available, how do you download and install Linux distros in WSL if you can’t access the store?
Note: Command-line shell environments including Cmd, PowerShell, and Linux/WSL distros are not permitted to run on Windows 10 S Mode. This restriction exists in order to ensure the integrity and safety goals that S Mode delivers: Read this post for more information.
Downloading distributions
If the Microsoft Store app is not available, you can download and manually install Linux distros by clicking these links:
This will cause the .appx packages to download to a folder of your choosing. Follow the installation instructions to install your downloaded distro(s).
Downloading distros via the command line
If you prefer, you can also download your preferred distro(s) via the command line:
Download using PowerShell
To download distros using PowerShell, use the Invoke-WebRequest cmdlet. Here’s a sample instruction to download Ubuntu 16.04.
If the download is taking a long time, turn off the progress bar by setting $ProgressPreference = ‘SilentlyContinue’
Download using curl
Windows 10 Spring 2018 Update (or later) includes the popular curl command-line utility with which you can invoke web requests (i.e. HTTP GET, POST, PUT, etc. commands) from the command line. You can use curl.exe to download the above distros:
In the above example, curl.exe is executed (not just curl ) to ensure that, in PowerShell, the real curl executable is invoked, not the PowerShell curl alias for Invoke-WebRequest
Note: Using curl might be preferable if you have to invoke/script download steps using Cmd shell and/or .bat / .cmd scripts.
Installing your distro
If you’re using Windows 10 you can install your distro with PowerShell. Simply navigate to folder containing the distro downloaded from above, and in that directory run the following command where app_name is the name of your distro .appx file.
If you are using Windows server, or run into problems running the command above you can find the alternate install instructions on the Windows Server documentation page to install the .appx file by changing it to a zip file.
Once your distribution is installed, follow the normal instructions to * Update from WSL 1 to WSL 2 or create a new user account and password.
How To Run Windows Applications On Linux [Beginners Guide]
Last updated September 12, 2019 By Munif Tanjim 41 Comments
As you’re here, I’m going to assume that you’re a Linux user. And every once in a while, you find yourself asking: can I run windows applications on Linux?.
Answer to that question is yes. Yes, you can run Windows applications in Linux. Here are some of the ways for running Windows programs with Linux :
Both of them works just fine. But they are somewhat resource hungry.
If you only need to use a small Windows application, installing Windows on a separate HDD partition or as a Virtual Machine is not efficient. Moreover, Virtual Machine can’t utilize the total power of your machine. So, what is the solution?
No worries, there is another way to use Windows software on Linux. It’s called Wine. If you aren’t yet familiar with it or you are a beginner in the world of Linux, this article is for you.
In this beginner’s guide, I’ll show you what is Wine and how to use it to run Windows software on Linux. I have used Ubuntu here as Ubuntu is one of the best Linux distros for beginners, but any other Linux distribution will have more or less same steps (except for the commands in Arch or Fedora based distros).
Using Wine to run Windows programs in Linux
Wine stands for Wine Is Not an Emulator. And WINE is actually an acronym for that. And as previously stated, it’s not even a virtual machine.
Rather it is a compatibility layer for running Windows applications on UNIX-like or POSIX-compliant operating systems (e.g. Linux, Mac, BSD). While a virtual machine or emulator simulates internal Windows logic, Wine translates those Windows logic to native UNIX/POSIX-complaint logic.
In simple and non-technical words, Wine converts internal Windows commands to commands your Linux system can natively understand.
Installing Wine
There are various ways to install Wine on your system. As this is a beginners’ guide, I’ll describe the most straightforward one here.
Almost all the Linux distros come with Wine in their package repository. Most of the time the latest stable version of Wine is available via package repository. Installing Wine on Ubuntu is as easy as firing up a terminal and running these commands:
However, if you are using an 64bit installation of Ubuntu, you will need to run these additional commands:
This will add 32bit architecture support on your distro which will benefit you in installing specific software. If you don’t know whether you have a 32bit installation or 64bit, check this article: 32bit or 64bit Ubuntu?
What Windows applications are Supported by Wine?
There is a large number of Windows applications that are currently fully supported by Wine. They will run without any hassle.
However, new Windows applications are being developed every day. Many of them wouldn’t function as we want on Wine. But the development pace of Wine is also rapid, support for new applications is being added all the time.
And there is a dedicated database for keeping track of just that.
Wine Application Database has almost 24,000 applications rated with different status depending upon how well that applications run in Wine. If you want to quickly check the rating of the application you want to use in Wine, you can take a look there. Here are the meaning of those ratings:
- Platinum: These applications install and run flawlessly in out-of-the-box Wine.
- Gold: These applications work flawlessly with some special configuration.
- Silver: Applications with minor issues are tagged as Silver.
- Bronze: The Bronze ones have major issues that seriously affect usage.
- Garbage: These simply won’t run on Wine.
Reviews, Installation Procedure, which Wine version it was tested against and various useful data are also available for each application here.
Of course, Wine Application Database is mostly user-generated data, so you are always welcome to try running an application with a different version of Wine and share your result with rest of the community.
Finding an Application in Wine Application Database
Let’s see how we can find an application in Wine Application Database.
Go to Wine Application Database. Click Browse Apps from the left sidebar.
Write the name of the application you want to find in the Name field.
Click on the link to the application from the search result.
You’ll see a description of the application. There will be a list of various versions with their compatibility rating with a specific Wine version.
Let’s click on the latest version link.
This is the main page you need to check. There will be detailed information about that specific version.
You’ll get an idea of what will work and what will not. Also, the installation procedure will be included here if any additional tasks are needed for installation.
Getting Started with Wine
Before we go on installing and running applications in Wine, we should have clear idea about a few things and about how to configure Wine for usage:
WinePrefix
Windows applications need a C: drive. Wine uses a virtual C: drive for this purpose. The directory of this virtual C: drive is called wineprefix. First of all, we need to create a wineprefix. For doing that, fire up a terminal and enter this command:
This will create a wineprefix and open the configuration window for Wine. You can change the configuration options if you want or let it be as is for time being and close it. Now, you can locate the virtual C: drive at
The general rule is to install each new application into a fresh wineprefix. We can create and maintain multiple wineprefix manually. But that task would seem rather tedious for the beginners. So, we will skip that part for now. But, later I’m going to show the way for doing that part with ease.
Installing an Application with Wine
Installing a supported application in Wine is generally as easy as double-clicking on the installation file. However, we are now going to see a step-by-step guide for installing 7-zip on Wine.
First of all, check for 7-zip rating on Wine Application Database. It has Platinum rating, so we are good to go. Open Wine configuration ( winecfg ) and set the Windows Version to Windows 7.
Right-click on the 7-zip installation file and select Open With Wine Windows Program Loader.
See that destination folder path? 7-zip installation has recognized the virtual C: drive from wineprefix.
Finish the installation and go to the installation directory [ $HOME/.wine/drive_c/Program Files/7-zip/ ] from the file browser.
Right-click on 7zFM.exe and go to Properties > Open With.
Select Wine Windows Program Loader and close the window. Double-click on 7zFM.exe.
And there you go! For creating a shortcut on your desktop, right click on the file.
Now move the Link to Desktop.
Now, you can run 7-zip just from your desktop. All you have to do is double-click on the icon.
If you want to access your files on Linux, they are generally located in Z: Drive.
You can use the 7-zip just as you would use it on Windows – for extracting and creating archives and such.
Let’s make things (a lot) Easier
You might have noticed that, at Wine Application Database, with every version of application review a specific Wine version is mentioned.
It is because of the rapid development rate of Wine. Though an application runs with the current version of Wine, it might not run with a future version, because of the changes made.
Also, I’ve mentioned about installing each application in its own fresh wineprefix. So that, an application has no chance of interfering with another. And doing all these manually, usually from the terminal, is time-consuming, tiresome and at times, confusing.
PlayOnLinux is here to rescue. It provides a nice interface for doing all these things easily. For installing PlayOnLinux on Ubuntu, simply run this command:
You can easily perform every task related to Wine with PlayOnLinux from a beautiful and intuitive graphical interface:
- Installing & Uninstalling applications.
- Creating, Updating & Removing wineprefixes.
- Maintain Wine of different architecture and versions.
- Run & Create shortcut for installed applications.
- And so on…
But still, you will need to check Wine Application Database for reviews, installation procedures and such.
Advantages of using Wine
When it comes to running Windows applications on Linux system, Wine provides many advantages over using emulators or virtual machines.
- Performance: Wine is immune to the performance loss that otherwise occurs while emulating.
- Native Experience: There is no need to open Wine before running a Windows application. Exactly how Wine works will be more clear from this quote from official site,
Wine can be thought of as a Windows emulator in much the same way that Windows Vista can be thought of as a Windows XP emulator: both allow you to run the same applications by translating system calls in much the same way. Setting Wine to mimic Windows XP is not much different from setting Vista to launch an application in XP compatibility mode.
Wine Derivatives
There are quite a number of projects for running Windows applications on other platforms, based on Wine:
- CrossOver: CrossOver is a developed by the company named CodeWeavers. It is directly based on Wine with a few tweaks and proprietary add-ons. In fact, CodeWeavers employs a large portion of Wine developers. Unlike the rapid releases of Wine, CrossOver releases are more stable. The one and major downside is that Crossover is not free.
- PlayOnLinux: PlayOnLinux is completely based on Wine. And provides easier route for installing and managing application with Wine. PlayOnLinux is free.
It is also available for Mac as PlayOnMac. - ReactOS: ReactOS is an entirely different open-source operating system for running Windows applications. It reuses a considerable amount of codes from Wine. However, this is a project under development for more than a decade and I won’t recommend it.
Additional Tips on using Wine
Winetricks
This is another important part of using Wine. Winetricks is a helper script to download and install various redistributable runtime libraries needed to run some applications in Wine. These may include replacements for components of Wine using closed source libraries. Winetricks comes with Wine installation on Ubuntu.
For starting winetricks, run this command:
There are many options for helping you with various tasks.
Installing an Application with Winetricks
If you Install an app from winetricks, it will be installed in a separate wineprefix. Let’s install VLC:
It will then begin to download the VLC installation files. And then guide you through the rest of the process. It’s pretty simple.
Install Windows DLL or components and others
You can select a wineprefix from winetricks and install various libraries and components required by the application you want to run and also perform other operations.
N.B.: If using winetricks seems complicated to you, it’s perfectly okay. I feel the same way too. I always use PlayOnLinux for this reason. PlayOnLinux can do everything you might need to do from winetricks.
For more information you can check Wine FAQ and Documentation.
I hope you find this complete beginner’s guide to using Wine in Linux helpful. Now you can run Windows programs in Linux without installing a virtual machine or dual booting.
Let us know if you have any questions or opinion in the comment section below.
Like what you read? Please share it with others.