[comp.os.msdos.misc] "Packed file is corrupt" error and MS-DOS 5.0

west@turing.toronto.edu (Tom West) (06/25/91)

  I have been getting "Packed file is corrupt" errors when trying to
run certain applications after installing MS-DOS 5.0.  Any idea what 
might cause this?  Specifically qbasic and PC-NFS telnet give this
error when I try to run them.

  I assume it has to do with devicehigh, since if I don't load anything
high, the problem goes away, but I was wondering if anyone else has had
any experience with this problem.


-- 

					Tom West

				   west@turing.toronto.edu  or
				   tomwest@gpu.utcs.utoronto.ca  or

glenn@welch.jhu.edu (Glenn M. Mason) (06/25/91)

In article <1991Jun24.195425.19543@jarvis.csri.toronto.edu> west@turing.toronto.edu (Tom West) writes:
>
>  I have been getting "Packed file is corrupt" errors when trying to
>run certain applications after installing MS-DOS 5.0.  Any idea what 
>might cause this?  Specifically qbasic and PC-NFS telnet give this
>error when I try to run them.

I have had this same problem running DOS 4.01 with tape backup software
I am using, specifically ArchiveXL-80 QS80 software. It allows you to
create macro-playback files (.com files) that you can run to automate
tape backup procedures. The problem was cured by replacing BIOS chip. I
was running Quadtel BIOS version 3.05.05. I replaced the chip with the
latest version, 3.05.06, which cleared up the problem.

Glenn
--
Glenn M. Mason, Senior Research Programmer/Analyst
Laboratory for Applied Research in Academic Information
William H. Welch Medical Library, The Johns Hopkins University
uucp: ...!uunet!welchlab!glenn			 (301)955-9658
Internet: glenn@welch.jhu.edu	"... my own software hates me!"

victor@ccwf.cc.utexas.edu (Victor Menayang) (06/25/91)

In article <1991Jun24.195425.19543@jarvis.csri.toronto.edu> west@turing.toronto.edu (Tom West) writes:
>
>  I have been getting "Packed file is corrupt" errors when trying to
>run certain applications after installing MS-DOS 5.0.  Any idea what 
>might cause this?  Specifically qbasic and PC-NFS telnet give this
>error when I try to run them.
>

Perhaps the fix is simple: loadfix program.
It was mentioned in one online doc in the Beta. You're right though, it has
something to do with you loading DOS high (loadfix puts the program
abovethe first 64k of conventional memory).

I thought loadfix and wina20.386 would only be needed in the Beta
versions :-)
 

-- 
Victor Menayang         victor@ccwf.cc.utexas.edu (Internet) 
                                           vm@UTXVM (BITNET)
                     ...!cs.utexas.edu!ut-emx!rtf1000 (UUCP)
-------------------------------------------------------------

geoff@bodleian.East.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) (06/25/91)

Quoth victor@ccwf.cc.utexas.edu (Victor Menayang) (in <51169@ut-emx.uucp>):
#In article <1991Jun24.195425.19543@jarvis.csri.toronto.edu> west@turing.toronto.edu (Tom West) writes:
#>
#>  I have been getting "Packed file is corrupt" errors when trying to
#>run certain applications after installing MS-DOS 5.0.  Any idea what 
#>might cause this?  Specifically qbasic and PC-NFS telnet give this
#>error when I try to run them.
#>
#
#Perhaps the fix is simple: loadfix program.
#It was mentioned in one online doc in the Beta. You're right though, it has
#something to do with you loading DOS high (loadfix puts the program
#abovethe first 64k of conventional memory).

It seems that the bug is in the EXEPACK distributed with Microsoft C versions
before 6.0. The unpacking function assumes that the load address will
always be >64K. This was a reasonable assumption prior to DR-DOS and MS-DOS 5.0,
but no more. The immediate answer, as Victor pointed out, is LOADFIX. Long-term,
the solution is to build with MSC 6.x tools.

#I thought loadfix and wina20.386 would only be needed in the Beta
#versions :-)

But how....? After all, there's nothing in DOS 5.0 (beta or FCS) that can
change the way the EXEPACK-generated stuff works. (Or are you suggesting
that DOS 5.0 should run a signature check on an EXE, recognize that it's
EXEPACKed, and automatically LOADFIX it?)

Or did I misinterpret the smiley?

Geoff

--Geoff Arnold, PC-NFS architect(geoff@East.Sun.COM or geoff.arnold@Sun.COM)--
------------------------------------------------------------------------------
--       Sun Technology Enterprises : PC Networking group                   --
--   (officially from July 1, but effectively in place right now)           --

schuster@panix.uucp (Michael Schuster) (06/25/91)

