Table of ContentsClose
Coder for Life

Faster Windows 7 Boot Updater

I created a custom library to extract compressed files from a WIM file that did not require the Microsoft WIM library. Using the Microsoft WIM Library, to extract a single file is actually quite an elaborate process. I predicted this would greatly speed up the start up and running of my Windows 7 Boot Updater program since I use that file whenever the animation is set to "Default".

My current method (in Alpha v9) is to:

  1. Read the bootres.dll file into memory
  2. Find the WIM resource
  3. Save the WIM resource as a file on the disk
  4. Create a temporary folder
  5. Use the WIM library to mount the file to the folder
  6. Read the activity.bmp file into memory
  7. Unmount the file
  8. Delete the temporary folder and WIM file
  9. Cleanup all the memory I used in the process

That's a lot of work. On my computer it takes about 4 seconds while the program is starting up and 1-2 seconds later on in the program. Needless to say, that is a major bottleneck in my program.

So my idea to remedy this bottleneck was simple:

  1. Read the bootres.dll file into memory
  2. Find the WIM resource
  3. Parse the WIM resource in memory
  4. Decompress the data that represents activity.bmp
  5. Cleanup the single chunk of memory used

Much simpler! The new (not yet released) version of Windows 7 Boot Updater does all this in <100ms on the same machine! That is about a 98% reduction in time for this time intensive operation. Great improvement!

Hopefully the people stating that the program was taking 2 minutes to start up will be happy with this improvement (since much of the startup time was spent doing this, 2 minutes should be reduced to 3 seconds!).

Comments

1 Response to 'Faster Windows 7 Boot Updater' Feed for this Entry
  1. #1468 Amit 2011-09-27 8:13 am

    Well, all the best for the faster boot loader, i hope we can get it sooner.. i enjoy your work! thanks a lot.

Leave a Reply >
Note: If you are having a problem with Windows 7 Boot Updater please email me. Include the description of the problem, the output of boot-info, and any other relevant information (e.g. if you are dual-booting).
If your question has already been answered it will simply be deleted.
Automatically creates links and paragraphs.
Many HTML tags are supported.
Use <code language=""></code> for code.
Language can be dos, java, php, c, ...
(not published)