Jump to content

Making the most of your storage space with UPX4PPC


Recommended Posts

Guest Paul (MVP)
Posted

NOTE: A new UPX4PPC update has been released (view full topic for details), so i've 'bumped this back to news' :D

Just recently we had a news post on MoDaCo announcing that UPX, the ' Ultimate Packer for eXecutables', had added ARM support. The significance of this, was that as well as compressing regular Windows executable files, it could now also compress Windows Mobile executables.

I'm very pleased to learn that there is now a version of UPX, complete with GUI, that will run directly on your Pocket PC!

As many of you will know, I have just become the proud owner of a SPV M3100. All good stuff, except I don't yet have a microSD, so space is somewhat at a premium. As a stop gap, I have wiped the ExtendedROM (aftter backing it up), and I am installing my essential apps there (to save main memory space). This soon filled up, then I remembered about UPX.

After doing some digging, I discovered this native version of UPX that runs on the device itself.

Full details / download etc. can be found at http://mobile-sg.com/ppc/apps/?p=UPX4PPC - but I can tell you straight away that it works (very well), and i've gained a ton of space in ExtendedROM to store more apps! :)

Interested in getting started with UPX? Then follow these simple steps...

- Install UPX4PPC

- Run the app and select the EXE you want to compress

- ALWAYS SELECT THE BACKUP OPTION!

- Compress with maximum compression

- Test application still works correctly

- Delete or archive backup file

I've been doing this - most applications work fine, only the occasional one doesn't - so the backup phase IS important ;)

Let me know how you get on :(

P

[update 1: I've just tried to compress opera.dll on device and it hung, so i've compressed it using desktop UPX instead. Opera.dll, over 5MB, has compressed from 5386264 bytes to 1744408 bytes, leaving it only 32.39% of it's original size! :P - see below! That's a serious memory saving!]

upx.gif

Guest Ingvarr
Posted

I wish there was some way to use transparent decompression for the whole ROM filesystems :)

Posted (edited)

UPX is great, been using it for years on desktops and on Smartphones and PPC's since it became ARM compatible ;)

and typically is used to compress the EXE not the dll's :)

Edited by muff
Guest Ingvarr
Posted

Since dlls take much of distribution space, its quite pointless not to compress them.

After all, in Win32 exe and dll is pretty same file format.

Guest Paul (MVP)
Posted

Exactly... compress whatever's taking the room DLL/EXE wise I say :)

P

Guest Ingvarr
Posted

Done, WM5torage distro will be UPX-compressed from now on, so far so good.

Hope other Modaco devs will follow suit :)

Guest Paul (MVP)
Posted

I have mailed Opera to let them know they really should be considering this.

Question: I could quite quickly write an app that takes a CAB, extracts it and compresses all the EXEs and DLLs, then reCABs, allowing the end user to just get a CAB and ensure it is as efficient as possible before installing and testing.

Is there any appetite for such a tool?

P

Guest Ingvarr
Posted

I think "compress on install" can be better - so original cab in untouched, but it compresses dlls&exes just after extracting them from cab during install process. Wonder if there a way to hook into installer process.

But of course, such application can be used to achieve similar goal.

I think it will be quite useful.

Guest Paul (MVP)
Posted

I could definitely build something into CABviaActiveSync. Actually, that might be the better way.

"UPX before installing?" prompt...

P

Posted

Does compressing the exe's and dll's mean that there is slow down in running the apps on the WM device?

Guest Paul (MVP)
Posted

Not generally, generally the decompression speed is compensated for in reduced disk access time.

Hell, I can't see any difference in performance!

P

Guest nickcornaglia
Posted
...except I don't yet have a microSD, so space is somewhat at a premium....

Write a utility that will hush all LEDs and you could win one! :)

Guest SinisterJunkie
Posted (edited)

Thanks for the link to the PPC native version. I've been using UPX but don't always seem to get back to compressing each new version of my software. This will be nice to be able to compress right on the device, of course a compress on install option would be even better.

Edited by SinisterJunkie
  • 1 year later...
Guest DarkWanderer
Posted

Hi

This looks great and will definately be trying the Smartphone version on my QTek 8500. I have a query which is vaguely along the same lines (saving storage space). GoogleMaps will not install to storage card, I choose that option when installing but I still find it installed on the device afterwards. Anyone know what the problem is, or am I missing something obvious?

Guest Paul (MVP)
Posted

It's a bug that Google haven't fixed yet :D

P

Guest LordDeath
Posted

You should consider, that UPXed applications will need more RAM, because the full executable has to be decompressed into the RAM. I tested it with Opera Mobile 8.x and the compressed version took over 4 MiB after the start, while the uncompressed one needed only 1,x MiB. So if you have a 64 MiB Ram device, too much UPXing is not that good. :D

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.