What files to create

After installing the static and shareable files, the next question the packager needs to ask is how much dynamic configuration will be done, and what configuration files should be created.

There are several approaches to this:

  1. Rely completely on user file space - install nothing

    This approach relies upon the new winecfg utility and the new ability of Wine to launch winecfg if no configuration file is found. The basic concept is that no global configuration files are created at install time. Instead, Wine configuration files are created on the fly by the winecfg program when Wine is invoked. Further, winecfg creates default Windows directories and paths that are stored completely in the users WINECONFDIR.

    This approach has the benefit of simplicity in that all Wine files are either stored under /opt/wine or under ~/.wine. Further, there is only ever one Wine configuration file.

    This approach, however, adds another level of complexity. It does not allow Wine to run Solitaire 'out of the box'; the user must run the configuration program first. Further, winecfg requires Tcl/Tk, a requirement not beloved by some. Additionally, this approach closes the door on multi user configurations and presumes a single user approach.

  2. Build a reasonable set of defaults for the global wine.conf, facilitate creation of a user's local Wine configuration.

    This approach, best shown by Marcus, causes the installation process to auto scan the system, and generate a global wine.conf file with best guess defaults. The OpenLinux packages follow this behaviour.

    The keys to this approach are always putting an existing Windows partition into the path, and being able to run Solitaire right out of the box. Another good thing that Marcus does is he detects a first time installation and does some clever things to improve the user's Wine experience.

    A flaw with this approach, however, is it doesn't give the user an obvious way to choose not to use a Windows partition.

  3. Build a reasonable set of defaults for the global wine.conf, and ask the user if possible

    This approach, demonstrated by Ove, causes the installation process to auto scan the system, and generate a global wine.conf file with best guess defaults. Because Ove built a Debian package, he was able to further query debconf and get permission to ask the user some questions, allowing the user to decide whether or not to use a Windows partition.