Microsoft KB Archive/115816

{| = PRB: Unable to Open MVMDIFF.EXE =
 * width="100%"|

ID: Q115816

The information in this article applies to:


 * Microsoft Delta for Windows, version 1.0

SYMPTOMS
Checking in a text file produces the following message:

Microsoft Delta unable to open MVMDIFF.EXE. May be out of memory, or file may be corrupted, or missing. Close other windows then try the operation again.

CAUSE
Checking in a text file ("History as differences") requires you to enable the MVMDIFF.EXE file. MVMDIFF.EXE creates and appends a new difference to the history file. A number of factors influence this process, including the following:

Virtual Memory Coprocessor
The MVMDIFF.EXE file fails if the virtual coprocessor device statement, (device=*vmcpd) is missing or repeated in the SYSTEM.INI file. The line is in the 386 Enhanced section of the SYSTEM.INI file. Delta appears to be working in MS-DOS (outside Windows), but it issues the MVMDIFF.EXE error when checking in a text file from within Windows.

TMP Temporary Directory
Checking in a text file adds a history to the associated difference file (G:\MASTER\DIFF\PRJ2\SUB\MYFILE.C). When a history is created, Delta tries to copy the master version of the file to the directory assigned to TMP. The fully qualified path to that file goes on the command line to the MVMDIFF.EXE file. With the TMP variable assigned to an unusually long path (SET TMP=C:\WINDOWS\APPS\SYSTEM\TEMP), Delta may attempt to run a batch file that contains a command longer than the 128-character limit.

The MVMDIFF.EXE file fails if the TMP variable is not defined. In that case, Delta creates the history against the master source file (G:\MASTER\SRC\PRJ2\SUBDIR\SUB\MYFILE.C). If the project files are deep within a subdirectory structure and TMP is not defined, Delta is likely to reach the 128-character limit. Delta does not look for the TEMP temporary variable.

Conventional Memory
A low amount of free conventional memory also causes this problem.

Swapfile
A swapfile that is too small or the absence of a swapfile also causes this problem.

RESOLUTION
Following are ways to solve the problem in relation to the factors mentioned above:

Virtual Memory Coprocessor
Verify that the "device=*vmcpd" statement is present in the SYSTEM.INI file and that it only appears once.

TMP Temporary Directory
Define the TMP temporary variable. For best results, assign it to a short directory path such as "C:\TMP" (or "E:\" in the case of a RAM drive). This increases the number of subdirectories a project can contain. However, even with the TMP variable in place, the error still results when the path to the file is more than 64 characters long.

Conventional Memory
The MVMDIFF.EXE file is executable on MS-DOS, and, like all MS-DOS executable files, it requires conventional memory. Freeing up conventional memory (largest executable program size in kilobytes) helps eliminate the frequency of the MVMDIFF.EXE error. Run MEMMAKER (MS-DOS 6.0 or later) to maximize the amount of free conventional memory.

Swapfile
1. Double-click Control Panel from the Main application group of Program

Manager. 2. Double-click 386 Enhanced. 3. Choose the Virtual Memory command button.

4. Choose the Change button.

5. Increase the size of the swapfile or change the swapfile settings.

Additional reference words: 1.00 KBCategory: kbusage kbprb KBSubCategory: Delta
 * }