In article <1991Jun24.195425.19543@jarvis.csri.toronto.edu> west@turing.toronto.edu (Tom West) writes:
>  I have been getting "Packed file is corrupt" errors when trying to
>run certain applications after installing MS-DOS 5.0.  Any idea what 
>might cause this?  Specifically qbasic and PC-NFS telnet give this
>error when I try to run them.
>
>  I assume it has to do with devicehigh, since if I don't load anything
>high, the problem goes away, but I was wondering if anyone else has had
>any experience with this problem.

READ THE DOCUMENTATION.
That's what LOADFIX.COM is for; it gets around the EXEPACK bug that
barfs when loading into the first 64K of memory.

	e.g. LOADFIX QBASIC.EXE
   

-- 
                Mike Schuster                      |   -CIS: 70346,1745
-NY Public Access UNIX:  schuster@panix.com        |   -MCI Mail, GENIE:
-The Portal (R) System:  schuster@cup.portal.com   |           MSCHUSTER

bxw@ccadfa.adfa.oz.au (Brad Willcott) (06/25/91)

west@turing.toronto.edu (Tom West) writes:

>  I have been getting "Packed file is corrupt" errors when trying to
>run certain applications after installing MS-DOS 5.0.  Any idea what 
>might cause this?  Specifically qbasic and PC-NFS telnet give this
>error when I try to run them.

>  I assume it has to do with devicehigh, since if I don't load anything
>high, the problem goes away, but I was wondering if anyone else has had
>any experience with this problem.

Yes, I had this same problem with certain programs that I'd compiled
with MS C 6.00a, and linked with the /PACKCODE switch.  You should find
a fixup TSR on one of the DOS 5 diskettes.  Sorry, but I don't remember
its name.

-- 
Brad Willcott,                          ACSnet:     bxw@ccadfa.cc.adfa.oz
Computing Services,                     Internet:   bxw@ccadfa.cc.adfa.oz.au
Australian Defence Force Academy,       UUCP:!uunet!munnari.oz.au!ccadfa.oz!bxw
Northcott Dr. Campbell ACT Australia 2600  +61 6 268 8584  +61 6 268 8150 (Fax)

liberato@dri.com (Jimmy Liberato) (06/26/91)

west@turing.toronto.edu (Tom West) writes:


>  I have been getting "Packed file is corrupt" errors when trying to
>run certain applications after installing MS-DOS 5.0.  Any idea what 
>might cause this?  Specifically qbasic and PC-NFS telnet give this
>error when I try to run them.
>
>  I assume it has to do with devicehigh, since if I don't load anything
>high, the problem goes away, but I was wondering if anyone else has had
>any experience with this problem.

Files that are "exe-packed" cannot load into the first 64K of conventional
memory that is newly freed-up because of loading the kernal high.  There
should be some utility included that will lock out this low memory for
those particular executables.

--
Jimmy Liberato   liberato@dri.com
                 ...uunet!drivax!liberato

bob@omni.com (Bob Weissman) (06/26/91)

In article <1991Jun24.195425.19543@jarvis.csri.toronto.edu> west@turing.toronto.edu (Tom West) writes:
>  I have been getting "Packed file is corrupt" errors when trying to
>run certain applications after installing MS-DOS 5.0.  Any idea what 
>might cause this?  Specifically qbasic and PC-NFS telnet give this
>error when I try to run them.
>  I assume it has to do with devicehigh, since if I don't load anything
>high, the problem goes away, but I was wondering if anyone else has had
>any experience with this problem.

This problem is documented nicely by Quarterdeck in their QEMM386 manual.

It's a bug in EXEPACK which only appears when the packed .EXE is loaded
below 64K, i.e., into a memory address below 0x1000, and the A20 address
line is enabled.  That's why you're suddenly seeing it -- you have freed
enough low memory to allow programs to load there.

The best solution is to get the LZEXE program from your favorite public
domain archive.  It comes with a program which unpacks EXEPACK-ed files.
If you're short on disk space, you can then re-pack the .EXE with LZEXE
and end up with a *much* smaller file than produced by EXEPACK.

The suboptimal quick'n'dirty solution is to run the program in a sub-shell to
use up more low memory.  I.e., do
	command /c <program> <args>
which has a good chance of using up enough low memory to "fix" the problem.

-- 
Bob Weissman
Internet:	bob@omni.com
UUCP:		...!{apple,decwrl,pyramid,sgi,sun,uunet}!omni!bob

west@turing.toronto.edu (Tom West) (06/27/91)

  My apologies!  I am so used to the "Getting Started" books being completely
useless that I didn't bother to read it.  Of course, there was my answer in
in black and white.  I'm slightly miffed that none of this is mentioned in 
the reference manual.  Could we have all the necessary documentation in one
place, please?

  However, thanks to the multitude of people who responded.

-- 

					Tom West

				   west@turing.toronto.edu  or
				   tomwest@gpu.utcs.utoronto.ca  or