# These entries must apparently exist in any win95-compatible registry.
# (feed this to `regapi setValue' to install)

# Shell Folders. The purpose of these are pretty self-evident.
# Primarily used by installation programs and the Explorer.

[HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Favorites"="C:\WINDOWS\Favorites"
"StartUp"="C:\WINDOWS\Start Menu\Programs\Startup"
"Desktop"="C:\WINDOWS\Desktop"
"Programs"="C:\WINDOWS\Start Menu\Programs"
"Fonts"="C:\WINDOWS\Fonts"
"SendTo"="C:\WINDOWS\SendTo"
"Start Menu"="C:\WINDOWS\Start Menu"
"Templates"="C:\WINDOWS\ShellNew"
"Recent"="C:\WINDOWS\Recent"
"NetHood"="C:\WINDOWS\NetHood"
"Personal"="C:\My Documents"

[HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"Personal"="C:\My Documents"
"Favorites"="C:\WINDOWS\Favorites"

# Same as above, but for HKEY_CURRENT_USER, not HKEY_USERS\.Default

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Favorites"="C:\WINDOWS\Favorites"
"StartUp"="C:\WINDOWS\Start Menu\Programs\Startup"
"Desktop"="C:\WINDOWS\Desktop"
"Programs"="C:\WINDOWS\Start Menu\Programs"
"Fonts"="C:\WINDOWS\Fonts"
"SendTo"="C:\WINDOWS\SendTo"
"Start Menu"="C:\WINDOWS\Start Menu"
"Templates"="C:\WINDOWS\ShellNew"
"Recent"="C:\WINDOWS\Recent"
"NetHood"="C:\WINDOWS\NetHood"
"Personal"="C:\My Documents"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"Personal"="C:\My Documents"
"Favorites"="C:\WINDOWS\Favorites"

[HKEY_CURRENT_USER\Control Panel\desktop]
"DragFullWindows"="0"

#
# Override default load address of BDE (Borland database engine),
# since it's not available on Linux
#

[HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\Settings\SYSTEM\INIT]
"SHAREDMEMLOCATION"="9000"

#
# General OLE/DCOM config
#

[HKEY_LOCAL_MACHINE\Software\Microsoft\OLE]
# allow cross-machine calls (RPC) (default Y)
"EnableDCOM"="Y"
# allow incoming connections ? (def. N)
"EnableRemoteConnect"="N"

#
# General installation config
#

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion]
"ProgramFilesDir"="C:\Program Files"
"CommonFilesDir"="C:\Program Files\Common Files"
"RegisteredOrganization"="Change preferred organization in ~/.wine/system.reg"
"RegisteredOwner"="Change preferred owner in ~/.wine/system.reg"

# Font name to font file mappings
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Fonts]
# "Arial (TrueType)"="ARIAL.TTF"      # sample entry
@=""

# This is intended for a centrally managed (server) directory where
# system files and e.g. fonts can reside. Most installs have this set
# to C:\WINDOWS, though.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup]
"SharedDir"="C:\WINDOWS"

#
# Configuration for unhandled exceptions
#
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
# command line to start a debugger when an exception occurs
"Debugger"="debugger/winedbg %ld %ld"
# to 0 if a message box has to be presented before running the debugger
"Auto"="1"

#
# This identifies the files for available code pages
#

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Codepage]
"ACP"="1252"
"OEMCP"="437"

#
# Entries for OLE32 (COM/OLE base)
#

# OLE32's built-in marshaler, handles standard interfaces such as IClassFactory.
# (PSFactoryBuffer = Proxy/Stub factory)
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}]
@="PSFactoryBuffer"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}\InProcServer32]
@="ole32.dll"
"ThreadingModel"="Both"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0000030b-0000-0000-C000-000000000046}]
@="DfMarshal"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0000030b-0000-0000-C000-000000000046}\InProcServer32]
@="ole32.dll"
"ThreadingModel"="Both"

# IUnknown, the superclass for everything COM/OLE.
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}]
@="IUnknown"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\BaseInterface]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\NumMethods]
@="3"

# IClassFactory, standard interface for creating instances of classes.
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000001-0000-0000-C000-000000000046}]
@="IClassFactory"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000001-0000-0000-C000-000000000046}\NumMethods]
@="5"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000001-0000-0000-C000-000000000046}\ProxyStubClsid32]
@="{00000320-0000-0000-C000-000000000046}"

#
# Entries for OLEAUT32 (OLE Automation)
#

# The Universal Marshaler, also known as the Type Library Marshaler.
# (PSOAInterface = Proxy/Stub OLE Automation interface)
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00020424-0000-0000-C000-000000000046}]
@="PSOAInterface"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00020424-0000-0000-C000-000000000046}\InProcServer]
@="ole2disp.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00020424-0000-0000-C000-000000000046}\InProcServer32]
@="oleaut32.dll"
"ThreadingModel"="Both"

# OLE Automation type libraries.
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\1.0]
@="OLE Automation"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\1.0\0\win16]
@="stdole.tlb"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\1.0\0\win32]
@="stdole32.tlb"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\1.0\FLAGS]
@="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\2.0]
@="OLE Automation"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\2.0\0\win32]
@="stdole2.tlb"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\2.0\FLAGS]
@="0"

#
# SHELL32 entries base classes of the desktop/ shelllinks
# Used by common dialogs, programs creating and many others
#

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}]
@="Shortcut"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}\InProcServer32]
@="shell32.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}]
@="Shortcut"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\InProcServer32]
@="shell32.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\shellex\MayChangeDefaultMenu]
@=""

