Skip to content

sudo-give-me-coffee/wine32-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Win32-AppImage | Downloads |

"A simple and lightweight way to distribute the 32-bit Microsoft Windows® application on Linux".
It works on most Linux distributions.


Usage:

The wine32-deploy Commands

Bottle usage commands:

Command What its does
create-bottle => Create a new bottle with default settings
install => Install a software from outside bottle
run => Run the bottle as AppImage
  • create-bottle:
create-bottle  "Bottle Name"
  • install:
install  "Bottle Name" "path/to/file.exe"

The "path/to/file.exe" is relative to the current directory, and does not need to be inside "bottle"

  • run:
run  "Bottle Name"

You must set a "main executable" first

Bottle modification commands:

Command What its does
set-main-executable => Set main executable of bottle
set-name => Set name for application menu name
set-icon => Set icon for AppImage
set-category => Defines where application will appear on menu
  • set-main-executable:
set-main-executable "Bottle Name" "C:\path\to\file.exe"

The "C:/path/to/file.exe" is the main executable of your program, and follow some rules:

  1. Must be absolute
  2. You don't need worry about slashes be "\" or "/"
  3. Make sure that parameter starts with "C:" and file exists on "Bottle Name/prefix/drive_c/"
  • set-name:
set-name "Bottle Name" "New App Name"
  • set-icon:
set-icon "Bottle Name" "path/to/icon.png"

"path/to/icon.png" is the icon of your program, the path is relative to current directory, and does not need to be inside "bottle", but must be in PNG format with a recommended 256x256px resolution

  • set-category:
set-category "Bottle Name" "Category"

"Category" is the category of your program, in Linux this will determine where your Application will appear on Menu

 
    AudioVideo     Audio        Video    Development    Education    Game
    Graphics       Network      Office   Science        Settings     System
    Utility
 

Flags control commands:

Command What its does
enable => Enable a flag
disable => Set icon for AppImage
list-flags => List available flags

Flags modify behavior of packaged apps

  • enable:
enable "Bottle Name" copy-app-files

Enable flag "copy-app-files"

  • disable:
disable "Bottle Name" copy-app-files

Disable flag "copy-app-files"

  • list-flags:
list-flags

List supported flags and what they do

AppDir creation and manipulation commands:

Command What its does
create-appdir => Create an AppDir from bottle
minimize => Remove uneeded files from bottle
test => Test a bottle as AppImage
package => Build a AppImage from the bottle AppDir

Flags modify behavior of packaged apps

  • create-appdir:
create-appdir "Bottle Name"

If application does verification of DLL sigatures you must pass --keep-registry parameter

  • minimize:
minimize "Bottle Name"

This command allows the quick removal of unnecessary Wine files for the application to run

  • test:
test "Bottle Name"

This command allows test application simulating a real user HOME, before packaging AppImage

  • package:
package "Bottle Name"

Simplified way to build an AppImage from the bottle

Useful tools

Command What its does
winecfg => Open Wine configurator
regedit => Open Wine register editor
taskmgr => Open a task manager for wine apps
uninstaller => Open the 'Wine Uninstaller'

Building AppImage from source

All you need is the docker and git, most linux distributions have it in the repository, once time installed, you need 5 steps:

  1. Clone repository and enter on repository (if you don't did it):
git clone https://github.com/sudo-give-me-coffee/wine32-deploy.git
cd wine32-deploy
  1. Turn the build script executable:
chmod +x build.sh
  1. Run docker:
docker build . -t wine.appimage
  1. Copy AppImage to current dir and remove original file:
sudo cp "$(sudo find /var/lib/docker -name 'Wine-*x86_64.AppImage')" .
sudo rm "$(sudo find /var/lib/docker -name 'Wine-*x86_64.AppImage')" .
  1. Make AppImage executable:
sudo chmod 777 Wine-*x86_64.AppImage

Credits: