Skip to content
/ winery Public

Debug applications executed with Wine and whose dependencies are installed via Winetricks.

License

Notifications You must be signed in to change notification settings

Ohkthx/winery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Patreon donate button Buy me a coffee! Ko-fi
No data.

Winery

Winery is a cross-platform tool for debugging Wine installations and discovering the required Winetricks packages.

This process can be time consuming when the objective is to identify the EXACT packages required to get an application up and running without the bloat of unneeded packages. On the first start of Winery, a configuration file labled settings.sh is created that needs to be modified.

After your initial installation of an application inside of a WINE PREFIX. You can use the ./winery --winecfg to launch winecfg tailored to the installation. After the user is satisfied with the configurations of the environment, ./winery --backup is used to create a point that can be reverted to at any time. Proceed to use ./winery --winetricks some packages here to install packages to support your application.

TASTE TIME! When the user is ready to test the application to see if it works, execute ./winery --taste. This has wine start the application in the proper environment utilizing any additional packages installed with ./winery --winetricks.

If the application fails to work, ./winery --restore can be used to revert the whole environment back to last backup. This prevents the user having to remove the whole environment and reinstalling the application to try again.

Installation

# Obtaining winery with CURL
curl -O https://raw.githubusercontent.com/Ohkthx/winery/main/winery

# Obtaining winery with WGET
wget https://raw.githubusercontent.com/Ohkthx/winery/main/winery

Options and Examples

usage: ./winery [--help] [--taste] [--backup] [--restore]

--help           Shows this message.
--taste          Test (taste) the product, start it to see if it works.
--winecfg        Starts winecfg in the proper environment.
--winetricks     Must be last flag, installs remaining arguments.

--backup         Create a backup of the WINE PREFIX.
--restore        Override current WINE PREFIX with a backup.

Examples:
  Test Application:  ./winery --taste
  Add Packages:      ./winery --winetricks corefonts dotnet48
  Launch WINECFG:    ./winery --winecfg
  Backup prefix:     ./winery --backup
  Restore prefix:    ./winery --restore

Report issues to:
  https://github.com/Ohkthx/winery

Configuration

This configuration file is automatically created after the first run of Winery.

The WINEPREFIX variable is used by Wine to determine the root directory of the environment. For testing purposes, it is often easier to set a custom PREFIX so that the application is in an isolated environment. The user of this script does not need to set the WINEPREFIX directly, but instead modify the settings below.

In the example below. The WINEPREFIX will be $HOME/.wine64_myapp directory. The application that is being tested will be in $HOME/.wine64_myapp/drive_c/Program\ Files/MyApp/MyApp.exe

# Check for script updates.
AUTO_UPDATE_SCRIPT="true"

# WINEPREFIX_PARENT is the directory hosting the WINEPREFIX_DIR.
# WINEPREFIX_DIR is the directory hosting the Wine configuration.
# WINEPREFIX_ARCH is the architecture of the PREFIX this is often
#   set to either win32 or win64
WINEPREFIX_PARENT="$HOME"
WINEPREFIX_DIR=".wine64_myapp"
WINEPREFIX_ARCH="win32"
# NOTE: WINEPREFIX will be set to: WINEPREFIX_PARENT / WINEPREFIX_DIR

# PROGRAM_PARENT is the path starting from WINEPREFIX
# PROGRAM_EXE is the executable inside PROGRAM_PARENT to execute.
# PROGRAM_FLAGS are the command line arguments to pass to the executable.
PROGRAM_PARENT="drive_c/Program Files/MyApp"
PROGRAM_EXE="MyApp.exe"
PROGRAM_FLAGS="--debug"
# NOTE: The application being tasted will be...
#   WINEPREFIX / PROGRAM_PARENT / PROGRAM_EXE PROGRAM_FLAGS

About

Debug applications executed with Wine and whose dependencies are installed via Winetricks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages