#232 Win 8.1 x64 compressed files don't work with Win 7 x64 or XP x86

None
open
None
5
2014-04-04
2014-03-25
tschoening
No

Hi all,

today I recognized what I think is a rather weired problem: I newly compressed some apps for the Win console and some GUI apps for the first time unter Win 8.1 x64 with the following settings:

upx.exe --ultra-brute --compress-exports=0 --strip-relocs=0 "%L"

Without the additional options the apps wouldn't start on Win 8.1, with they do. I tested the apps on Win XP and Win 7 x64 as well and all of the GUI apps worked without problems, but the console ones refused to start with a Windows error message about beeing unable to properly load the files.

The interesting part is that when I created the failing console apps with the same settings as above directly in Win 7 x64 they worked in Win 7, XP and Win 8.1. I would have suspected that using the same settings on Win 8.1 wouldn't make any difference for beeing able to run the files on older versions of Windows.

Afterwards I compressed the files with the following settings in Win 8.1:

upx.exe --ultra-brute --compress-exports=0 --compress-icons=0 --strip-relocs=0 "%L"

Those compressed apps did work on all mentioned platforms, therefore it seems that for my console apps I seem to need --compress-icons=0. However, the interesting part is that compressing the apps without --compress-icons=0 on Win 7 works for all mentioned platforms, whereas compressing them on Win 8.1 with the same settings only work on Win 8.1.

You may want to have a look at this, ask if I should provide more details.

Version: upx391w

Discussion

  • László Molnár

    • assigned_to: László Molnár
     
  • László Molnár

    Hi,

    Can you upload your compressed files here? I wonder what the differences are when you compress your test file on win7 and win8.1 (without using the --compress-icons=0 option).

    Thanks, Laszlo

     
  • tschoening

    tschoening - 2014-03-27

    I attached the files in different versions: A newly created one under Win 7, the original file created under Win 8.1 from my SVN Repo and a newly created one under 8.1 as well. It seems that I'm no longer able to create a compressed file under Win 8.1 with the former problematic settings which does not work as well on Win 7. The newly created file simply works, whereas the old version from my repo doesn't and I'm really sure that I used the exact same options. The newly created file under Win 8.1 differs in size form the original one, about 20kb of difference.

    The only difference coming into my mind is that I today only compressed this file with one instance of UPX, whereas some days ago I compressed many files in 3 to 5 parallel instances to make better use of my Quad Core i7 with enabled Hyperthreading and all that fancy stuff. Is UPX able to be run in different instances on different files in different folders? I would have suspected yes, because it doesn't seem to share data.

    Thanks for looking into this.

     
  • tschoening

    tschoening - 2014-04-04

    I have another instance of this issue: Compressed with settings working under Win 8.1 and Win 7, but not XP 32 Bit. And it's exactly the same settings which work for other cmdline apps.

     
  • tschoening

    tschoening - 2014-04-04

    This is the same file like in the comment before, but compressed directly under XP. It now is bigger than before, but still doesn't work.

    Shouldn't the same settings always produce the same result?

     

Log in to post a comment.