Hi All,
My client recently upgraded their O/S from a 32-bit to Windows Server 2008 R2 (64-bit), which breaks certain functionality of our product.
Our product uses a third-party 16-bit application (pl.exe) command line utility that returns a listing of files in a directory. Because this product I am supporting is a very old product, which exists before my time, I am not able to find any updates or relevant information regarding "pl.exe" and I did the necessary initial findings (from colleagues, etc). I tried looking for a MS-DOS emulator which I came across as "MS-DOS Player for Win32-x64" (http://homepage3.nifty.com/takeda-toshiya/msdos/index.html) but doesn't work well for my product. Hyper-V does not support Windows XP Mode which I initially have in mind to pass the parameters into Windows XP Mode and triggers "pl.exe" within.
I have discussed with my management and all agreed that recode is our least priority now as this is a very old product.
Nevertheless, the following shows the syntax and output of "pl.exe" utility,
Syntax:
Usage: PL [d:][path]
Sample output:
"BROWSE.BAT 0000000000 2014/04/02 18:29 32 115978240"
"BROWSE.COM 0000000002 1990/05/08 00:00 1010 115978240"
"CAT.BAT 0000000000 2014/04/02 18:30 29 115978240"
"CAT.COM 0000000029 1992/10/06 17:32 9058 115978240"
"LP.BAT 0000000000 2014/04/02 18:30 28 115978240"
"LP.EXE 0000000050 1992/08/18 10:35 13564 115978240"
"MSDOS.EXE 0000004700 2014/04/15 00:32 390656 115978240"
"PC.BAT 0000000000 2014/04/02 18:30 28 115978240"
"PC.EXE 0000000123 1993/12/21 08:51 16316 115978240"
"PL.BAT 0000000000 2014/06/02 14:59 30 115978240"
"PL.EXE 0000000116 1993/12/28 09:21 15418 115978240"
"TEST.TXT 0000000000 2014/06/02 15:03 32 115978240"
"TEXT.TXT 0000000000 2014/06/02 15:06 0 115978240"
Do you guys have any alternatives to this 16-bit utility, or have experience of any similar cases? How do you guys deal with it?
Much thanks!
Tried with DOSBox but was not suitable.
"pl.exe" (16-bit) downloadable link - community.progress.com/.../pl.exe.aspx (safe from virus, malware, etc.)
Example:
Note: Execute in Windows command prompt. Is working in 32-bit O/S, but not 64-bit O/S.
> pl c:
When tested with "MS-DOS Player for Win32-x64" in 64-bit O/S, I am able to execute this statement:
> msdos pl .
but not
> msdos pl c:
I got this error message:
Error opening input file - c:\
I have tested with different combinations but doesn't work.
Kindly advise.
Thank you.
Why would recode be a last resort? I'm sure you could quickly write a console application that outputs the same as the pl.exe utility. After all it's just a directory listing with file names, creation dates and sizes. You can even write it in ABL if you want so no external executable needs to be run. I think this would certainly be better than trying to run a 16 (!) bit executable in a 64-bit environment.
If your application works on 10.2B or 11.x, I'd look into the
System.IO.DirectoryInfo:GetFiles ()
.NET method.
Or work with INPUT FROM OS-DIR which is a 100% ABL solution.
Version is obviously important to the answer.
Hi [mention:04e040a388574bee96c841b1935762a5:e9ed411860ed4f2ba0265705b8793d05], I will discuss with my management again.
Hi [mention:6e3b17cb0ff148039a2aabb4c7834ce4:e9ed411860ed4f2ba0265705b8793d05] and [mention:6911e6cc8725416dba58ae08a80faffd:e9ed411860ed4f2ba0265705b8793d05], my bad. My client application currently is running on OE 10.1C.
INPUT FROM OS-DIR and the FILE-INFO handle are also available on such prehistoric releases.
Thanks [mention:6e3b17cb0ff148039a2aabb4c7834ce4:e9ed411860ed4f2ba0265705b8793d05] for your advice.
My apology, I have to be a bit thick skin here... Other than having to recode, have anyone of you came across any existing alternatives that output similar result as "pl.exe"? Meantime I will discuss with my management regarding having to recode it.
Much thanks.