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