Written by James Juran <juran@cse.psu.edu>
(Extracted from wine/documentation/no-windows)
A major goal of Wine is to allow users to run Windows programs without having to install Windows on their machine. Wine implements the functionality of the main DLLs usually provided with Windows. Therefore, once Wine is finished, you will not need to have Windows installed to use Wine.
Wine has already made enough progress that it may be possible to run your target applications without Windows installed. If you want to try it, follow these steps:
Point [Drive C] in ~/.wine/config to the directory where you want C: to be. Refer to the wine.conf man page for more information. The directory to be used for emulating a C: drive will be the base directory for some Windows specific directories created below. Remember to use "Filesystem" = "win95"!
Within the directory to be used for C:, create empty windows, windows/system, windows/Start Menu, and windows/Start Menu/Programs directories. Do not point Wine to a Windows directory full of old installations and a messy registry. (Wine creates a special registry in your home directory, in $HOME/.wine/*.reg. Perhaps you have to remove these files). In one line: mkdir -p windows windows/system windows/Start\ Menu windows/Start\ Menu/Programs
Use tools/wineinstall to compile Wine and install the default registry. Or if you prefer to do it yourself, compile programs/regapi, and run:
programs/regapi/regapi setValue < winedefault.reg |
Run and/or install your applications.
Because Wine is not yet complete, some programs will work better with native Windows DLLs than with Wine's replacements. Wine has been designed to make this possible. Here are some tips by Juergen Schmied (and others) on how to proceed. This assumes that your C:\windows directory in the configuration file does not point to a native Windows installation but is in a separate Unix file system. (For instance, "C:\windows" is really subdirectory "windows" located in "/home/ego/wine/drives/c").
Run the application with --debugmsg +loaddll to find out which files are needed. Copy the required DLLs one by one to the C:\windows\system directory. Do not copy KERNEL/KERNEL32, GDI/GDI32, USER/USER32 or NTDLL. These implement the core functionality of the Windows API, and the Wine internal versions must be used.
Edit the "[DllOverrides]" section of ~/.wine/config to specify "native" before "builtin" for the Windows DLLs you want to use. For more information about this, see the Wine manpage.
Note that some network DLLs are not needed even though Wine is looking for them. The Windows MPR.DLL currently does not work; you must use the internal implementation.
Copy SHELL/SHELL32 and COMDLG/COMDLG32 COMMCTRL/COMCTL32 only as pairs to your Wine directory (these DLLs are "clean" to use). Make sure you have these specified in the "[DllPairs]" section of ~/.wine/config.
Be consistent: Use only DLLs from the same Windows version together.
Put regedit.exe in the C:\windows directory. (Office 95 imports a *.reg file when it runs with an empty registry, don't know about Office 97).
Also add winhelp.exe and winhlp32.exe if you want to be able to browse through your programs' help function.