Upgrading to 64-bit O/S breaks third-party (16-bit) utility

Posted by Tai Li on 02-Jun-2014 02:21

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!

All Replies

Posted by Tai Li on 02-Jun-2014 02:24

Tried with DOSBox but was not suitable.

Posted by Tai Li on 02-Jun-2014 02:42

"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.

Posted by Lieven De Foor on 02-Jun-2014 04:59

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.

Posted by Mike Fechner on 02-Jun-2014 05:05

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.

Posted by Thomas Mercer-Hursh on 02-Jun-2014 09:31

Version is obviously important to the answer.

Posted by Tai Li on 02-Jun-2014 20:54

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.

Posted by Mike Fechner on 02-Jun-2014 23:20

INPUT FROM OS-DIR and the FILE-INFO handle are also available on such prehistoric releases.

Posted by Tai Li on 03-Jun-2014 20:41

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.

This thread is closed