#
# Entries for DirectX. Used by high-performance multimedia applications, like games.
#

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX]
"Version"="4.07.00.0700"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D7B70EE0-4340-11CF-B063-0020AFC2CD35}]
@="DirectDraw Object"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D7B70EE0-4340-11CF-B063-0020AFC2CD35}\InprocServer32]
@="ddraw.dll"
"ThreadingModel"="Both"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{593817A0-7DB3-11CF-A2DE-00AA00B93356}]
@="DirectDraw Clipper Object"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{593817A0-7DB3-11CF-A2DE-00AA00B93356}\InprocServer32]
@="ddraw.dll"
"ThreadingModel"="Both"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D1EB6D20-8923-11D0-9D97-00A0C90A43CB}]
@="DirectPlay Object"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D1EB6D20-8923-11D0-9D97-00A0C90A43CB}\InprocServer32]
@="dplayx.dll"
"ThreadingModel"="Both"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{47D4D946-62E8-11cf-93BC-444553540000}]
@="DirectSound Object"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{47D4D946-62E8-11cf-93BC-444553540000}\InprocServer32]
@="dsound.dll"
"ThreadingModel"="Both"

#
# Entries used by Internet Explorer installer
#

# Active Setup is installed
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6E449686-C509-11CF-AAFA-00AA00B6015C}]
@="Microsoft Active Setup Engine"

# Active Setup is installed
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6E449686-C509-11CF-AAFA-00AA00B6015C}\InProcServer32]
@="inseng.dll"
"ThreadingModel"="Apartment"

# IDispatch
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020400-0000-0000-C000-000000000046}]
@="IDispatch"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020400-0000-0000-C000-000000000046}\ProxyStubClsid32]
@="{00020420-0000-0000-C000-000000000046}"

# Without this IE setup creates garbage filenames in Windows directory
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Advanced INF Setup]
@=""

# Session Manager is installed
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager]
@=""

# NT 4.0 SP6 is installed
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Windows]
"CSDVersion"=dword:00000600

#
# Entries for Multimedia
#

# Midi Mapper
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap] 989041554
"AutoScheme"=dword:00000000
"CurrentInstrument"="#0"
"UseScheme"=dword:00000000

#
# Entries for IWebBrowser
# Used by Internet Explorer HTML-rendering control
#

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8856f961-340a-11d0-a96b-00c04fd705a2}]
@="Shortcut"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8856f961-340a-11d0-a96b-00c04fd705a2}\InProcServer32]
@="shdocvw.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8856f961-340a-11d0-a96b-00c04fd705a2}]
@="Shortcut"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8856f961-340a-11d0-a96b-00c04fd705a2}\InProcServer32]
@="shdocvw.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8856f961-340a-11d0-a96b-00c04fd705a2}\shellex\MayChangeDefaultMenu]
@=""


#
# Entries for Mozilla ActiveX control support
#

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}]
@="MozillaBrowser Class"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\Control]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\InprocServer32]
@="mozctl.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\Insertable]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\MiscStatus]
@="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\MiscStatus\1]
@="131473"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\ProgID]
@="Mozilla.Browser.1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\Programmable]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\ToolboxBitmap32]
@="mozctl.dll, 1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\TypeLib]
@="{1339B53E-3453-11D2-93B9-000000000000}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\Version]
@="1.0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1339B54C-3453-11D2-93B9-000000000000}\VersionIndependentProgID]
@="Mozilla.Browser"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Mozilla.Browser]
@="Mozilla Web Browser"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Mozilla.Browser\CurVer]
@="Mozilla.Browser.1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Mozilla.Browser.1]
@="Mozilla Web Browser"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Mozilla.Browser.1\CLSID]
@="{1339B54C-3453-11D2-93B9-000000000000}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{1339B53E-3453-11D2-93B9-000000000000}\1.0]
@="MozillaControl 1.0 Type Library"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{1339B53E-3453-11D2-93B9-000000000000}\1.0\0\win32]
@="C:\mozilla\bin\mozctl.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla]
"BinDirectoryPath"="C:\mozilla\bin"

[HKEY_LOCAL_MACHINE\TypeLib\{1339B53E-3453-11D2-93B9-000000000000}\1.0]
@="MozillaControl 1.0 Type Library"

[HKEY_LOCAL_MACHINE\TypeLib\{1339B53E-3453-11D2-93B9-000000000000}\1.0\0\win32]
@="C:\mozilla\bin\mozctl.dll"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Arial CE,238"="Arial,238"
"Arial CYR,204"="Arial,204"
"Arial Greek,161"="Arial,161"
"Arial TUR,162"="Arial,162"
"Courier New CE,238"="Courier New,238"
"Courier New CYR,204"="Courier New,204"
"Courier New Greek,161"="Courier New,161"
"Courier New TUR,162"="Courier New,162"
"Helv"="Arial"
"Helvetica"="Arial"
"MS Shell Dlg"="Tahoma"
"MS Shell Dlg 2"="Tahoma"
"Times"="Times New Roman"
"Times New Roman CE,238"="Times New Roman,238"
"Times New Roman CYR,204"="Times New Roman,204"
"Times New Roman Greek,161"="Times New Roman,161"
"Times New Roman TUR,162"="Times New Roman,162"
"Tms Rmn"="Times New Roman"

