Reply to Thread

Post a reply to the thread: Decompression Error #99

Your Message

Click here to log in

What's the name of our main installation product (in uppercase letters), directly followed by the current year?

 

You may choose an icon for your message from this list

Additional Options

  • Will turn www.example.com into [URL]http://www.example.com[/URL].

Topic Review (Newest First)

  • 08-28-2021, 11:39 AM
    linder

    Re: Decompression Error #99

    Hello Seth,

    thank you for the files. We’ll review it, but I think I already see what the problem is.

    It’s caused by #3 from my previous answer:

    http://www.lindersoft.com/forums/sho...ssion-Error-99

    3. The file is > 2GB.

    The .EXE file size limit in Windows is 2GB !!! Your installer is 2.4GB.

    “The executable "image" (the code/data as loaded in memory) of a Win64 file is limited in size to 2GB. This is because the AMD64/EM64T processors use relative addressing for most instructions, and the relative address is kept in a dword. A dword is only capable of holding a relative value of ±2GB.”

    In the upcoming SetupBuilder 11 our goal is to support installations larger than 2GB with multiple-volumes. But one .EXE >2GB is impossible from the Windows technical site-of-view.

    Friedrich
  • 08-28-2021, 11:22 AM
    linder

    Re: Decompression Error #99

    Seth,

    we received the files, thank you!

    Friedrich
  • 08-27-2021, 07:13 AM
    st09

    Re: Decompression Error #99

    Friedrich,

    I will email you a link to download the files. I've narrowed them down some, but they are still > 1 GB in size. I will also trim the script as much as possible.

    In summary, what I've found is that with a certain set of source files, if there are 2 (or more?) install commands (non-overlapping), if the first install command is skipped ("If" condition not met), the second install command fails with Decompression Error #99.

    Regards,
    Seth
  • 08-27-2021, 01:32 AM
    linder

    Re: Decompression Error #99

    Hi Seth,

    okay, so you have EXCLUDED "deltaCompression.log" and now the next file is "index" and this fails. That means it is not a specific file problem. I still think it is some kind of stack corruption.

    Would it be possible to create a small subset of your installation and send us the .sbp and .sbi (including the source files files to be included) so we can compile and debug it here?

    Thank you for your help!

    Friedrich
  • 08-26-2021, 02:14 PM
    st09

    Re: Decompression Error #99

    Friedrich,

    Even taking out the DLL call, I am encountering the same result. Here is another set of files with the DLL call removed. Note that "index" is only attempted once, and fails. What else can I provide or investigate?

    Seth
  • 08-26-2021, 12:00 PM
    linder

    Re: Decompression Error #99

    Seth,

    you said that "the installer works in 3 of 4 use cases. The 4th use case presents this error ("A decompression error has been detected" ..... [#99])."

    Do you think it is possible that there is some kind of memory allocation problem in your DLL? As far as I can see, you are calling an external DLL. Please ignore if you do not call into a DLL. But if you do, perhaps the DLL corrupts the stack?

    Would it be possible for you to temporary disable the DLL call(s) to see if this makes a difference? Other than that, I am running out of ideas. LSPack (the underlying de-(compression library) did tens of millions file installs over the last 20 years and it's nearly impossible that there is a bug in this rock solid component. So there must be another reason for the issue in your case.

    Friedrich
  • 08-26-2021, 11:53 AM
    linder

    Re: Decompression Error #99

    Quote Originally Posted by st09 View Post
    Is it possible that it does not handle the 0-byte file appropriately?
    BTW, the LSPack library handles 0-byte files without any problem.

    Friedrich
  • 08-26-2021, 11:49 AM
    linder

    Re: Decompression Error #99

    Seth,

    yes, I see. I did not notice the .htm file, thank you.

    The first "deltaCompression.log" succeeded. Then you make a bunch of DLL calls (as far as I can see). Is this your own DLL? Do you call into a DLL named "InstallDelta.dll" from that script?

    It is nearly impossible for me to find out what might cause this Error #99 from the info I have.

    Just curious: what happens when you EXCLUDE "deltaCompression.log" from your 2nd "Install Files..." action. Does it fail on "index" then? If this is the case, it is very well possible that one of the DLL calls corrupts the application stack. But it's just a guess.

    Friedrich
  • 08-26-2021, 10:43 AM
    st09

    Re: Decompression Error #99

    Friedrich,

    I am including "deltaCompression.log" using 2 different "Install" commands, from 2 different sources, installing to 2 different locations. I also included the compiler HTML and CSV in the previous post. Is it possible that it does not handle the 0-byte file appropriately?

    Seth
  • 08-26-2021, 09:45 AM
    linder

    Re: Decompression Error #99

    Seth,

    unfortunately, reviewing the source code in your .sbi does not help in this case. But the "sbevents" log is interesting.

    Error #99 comes up if the next install file (decompression) action can't be executed because the decompression library was unable to find the "magic sign" of the next file. The magic sign is the archive header of the next file to be decompressed and includes the name of the file, original file size, date/time stamp, CRC-32 code). If Error #99 is returned from the LSPack decompression then the magic sign was not there.

    This might happen if:

    1. An installation action is executed multiple times (99%)

    2. The archive is tampered (e.g. transmission error or false-positive from a protection software)

    3. The file is > 2GB

    In your "sbevents" log I see multiple installation actions for your "deltaCompression.log" file:

    |08/26/2021|13:17:41.032|Install file: C:\Users\edtadmin\AppData\Local\Temp\b60e1f40-0670-11ec-4823-001ce5d30029\deltapackage\\deltaCompression.log

    |08/26/2021|13:18:53.596|Err01: 99 - File: C:\Users\edtadmin\AppData\Local\Temp\b60e1f40-0670-11ec-4823-001ce5d30029\PlugInFiles\\deltaCompression.log

    If you did not include this file TWICE in your project then it comes from the SAME "Install File(s)..." action and the 2nd call returns Error #99 (IMO).

    Or did you add "deltaCompression.log" twice? If yes, you should see this file multiple times in your compiler HTML.

    Friedrich
This thread has more than 10 replies. Click here to review the whole thread.

Posting Permissions

  • You may post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  •