                              Wine Documentation                               
Prev                      Chapter 3. Wine Components                       Next
-------------------------------------------------------------------------------

3.2. Dynamic Wine Files

Wine also generates and depends on a number of dynamic files, including user
configuration files and registry files.

At the time of this writing, there was not a clear consensus of where these
files should be located, and how they should be handled. This section attempts
to explain the alternatives clearly.

 1.
    Configuration File
   
    WINECONFDIR/config
       
        This file is the user local Wine configuration file. At the time of
        this writing, if this file exists, then no other configuration file is
        loaded.
       
    ETCDIR/wine.conf
       
        This is the global Wine configuration file. It is only used if the user
        running Wine has no local configuration file.
       
        Some packagers feel that this file should not be supplied, and that
        only a wine.conf.default should be given here.
       
        Other packagers feel that this file should be the predominant file
        used, and that users should only shift to a local configuration file if
        they need to. An argument has been made that the local configuration
        file should inherit the global configuration file. At this time, Wine
        does not do this; please refer to the WineHQ discussion archives for
        the debate concerning this.
       
        This debate is addressed more completely below, in Packaging Strategies
        .
       
 2. Registry Files
   
    In order to replicate the Windows registry system, Wine stores registry
    entries in a series of files. For an excellent overview of this issue, read
    this Wine Weekly News feature.
   
    The bottom line is that, at Wine server startup, Wine loads all registry
    entries into memory to create an in memory image of the registry. The order
    of files which Wine uses to load registry entries is extremely important,
    as it affects what registry entries are actually present. The order is
    roughly that .dat files from a Windows partion are loaded, then global
    registry settings from ETCDIR, and then finally local registry settings are
    loaded from WINECONFDIR . As each set are loaded, they can override the
    prior entries. Thus, the local registry files take precedence.
   
    Then, at exit (or at periodic intervals), Wine will write either all
    registry entries (or, with the default setting) changed registry entries to
    files in the WINECONFDIR.
   
    WINECONFDIR/system.reg
       
        This file contains the user's local copy of the HKEY_LOCAL_MACHINE
        registry hive. In general use, it will contain only changes made to the
        default registry values.
       
    WINECONFDIR/user.reg
       
        This file contains the user's local copy of the HKEY_CURRENT_USER
        registry hive. In general use, it will contain only changes made to the
        default registry values.
       
    WINECONFDIR/userdef.reg
       
        This file contains the user's local copy of the HKEY_USERS\.Default
        registry hive. In general use, it will contain only changes made to the
        default registry values.
       
    WINECONFDIR/wine.userreg
       
        This file is being deprecated. It is only read if there is no user.reg
        or wine.userreg, and it supplied the contents of HKEY_USERS.
       
    ETCDIR/wine.systemreg
       
        This file contains the global values for HKEY_LOCAL_MACHINE. The values
        in this file can be overridden by the user's local settings.
       
        Note The location of this directory is hardcoded within wine,  
             generally to /etc. This will hopefully be fixed at some   
             point in the future.                                      
       
    ETCDIR/wine.userreg
       
        This file contains the global values for HKEY_USERS. The values in this
        file can be overridden by the user's local settings. This file is
        likely to be deprecated in favor of a global wine.userdef.reg that will
        only contain HKEY_USERS/.Default.
       
 3.
    Other files in WINECONFDIR
   
    WINECONFDIR/wineserver-[hostname]
       
        This directory contains files used by Wine and the Wineserver to
        communicate. A packager may want to have a facility for the user to
        erase files in this directory, as a crash in the wineserver resulting
        in a bogus lock file can render wine unusable.
       
    WINECONFDIR/cachedmetrics.[display]
       
        This file contains font metrics for the given X display. Generally,
        this cache is generated once at Wine start time.
       
-------------------------------------------------------------------------------
Prev                                 Home                                  Next
Wine Components                       Up                 Important Files from a
                                                              Windows Partition
