What Was the VSHARE.386 Driver in Windows 3.11?

This article provides an overview of the VSHARE.386 virtual device driver used in Microsoft Windows 3.11 and Windows for Workgroups. It explains the driver's core function as a 32-bit replacement for the MS-DOS utility SHARE.EXE, its critical role in supporting Object Linking and Embedding (OLE 2.0), and how it improved system memory efficiency and file-locking stability across virtual machines.

The Purpose of VSHARE.386

In early PC computing, file sharing and record locking were handled at the operating system level by SHARE.EXE, a real-mode MS-DOS terminate-and-stay-resident (TSR) program. SHARE.EXE prevented multiple applications from writing to the same file segment simultaneously, protecting data from corruption. However, running a real-mode TSR under Windows had significant downsides: it consumed scarce conventional memory (the first 640 KB) and could cause conflicts or instability when multiple Windows and DOS applications ran concurrently in 386 Enhanced Mode.

Microsoft introduced VSHARE.386 as a 32-bit protected-mode virtual device driver (VxD) to overcome these limitations. It took over the file-sharing and byte-range locking responsibilities of SHARE.EXE natively inside Windows 3.11.

Key Functions and Benefits

  • Protected-Mode File and Record Locking: VSHARE.386 manages file-sharing requests across all virtual DOS machines (VDMs) and native Windows applications. When an application attempts to access, read, or modify a file, VSHARE.386 checks permissions and locks specific byte ranges to ensure multiple processes do not overwrite the same data.
  • Support for OLE 2.0: Applications relying on Object Linking and Embedding 2.0—such as Microsoft Office 4.x, Word 6.0, and Excel 5.0—require robust file-locking mechanisms to manage compound files. VSHARE.386 provided the necessary background architecture for these complex file formats without requiring the user to load SHARE.EXE in AUTOEXEC.BAT.
  • Conventional Memory Conservation: Because VSHARE.386 is a VxD loaded via the SYSTEM.INI file, it operates in extended memory rather than the base 640 KB of conventional memory. This freed up vital memory space for DOS programs and reduced out-of-memory errors in Windows.
  • Seamless Multitasking Support: Unlike the standard DOS driver, VSHARE.386 was specifically engineered for the preemptive multitasking environment of 386 Enhanced Mode. It monitored and serviced calls directly between the Windows kernel and the underlying file system, providing better reliability during high disk I/O operations and network sharing.

Configuration and Legacy

To enable the driver, users or software installers added the line device=vshare.386 to the [386Enh] section of the Windows SYSTEM.INI file. Once active, Windows bypassed the need for SHARE.EXE altogether for Windows-based tasks. The architecture introduced by VSHARE.386 proved foundational, serving as a direct precursor to the integrated 32-bit file access and native locking systems later incorporated into Windows 95.