This technote discusses why an error such as, Bad Command or file name or The system cannot execute the specified program, occurs on Microsoft® Windows® when attempting to execute a 16-bit application from inside a dynamic view in IBM® Rational® ClearCase®.
Here are some possible errors that can occur when trying to execute a 16-bit application in a dynamic view:
'BANNER.EXE' is not recognized as an internal or external command, operable program or batch file.
In another VOB, but same view:
The system cannot execute the specified program.
16 bit applications require that the path to them be DOS® compatible or 8.3 compliant.
This means that the path leading up to the executable cannot contain any directory name that is longer than 8 characters. The file itself can have a name up to 8 characters long optionally followed by a period and up to an additional three characters. Neither the directories nor the file itself can have spaces in their names.
When the file is run outside of a dynamic view the operating system will recognize that this is a 16 bit application and will translate the path to a 8.3 compliant version specifically for this application to use.
The files system used by dynamic views MultiVersion File System (MVFS) does not make this translation. This is by design.
Resolving The Problem
Since MVFS does not support the translation of long path names, the 16 bit applications which cannot handle long file names will fail on any pathnames that is not fully 8.3 compliant.
There are a few possible solutions:
- Change the path to the executable to be 8.3 compliant. This includes the view tag and the VOB tag.
not valid: M:\Joe_Smith_dynamic_view\devel_VOB\directory\play.exe
- Use the Windows subst command to shorten the path.
C:\>subst K: M:\Joe_Smith_dynamic_view\devel_VOB\directory
- Use a snapshot view. Snapshot views do not use MVFS. The file will instead be on the local drive and the operating system will make the automatic path translation for this 16 bit application
- Recompile the application to 32 bits.
16 June 2018