• Create Account

### Tutorial info

• Added on: Jan 01 2012 12:48 PM
• Date Updated: Jan 01 2012 12:49 PM
• Views: 5487

0 Ratings

# RegEdit [Wineskin / CXEx]

This tutorial will instruct users of using the basics of WineRegEdit available through the Wineskin.app interface

Posted by DankoB on Jan 01 2012 12:48 PM
Wineskin / CXZ RegEdit Tutorial

The Registry

The registry is a complicated and complex series of keys and strings and that allow and certain functions to take place within applications and the operating system itself. Most of the time you will be able to complete your task using the WineCfg application however, there are times when you need to access to registry to add, remove or modify information. Unlike the windows registry files, the wine registry files can be edited using your favorite text editor.

All Wine registry values are located with 3 main files. The 'user.reg' file, the 'system.reg' file, and the userdef.reg. Although, most changes you make manually  will take place within the 'user.reg' file.

Registry Structure (copied & pasted from WineHQ)

HKEY_LOCAL_MACHINE
This fundamental root key (in win9x it's stored in the hidden file system.dat) contains everything pertaining to the current Windows installation. This is often abbreviated HKLM.
HKEY_USERS
This fundamental root key (in win9x it's stored in the hidden file user.dat) contains configuration data for every user of the installation.
HKEY_CLASSES_ROOT
This is a link to HKEY_LOCAL_MACHINE\Software\Classes. It contains data describing things like file associations, OLE document handlers, and COM classes.
HKEY_CURRENT_USER

This structure reflects on the three files previously mentioned as such:
system.reg - This file contains HKEY_LOCAL_MACHINE keys
user.reg - This file contains HKEY_CURRENT_USER keys
userdef.reg - This file contains HKEY_USERS\.Default keys (i.e. the default user settings).

Using Regedit

The regedit tool works very similar to that of it's Windows counterpart whereas it provides a system level view of the registry containing all of the system information. Click on any given line and it will expand, exposing the next level of keys and strings.

In Wineskin you can locate the regedit application by opening Wineskin Settings and clicking on the advanced tabÃ¢â‚¬â¦then click wineskin tools and then choose Wineskin regedit.

In the CXZ wrappers, you will find the regedit application located in the contents folder, simply right click and show package contents. Click on the contents folder to find the CXZ regedit.

When you open up the application you see this interface:

The first step will be to bring up the search window by pressing cntrl + FÃ¢â‚¬â¦.when the search window opens type the name of your game.

Click enter and the program will begin it's searchÃ¢â‚¬â¦once a key or string has been found meeting your search reference then it will automatically open. In order to save this registry entry, simply highlight the opened folder and right click. Choose to export and save the file to a location you'll remember. Use a simple name to save your entry, such as l4d2a.reg, you may have multiple keys that need to be transferred so something that has an easy sequence is recommended ie. l4d2a.reg, l4d2b.reg, l4d2c.reg and so onÃ¢â‚¬â¦

Once you've saved the key then click cntrl + F again to bring up the search window and click findÃ¢â‚¬â¦..continue to do this until all the entries are found, eventually when there are no others to be found you will get this window, and the search is over.

Click OK and now it's time to transfer the registry values over to Mac OS X.

This is dead simple as well. Click on File in the menu bar of the Wine regedit application and choose import. A window will open up for you to select the registry files that you've extracted from Windows regedit. I normally put all files on the desktop and click the folder up button until you come to your z: drive (this being your mac OS X drive) find your desktop and choose they registry file to import. As far as I know you can only do this one file at a time.

As I mentioned previously you can also edit the wine registry files using your favorite text editor. The most important thing to know when doing this is what keys to use. The information below is taken directly from the WineHQ wiki. It is strongly recommended that you visit this website and research information on how Wine works, you can also use the App DataBase to find out what kind of luck others have had with the application you want to port.

http://www.winehq.org/
http://wiki.winehq.org/
http://appdb.winehq.org/

Useful Registry Keys (Taken Directly from Wiki Wine HQ)

HKEY_CURRENT_USER (a.k.a HKCU)

|
+-Software
|
+-Wine
|
+-Alsa Driver
|  |
|  +->AutoScanCards
|  |   [Whether or not to scan all known sound cards and add them to Wine's list
|  |    Set to "N", and then Devicexxx info is a way to exactly specify the devices
|  |    used by Wine. (default yes)]
|  |
|  +->AutoScanDevices
|  |   [Whether or not to scan all known PCM devices on each card (default no)]
|  |
|  +->DeviceCount
|  |   [If present, specifies the number of hard coded Alsa devices to add to Wine's list.
|  |    Set to "1" if you want to specify sound device below (ex. a second card/usb headphones to be used by Wine).
|  |    default 0]
|  |
|  +->DeviceCTLn      (where n goes from 1 to DeviceCount)
|  |   [Specifies the Alsa control devices to open for Device n (example: "hw:1")]
|  |
|  +->DevicePCMn      (where n goes from 1 to DeviceCount)
|  |   [Specifies the Alsa PCM devices to open for Device n (example: "hw:1")]
|  |
|  +->UseDirectHW
|      [When set to y, direct hardware access is used
|       (can prevent buffer underruns in some cases)]
|
+-AppDefaults
|  |
|  +-*
|       [Application specific defaults. Replace app.exe with the name of the
|        application you want to override defaults for. And use the same subtrees
|        as the Wine subtree (i.e. DllOverrides, X11 Driver, etc.).]
|

+-Debug
|  |
|  +->RelayExclude
|  |   [Use this key to exclude some calls from the (overwhelming) +relay debug logging. Example:
|  |    "RelayExclude"="ntdll.RtlEnterCriticalSection;ntdll.RtlLeaveCriticalSection"]
|  |
|  +->RelayFromExclude
|  |   [Exclude calls made from listed dlls in the the +relay debug log. Example:
|  |    "RelayFromExclude"="kernel32" - omit all calls made from kernel32.dll]
|  |
|  +->SpyExclude
|  |   [Exclude listed messages from the +message debug log. Example:
|  |    "SpyExclude"="WM_TIMER;WM_MOUSEMOVE;WM_PAINT"]
|  |
|  +->SpyInclude
|      [Include only listed messages in the +message debug log. Example:
|       "SpyInclude"="WM_CREATE"]
|
+-Direct3D
|  |
|  +->AlwaysOffscreen
|  |   [Use offscreen rendering for all render targets. The main effect this has is
|  |    avoiding the depth buffer copy between offscreen and onscreen targets, which
|  |    introduces fallbacks in some drivers and exposes bugs in others. There may be a
|  |    performance hit depending on the specific driver. Set to "enabled" to enable.]
|  |
|  +->DirectDrawRenderer
|  |   [Select what backend to use for ddraw. Valid options are:
|  |        gdi - Use GDI to draw on the screen
|  |        opengl - Use OpenGL (default)
|  |    The "gdi" option mostly exists for legacy reasons. Aside from bugs in the GL
|  |    renderer, only change this if you have a setup without OpenGL. Installing a software
|  |    GL implementation is the preferred solution in that case though.]
|  |
|  +->Multisampling
|  |   [Set to "disabled" to prevent applications from seeing Wine's multisampling support.
|  |    This is another legacy option that will most likely disappear at some point. There
|  |    should be no reason to set this.]
|  |
|  +->OffscreenRenderingMode
|  |   [Select the offscreen rendering implementation.
|  |        backbuffer - Render offscreen render targets in the backbuffer
|  |        fbo - Use framebuffer objects for offscreen rendering (default)]
|  |
|  +->RenderTargetLockMode
|  |   [Selects which mode is used for mapping onscreen render targets.
|  |        disabled - Effectively disables render target locking
|  |
|  +->StrictDrawOrdering
|  |   [This option ensures any pending drawing operations are submitted to the driver, but at
|  |    a significant performance cost. Set to "enabled" to enable.]
|  |
|  +->UseGLSL
|  |   [When set to "disabled", this disables the use of GLSL for shaders.
|  |    In general disabling GLSL is not recommended, only use this for debugging purposes.]
|  |
|  +->VideoMemorySize
|  |   [Sets the amount of reported video memory (in megabytes). The default is a simple
|  |    auto-detection based on the card type guessed from OpenGL capabilities.]
|  |
|  +->VideoPciDeviceID
|  |   [DWORD Value (REG_DWORD): sets the pci device id of the video card. See next value.]
|  |
|  +->VideoPciVendorID
|      [DWORD Value (REG_DWORD): sets the pci vendor id of the video card. By default Wine estimates
|       these values based on OpenGL info but this doesn't work well in all cases. If you want to
|       override our estimates check the output of e.g. lspci -n on Linux. For a video card this
|       could show 05:00.0 0300: 10de:0402 (rev a1). In this result 0x10de (Nvidia) is the pci vendor
|       id and '0x0402' (Geforce 8600GT) is the pci device id. The '0x0300' means video card.

+-DirectInput
|  |
|  +->MouseWarpOverride
|  |   [Override default mouse pointer warping behavior:
|  |    enable:  (default) warp pointer when mouse exclusively acquired
|  |    disable: never warp the mouse pointer
|  |    force:   always warp the pointer]
|  |
|  +->* =
|      [This maps axes of joystick "joystick name". The "axes mapping" is
|       comma-separated list of "axis type"s - one for each joystick axis (hat-pov uses 2 axes).
|       "axis type" is one of: X, Y, Z, Rx, Ry, Rz, Slider1, Slider2, POV1, POV2, POV3, POV4.
|       To find the joystick name run
|       'WINEDEBUG=+dinput wine game.exe 2>&1 | grep joydev_enum_device'
|       Example output: trace:dinput:joydev_enum_deviceW Enumerating the linux Joystick device: /dev/input/js0 (Logitech Logitech Dual Action)
|       Example registry entry: "Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1". (two "Logitech"s not a typo)]

|
+-DirectSound
|  |
|  +->HelBuflen
|  |
|  |  Hel buffer length - default is 65536
|  |
|  +->SndQueueMax
|  |
|  |  Maximum sound queue - default is 10
|  |
|  |
|  |  FIXME: What does this do?
|  |  Default is 2. Set to 0 to avoid crashes in some games. See http://bugs.winehq.o...bug.cgi?id=9612
|  |
|  +->DefaultSampleRate
|  |
|  |  Sampling rate to use. Default is 44100
|  |
|  +->DefaultBitsPerSample
|
|     How many bits to use per sample. Default is 16.
|
+-Drivers
|  |
|  +->Audio
|       Which audio backend to use. Should be a string such as "alsa" or "oss" or "coreaudio".
|       Set to the empty string to disable audio entirely. Given a comma-separated list of
|       drivers, Wine will attempt to make the most appropriate choice.
|
+-Fonts
|  |
|  +-Replacements
|  |  |
|  |  +->* =
|  |      ["Wingdings"="Winedings" would enumerate the Winedings font both as Winedings and
|  |       Wingdings. However if a real Wingdings font is present the replacement does not
|  |       take place.]
|  |
|  +-ExternalFonts
|     |
|     +->*
|         [ExternalFonts has a list of font names whose
|          values are the name of the actual font]
|
+-MSHTML
|  |
|  +->GeckoPath
|  |   [Path to the where Gecko engine is installed. Example: "c:\Program Files\wine_gecko".]
|  |
|  +->GeckoUrl
|      [This is the url to the Wine Gecko required by MSHTML.
|       Default is http://portingteam.c...edirect.php?htt ... egecko.php.
|       You can change it to a local file like http://portingteam.c...ct.php?file://Z:\path\to\wine_gecko.cab
|       so you don't need to redownload it each time you create a new wineprefix.]
+->GeckoUrl
|      [This is the url to the Wine Gecko required by MSHTML.
|       Default is http://source.winehq.../winegecko.php.
|       You can change it to a local file like file://Z:\path\to\wine_gecko.cab
|       so you don't need to redownload it each time you create a new wineprefix.]
|
+-Network
|  |
|  +->UseDnsComputerName
|      [Set to N if you need a persistent NetBIOS ComputerName that possibly
|       differs from the Unix host name. You'll need to set ComputerName in
|       HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName]
|
+-OpenGL
|  |
|  +->DisabledExtensions
|      [Space separated list of OpenGL extensions that are not reported to applications.
|
+-Printing
|  |
|  +->PPD Files
|  |  |  [When CUPS does not find any printers (Wine compiled without CUPS,
|  |  |   then this key must exist to use your printers from "/etc/printcap"]
|  |  |
|  |  +->* =
|  |  |    [If no value with the name "PPD file" is found in the registry in
|  |  |     the settings for a printer ("\\PrinterDriverData"),
|  |  |     then this key is tried next.]
|  |  |
|  |  +->"generic" =
|  |        [This PPD file is used when every other key has failed.
|  |         "wineps.drv" needs a PPD file for every printer.]
|  |
|  +->Spooler
|     |  [You can redirect any printer port to a Unix file or pipe it to a
|     |   Unix application. This is also useful when a Windows program has
|     |   disabled the "Redirect to File" option in the Print dialog.]
|     |
|     +->* =
|         [All printers with the given portname can be redirected.
|          Example of unixfile: "LPT1:" = "/tmp/printer_data.ps"
|          Example of pipe: "LPR:Print with KDE" = "|kprinter" ]
|
+->Version
|   [This is the version of Windows Wine will report.
|    Values: vista, win2003, winxp, win2k, winnt, winme, win98, win95, win31.]
|
+-VDM
|  |
|  +-ppdev
|     |
|     +->* =
|         [This sets mapping between port_number and /dev/parportN device.
|           For example  "378  /dev/parport0".]
|
+-WineBrowser
|  |
|  +->Browsers
|  |   [List of browsers that Wine will attempt to launch when running winebrowser
|  |    command or clicking on a link in a Windows application. Default value is
|  |    xdg-open,firefox,konqueror,mozilla,netscape,galeon,opera,dillo]
|  |
|  +->Mailers
|      [List of mail clients that Wine will attempt to launch when running winebrowser
|       Default value is xdg-email,mozilla-thunderbird,thunderbird,evolution]
|
+-WineDbg
|  |
|  +->BreakOnFirstChance
|  |   [DWORD value. Set this to "0" to let applications handle exceptions themselves.
|  |    winedbg then only catches exceptions that are not handled by the app,
|  |    which makes debugging a bit easier.
|  |    Default value is "1" (enabled)]
|  |
|  +->ShowCrashDialog
|      [DWORD value. Set this to "0" to disable the GUI crash dialog.
|       Default value is "1" (enabled)]
|
+-X11 Driver
|
+->ClientSideWithRender
|   [Set this to "N" if you don't want to use the Render extension to render client side fonts]
|
+->ClientSideAntiAliasWithRender
|   [Set this to "N" to disable font anti-aliasing when X-Render extension is present]
|
+->ClientSideAntiAliasWithCore
|   [Set this to "N" to disable font anti-aliasing when X-Render extension is not present
|    or disabled]
|
+->Desktop
|   [This key is set to the size (resolution) when you are using the
|    "Emulate a virtual desktop"-option in winecfg.
|     The value is used as is (if not "n", "f" or "0") for the X11 geometry.]
|
+->DXGrab
|   [Set this to "Y" to allow DirectX apps to stop the mouse leaving their window.]
|
+->Managed
|   [Set this to "N" to disallow the window manager to manage created windows.]
|
+->Synchronous (removed as of 2006-02-24. use "synchronous" debug channel instead)
|   [In case of X errors it sometimes helps to set it to "Y".]
|
+->UseXRandR
|   [Set this to "N" to prevent wine from switching the resolution using XRandr extension.]
|
+->UseXVidMode
[Set this to "Y" to allow wine switch the resolution using XVidMode extension.]

HKEY_LOCAL_MACHINE (a.k.a HKLM)

|
+-Software
|  |
|  +-Microsoft
|     |
|     +-DirectDraw
|     |  |
|     |  +->ForceRefreshRate      (added in Wine 0.9.58)
|     |      [DWORD value (REG_DWORD): Set this to the refresh rate you wish to
|     |       force for DirectX games.  This is analogous to forcing the refresh
|     |       rate in Windows using dxdiag as described in KB315614 (main article),
|     |       KB230002, and KB217348.  If this key does not exist, the default
|     |       refresh rate will be used.]
|     |
|     +-Internet Explorer
|     |  |
|     |  +->Version
|     |  +->W2kVersion
|     |  |   [Useful to make application believe that you have Internet Explorer
|     |  |   installed (if you set it manually, you might need some IE-provided
|     |  |   dlls). Set them to "6.0.2800.1106" for IE6SP1.]
|     |  |
|     |  +->Build
|     |     [Same as above. Set it to "62800.1106" for IE6SP1.]
|     |
|     |
|     +-Windows
|     |  |
|     |  +-CurrentVersion
|     |     |
|     |        |
|     |        +-IExplore.exe
|     |           [this key explains where to find iexplore.exe.
|     |            It is needed if you install the gecko engine.
|     |            Default: "C:\Program Files\Internet Explorer\iexplore.exe"
|     |            "Path": "C:\Program Files\Internet Explorer;"]
|     |
|     +-Windows NT
|        |
|        +-CurrentVersion
|           |
|           +->FontSubstitutes
|           |   [Define font substitutes.
|           |    For example: "Tahoma"="Arial" will substitute 'Tahoma' font with 'Arial' font.]
|           |
|           +-AeDebug
|              |
|              +->Debugger
|                  [Command to execute on unhandled exception. The environment
|                   variable WINEDEBUG is cleared before execution.
|                   Default: "winedbg --auto %ld %ld"]
|
|
|
--System
|
+-CurrentControlSet
|
+-Control
|  |
|  +-Windows
|  |  |
|  |  +->CSDVersion
|  |      [Current service pack version.
|  |       On Windows XP, SP2 is 0x00000200 and SP3 is 0x00000300]
|  |
|  +-ComputerName
|  |  |
|  |  +->ComputerName
|  |      [Current computer name.
|  |       Updated automatically from Unix host name unless UseDnsComputerName=N]
|  |
|  +-Session Manager
|     |
|     +->GlobalFlag
|     |   [DWORD. Used to enable various internal diagnostics, such as heap checking.]
|     |
|     +-Environment
|        |
|        +->ComSpec
|        |   [Location of the system's command prompt.
|        |    Default: c:\windows\system32\cmd.exe]
|        |
|        +->PATH
|        |   [Path environment variable for searching programs.
|        |    Default: c:\windows\system32;c:\windows]
|        |
|        +->ProgramFiles
|        |   [Location of the Program Files directory and ProgramFiles environment variable.
|        |    Default for English: C:\Program Files]
|        |
|        +->SYSTEMROOT
|        |   [Location of the windows system root and SYSTEMROOT environment variable.
|        |    Default: c:\windows]
|        |
|        +->TEMP
|        |   [Location of the temporary files directory and TEMP environment variable.
|        |    Default: c:\windows\temp
|        |
|        +->TMP
|        |   [Same as above.]
|        |
|        +->USERPROFILE
|        |   [Location of the user's profile directory and USERPROFILE environment variable.
|        |    Default: c:\windows\Profiles\]
|        |
|        +->windir
|        |   [Location of the windows system root
|        |    Default: c:\windows]
|        |
|        +->winsysdir
|            [Location of the system libraries directory
|             Default: c:\windows\system32]
|
+-Hardware Profiles
|
+-Current
|
+-Software
|
+-Fonts
|
+->LogPixels
[DWORD value (REG_DWORD): Sets current DPI (font size).
Some dialogs resize themselves according to this value.
Default: 96 (decimal).]

This tutorial is meant only as a beginner's guide. Please correct any information you believe to be inaccurate.

Open regedit and navigate to the HKEY_CURRENT_USER > Software > Wine tab

Right click on Wine and choose New > Key Ã¢â‚¬â¦type in the name of the desired Key. In this case the key will be DirectInput.

Once the key is created right click on the new key and choose New > String

The last step is to add the value of the string. To do this either right click on the string and choose moddify or double click on it. Add the desired value and close wine regedit application.

Those are the steps needed to create your own registry edit in Wine.

I've highlighted some commonly used keys that are provided over at WineHQ above in the first post...these can prove to be quite useful as the spelling must be absolutely correct in order to be effective.
• Report
Nice tutorial dank!
• Report
Good tutorial.
• Report
Intel HD Graphics 3000 384 MB
• Report