[DRIVER][28.04.2010] Extendir (Boost Windows Mobile) & Preset Installer (Visual UC)

Search This thread

ShaDrac

Senior Member
Nov 25, 2008
307
12
www.whitebirdsolutions.com
[DRIVER][28.04.2010] Extendir (Boost Windows Mobile) & Preset Installer (Visual UC)

Extendir is a file system filter driver that significantly increases the performance of your phone, in specific situations even up to 12 times as fast and faster…
Just cook it in to your rom and of you go!


A nice side effect of the architecture of Extendir is that you should have longer battery life!
(I don’t have real test results for this yet so I don't know how much longer you do with your battery but I've heard confirmations.)


But Extendir has also a very nice bonus feature: it can extend your windows directory!
Every file (not folder) that will be installed in the folder “\Extendir\WinDir” or in any one of its subfolders will get a virtual alias in the windows folder. When the OS request the file from the windows folder, it will be redirected to the real location of the file without the OS ever knowing about it.

For example:
When Manila is loaded, the OS thinks all the (900+) files are in the windows folder while the real files are installed in 30 subfolders of the folder “\Extendir\WinDir\Manila”, like this:
\Windows\manila.exe -> \ Extendir\WinDir\Manila\Manila24\ manila.exe
\Windows\68820878_manila -> \ Extendir\WinDir\Manila\Manila02\ 68820878_manila
\Windows\57ad503f_manila -> \ Extendir\WinDir\Manila\Manila17\ 57ad503f_manila
\Windows\7fc62a3c_manila -> \ Extendir\WinDir\Manila\Manila28\ 7fc62a3c_manila
Etc.

But it could also be like this:
\Windows\manila.exe -> \ Extendir\WinDir\Manila\Manila24\ manila.exe
\Windows\68820878_manila -> \Windows\68820878_manila
\Windows\57ad503f_manila -> \Storage Card\ Extendir\WinDir\Manila\Manila17\ 57ad503f_manila
\Windows\7fc62a3c_manila -> (Cooked in rom)
Etc.

This makes it possible to cook roms with 500 or less files in it, while all the other files/apps/etc. will be installed on first boot or later.
Which will bring me to the next application I’ve created:




Preset Installer is an Visual UC application that can create and install predefined sets of cab files and mort scripts.
Cooks can deploy their settings and apps with it, while end users can do the same and save their favorite apps and settings as a preset for future use.


attachment.php
attachment.php
attachment.php
attachment.php




For the better user experience you should automatically start Preset Installer on second boot.



But creating cab files (converting rgu/reg/xml/provxml files, create _setup.xml, all the different file locations to optimize for Extendir) takes al lot of time…
Well… Not anymore:




Extendir Cabs is a utility to create cab files.

attachment.php



Converting packages or your favorite tweaks to a setup cab was never so easy!
The nice part of a setup cab is that you can uninstall it manually or automatically when you’ve got an updated version of the program you want to install.




Changelog:

28.04.2010 - Extendir v2 Preview/Beta 1.08 (details in post 2)
16.04.2010 - Extendir v2 Preview/Beta 1.07 (details in post 2)
14.03.2010 - Extendir v2 Preview/Beta 1.06 (details in post 2)
09.03.2010 - Extendir v2 Preview/Beta 1.05 (details in post 2)
08.03.2010 - Extendir v2 Preview/Beta 1.04 (details in post 2)
03.03.2010 - Extendir v2 Preview/Beta 1.03 (details in post 2)
28.02.2010 - Extendir v2 Preview/Beta 1.02 (details in post 2)
05.02.2010 - Extendir v2 Preview/Beta 1.01 (details in post 2)
01.02.2010 - Extendir v2 Preview/Beta 1 (details in post 2)

04.08.2009 - Extendir v1.06 XIP version (details in post 2)
02.08.2009 - Preset Installer v1.01 (details in post 3)
24.07.2009 - Extendir v1.05 (details in post 2) MAJOR UPDATE!
22.07.2009 - Extendir v1.04 (details in post 2)
18.07.2009 - Extendir v1.03 (details in post 2)
17.07.2009 - Extendir v1.02 (details in post 2)
15.07.2009 - Extendir v1.01 (details in post 2)



Info and Downloads:

Extendir at post 2
Preset Installer at post 3
Extendir Cabs at post 4
Tips and Tricks at post 5


Enjoy! :)


ShaDrac
 

Attachments

  • 101b.jpg
    101b.jpg
    20.6 KB · Views: 82,065
  • 102.jpg
    102.jpg
    30.8 KB · Views: 106,182
  • 103.jpg
    103.jpg
    23.1 KB · Views: 81,122
  • 104b.jpg
    104b.jpg
    17.5 KB · Views: 104,747
  • Extendir-Cabs.jpg
    Extendir-Cabs.jpg
    81.1 KB · Views: 80,533
Last edited:
  • Like
Reactions: vipa

ShaDrac

Senior Member
Nov 25, 2008
307
12
www.whitebirdsolutions.com
Extendir version 1.06: info and download

Info:
Extendir is a file system filter driver that significantly increases the performance of your phone, in specific situations even up to 12 times as fast. The price for this performance is memory. At the moment Extendir caches only non memory mapped files, but in future releases this will be configurable.

A nice side effect of the architecture of Extendir is that you should have longer battery life!
(I don’t have real test results for this yet so I don't know how much longer you do with your battery but I've heard confirmations.)

But Extendir has also a very nice bonus feature: it can extend your windows directory! (The name Extendir makes sense know, doesn’t it?)
Every file (not folder) that will be installed in the folder “\Extendir\WinDir” or in any one of its subfolders will get a virtual alias in the windows folder. It is also possible to have a second (or third) folder “\Extendir\WinDir” on another partition/drive, for example “Storage Card\Extendir\WinDir”. When the OS request the file from the windows folder, it will be redirected to the real location of the file without the OS ever knowing about it, even if the file is located on the storage card. The OS still thinks he’s got 4000+ files in the Windows folder, but in reality these files are spread over 200+ folders located somewhere in “\Extendir\WinDir”.




Changelog:



28.04.2010 - Extendir v2.00 Preview/Beta 1.08
16.04.2010 - Extendir v2.00 Preview/Beta 1.07
14.03.2010 - Extendir v2.00 Preview/Beta 1.06
09.03.2010 - Extendir v2.00 Preview/Beta 1.05
08.03.2010 - Extendir v2.00 Preview/Beta 1.04
03.03.2010 - Extendir v2.00 Preview/Beta 1.03
28.02.2010 - Extendir v2.00 Preview/Beta 1.02
05.02.2010 - Extendir v2.00 Preview/Beta 1.01
01.02.2010 - Extendir v2.00 Preview/Beta 1
04.08.2009 - Extendir v1.06
  • Extendir.dll must be added to the XIP.
  • Some minor tweaking.
24.07.2009 - Extendir v1.05 MAJOR UPDATE!!!
  • Removed settings through registry, this was added in v1.01 but that gave major freezes and lockups with some devices. Well now is everything stable, no more freezes and no more lockups! :)
  • Released different versions with different cache settings.
22.07.2009 - Extendir v1.04 (not stable)
  • Fix for lockups for some specific devices in combination with wm6.5 builds
  • Fixed some other minor bugs
18.07.2009 - Extendir v1.03
  • Fix for some specific wm6.5 builds
17.07.2009 - Extendir v1.02
  • A lot of speed improvements
  • Default cache now 4MB
15.07.2009 - Extendir v1.01
  • Fixed a lot of minor bugs
  • Added a few settings to be configurable through registry (boot.rgu)
.



Known issues:



Phone hangs on first or second boot, solution:
Change "BootPhase" from 0 to 1 and you'll need to add back wince_nls in your xip!


Some programs (in combination with the OS release) don’t like to be installed on different partitions/drives. Everything still works but you will have a performance drop. (Files cooked in a rom are also on a different partition but they show up in the windows folder). Make sure you test your program combinations thoroughly and choose wisely what to install where!

The function GetDirectories from the NETCF does something not by the book, well at least not the books I’ve read (Lord of the Rings, etc). If there is somebody out there who can shine a light on this, please. Debugging a driver based on trial and error, with only a direction takes a LOT of time. (from v1.01 there is workaround for this)

Installing a program in \Storage Card\Extendir\Windir gives some issues, will be fixed in a future release.



Peek in to the future:
After I’ve build in the most important features in Extendir, there will be a desktop/server version. And there after a distributed storage version which has the power of a local drive and the flexibility of a torrent.



Possible features in future releases:
Make configurations through a configuration file
Configurable cache size (released in v1.01, removed in v.105)
Configurable caching memory mapped files
Lazy write back cache
Workaround for GetDirectories (released in v1.01)
Boot actions (before the OS has access to the partition, for example defragment registry)
(Do you have a request?)




How to install:
Extendir is a file system filter driver that must be loaded during boot time. To accomplish this, you’ve got to modify your boot.rgu and rebuilt the boot.hv (both in XIP).
Add the following lines to your boot.rgu


Code:
[HKEY_LOCAL_MACHINE\System\StorageManager\filters\Extendir]
 "Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\Extendir]
 "Dll"="Extendir.dll"
 "Order"=dword:0


Modify the order of all other file system filter drivers in your boot.rgu. Personally I change order 0 to 10, 1 to 11, 2 to 12, etc. More about the order of the file system filters drivers in Tips and Tricks at post 5
Modify your boot_ms.rgu (also in XIP) if you cooked encfilt.dll/mencfilt.dll in your rom.
Rebuild your boot.hv and port the boot.rgu, boot_ms.rgu and boot.hv in to your XIP. (Ervius and Bepe's kitchens do this already for you)


Now you only have to add the Extendir.dll to the XIP and (which depends on your kitchen) the new boot.rgu to your kitchen.
Personally (in the latest Ervius / Bepe's kitchen) I add the Extendir folder with the Extendir.dll to \ROM\Shared\23017\Extendir (Fill your own XIP build number in place of 23017)

(For obsolete Extendir v1.05 you only have to add the Extendir package and (which depends on your kitchen) the new boot.rgu to your kitchen.)



That was all, but you have to remember that files cooked in to your rom have minimal benefit of Extendir! Files / Programs installed afterwards will benefit fully of performance delivered by Extendir.







A few examples of Files / Programs that fully benefit from Extendir:
  • Everything during customization
  • Registry
  • Temporary internet files
  • SMS / MMS
  • Everything you (could) sync with active sync (contact, agenda, mail, etc)
  • Programs you install
  • Files / Documents that you create or copied to your phone
  • Etc.
To fully utilize the power of Extendir read the next 3 posts!!!



Download Extendir v2.00 Preview/Beta 1.08 at this post.


Download:
Accept the licence agreement!
 
Last edited:

ShaDrac

Senior Member
Nov 25, 2008
307
12
www.whitebirdsolutions.com
Preset Installer v1.01 (Visual User Customization): info and download

Info:
Preset Installer is an Visual UC application that can create and install predefined sets of cab files and mort scripts.
Cooks can deploy their settings and apps with it, while end users can do the same and save their favorite apps and settings as a preset for future use.
I think the pictures in post 1 are self explaining.
The nice part with a setup cab is that you can uninstall trough Start->Settings->Remove Programs on the system tab when you don’t need it anymore or uninstall it automatically when you’ve got an updated version of the program you want to install.



Changelog:


02.08.2009 - Preset Installer v1.01
  • Optional reboot
  • Case-insensitive folder/file names (because of manually renaming folders/files)



Known issues:
(None) :)



Possible features in future releases:
Reboot after installation. (released in v1.01)
Default presets to install (which can be cancelled within 10 seconds)
Mandatory presets to install
(Do you have a request?)



How to install:

On your Storage Card create a folder named Extendir.
attachment.php



Copy PresetInstaller.exe to this folder
Create a Folder Presets in this folder
Create a Folder Setups in this folder
attachment.php



In the Setups folder you create the different categories that you want to see in Preset Installer
attachment.php



Copy your setup cab files and your Mort scripts to the folder of your choice.
attachment.php


In the picture above there is a subfolder named OperaFiles. The files in this subfolder won’t appear in Preset Installer because Preset Installer won’t search any deeper than the current folder level but the Mort script named Opera runs the files in this subfolder.


To automatically start Preset Installer on second boot read the Tips and Tricks at post 5.


Download:
Accept the license agreement
 

Attachments

  • 001.jpg
    001.jpg
    21 KB · Views: 79,093
  • 002.jpg
    002.jpg
    24.7 KB · Views: 79,429
  • 003.jpg
    003.jpg
    28.1 KB · Views: 79,207
  • 004.jpg
    004.jpg
    59 KB · Views: 78,814
Last edited:

ShaDrac

Senior Member
Nov 25, 2008
307
12
www.whitebirdsolutions.com
Extendir Cabs: info and download

Info:
Extendir Cabs is a utility to create cab files.
Basically it’s a shell around cabarc.exe.
It converts rgu/reg/xml/provxml files, create _setup.xml, create all the different install paths to optimize for Extendir (optionally you can switch this off). So it’s very easy to convert your tweaks or packages to a setup cab.
About the UI, I think the picture in post 1 is self explaining.

Just one tip: When you create a setup cab for a program and later there is a new release of that program from which you want to make a new setup cab, use the same 'Application Name' so when a user installs your new setup cab, this new cab will uninstall the previous version (the one with the same 'Application Name').

Known issues:
If there are (in an rgu/reg file) HEX values of the type multistring… Well maybe I should google on it.
Also if there is in a value ';' (it's for comments) it doesn't goes right. If it's after a value, used for comments everything goes ok.
For now, cook these values in to your rom.

Possible features in future releases:
Fix for HEX values of the type multistring
Fix for ; in values
(Do you have a request?)


How to install:
Just place Extendir Cabs.exe & Cabarc.exe somewhere in the same folder on your PC.

Download:
Accept the license agreement
 
Last edited:

ShaDrac

Senior Member
Nov 25, 2008
307
12
www.whitebirdsolutions.com
Tips and Tricks:

Remember that files cooked in to your rom have minimal benefit of Extendir!
Files / Programs installed afterwards will benefit fully of performance delivered by Extendir.



A few examples of Files / Programs that fully benefit from Extendir:
  • Everything during customization
  • Registry
  • Temporary internet files
  • SMS / MMS
  • Everything you (could) sync with active sync (contact, agenda, mail, etc)
  • Programs you install
  • Files / Documents that you create or copied to your phone
  • Etc.



Optimize your files for the pagepool, or not! (You did know that only read only type of files that are memory mapped end up in the pagepool). So lots of pictures would be better off not marked as read only and others the opposite!




To automatically start Preset Installer on second boot use the added zip file 'Preset Installer Config.zip'. It contains a package and a sample config_operator.txt.
Basically it names your Storage Card: 'StorageCard' so you can install cabs from you storage card during customization, then it renames your storage card back to 'Storage Card'.
An mortscript is added at your \Windows\StartUp and this will run at reboot (second boot)
This mortscript will run Preset Installer and it deletes its self.



Have fun!

(… Only 2734 tips and tricks to go… Well, another day…)
 

Attachments

  • PACKAGE_Mortscript.zip
    119.4 KB · Views: 1,319
Last edited:

+ Que PPC

Inactive Recognized Developer
Mar 23, 2007
4,724
88
39
Guadalajara
es.youtube.com
Mmmmm

lets see...

If we add this "as FILE" in our kitchen to install direct to windows folder thats all?!!!! i think the files must be mapped again... to this directory. so please xplain exactly what do to do with this dll.

Sounds awsome!
 
you will need to show some real world performance benchmarks to get much more attention. chefs are looking to implement anything that will result in a performance increase.

something like:

-time it takes to boot the rom with and without this

-time it takes to launch an applications with or without this

-time it takes to to navigate though a list of various windows mobile tasks.

-....etc. im sure others can help me in coming up with other senarios where we can test the real world performance of this

i guess to test the above, two full-featured roms need to be cooked (one with this and one without) to test
 

Kraize

Senior Member
Dec 5, 2007
2,692
48
California
Very interesting! But I have a few requests. Is it possible to do this with EXT's? I don't see an option for app.dat or app.reg. And what happens if I try to make a oem out of the cab I just made? Will it still be installed where it should be? Or is it possible for you to make something like this that will install a package when cooking instead of a rom. Those are my requests :) Oh, and allowing us to start with a normal cab as well to modify it if you can because it'll take a lot of time for me to convert 100 + OEMs.
 

ShaDrac

Senior Member
Nov 25, 2008
307
12
www.whitebirdsolutions.com
you will need to show some real world performance benchmarks to get much more attention

Tomorow or the day after i will post a rom in the Diamond forum.

But to give you guys an idea:


First stock Diamond rom witout Extendir, then same stock rom with Extendir.


Stock Diamond rom without Extendir:
attachment.php



Stock Diamond rom with Extendir:
attachment.php



But i think it would be better if you do your own benchmarking ;)
 

Attachments

  • stock_without_Extendir.jpg
    stock_without_Extendir.jpg
    89.1 KB · Views: 7,238
  • stock_with_Extendir.jpg
    stock_with_Extendir.jpg
    90.5 KB · Views: 7,234
Last edited:

viper8u2

Senior Member
Mar 8, 2008
252
34
wow, great timing and nice job

I was looking for a program to grab OEM's to make a cab

I have been fiddling around with your "Extendir Cabs" utility. Is creates the cab and defaults to the Extendir folder.

I change it to goto Program Files on my device for the traditional install.

Is there a way to have it create the shortcut link in the windows/start menu/programs folder like a normal install or is this only meant to be used with your other programs?

I assume we are not suppose to change any of the info starting with the target installation folder and below? (btw you have it mispelled Tartget)

Thanks
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    [DRIVER][28.04.2010] Extendir (Boost Windows Mobile) & Preset Installer (Visual UC)

    Extendir is a file system filter driver that significantly increases the performance of your phone, in specific situations even up to 12 times as fast and faster…
    Just cook it in to your rom and of you go!


    A nice side effect of the architecture of Extendir is that you should have longer battery life!
    (I don’t have real test results for this yet so I don't know how much longer you do with your battery but I've heard confirmations.)


    But Extendir has also a very nice bonus feature: it can extend your windows directory!
    Every file (not folder) that will be installed in the folder “\Extendir\WinDir” or in any one of its subfolders will get a virtual alias in the windows folder. When the OS request the file from the windows folder, it will be redirected to the real location of the file without the OS ever knowing about it.

    For example:
    When Manila is loaded, the OS thinks all the (900+) files are in the windows folder while the real files are installed in 30 subfolders of the folder “\Extendir\WinDir\Manila”, like this:
    \Windows\manila.exe -> \ Extendir\WinDir\Manila\Manila24\ manila.exe
    \Windows\68820878_manila -> \ Extendir\WinDir\Manila\Manila02\ 68820878_manila
    \Windows\57ad503f_manila -> \ Extendir\WinDir\Manila\Manila17\ 57ad503f_manila
    \Windows\7fc62a3c_manila -> \ Extendir\WinDir\Manila\Manila28\ 7fc62a3c_manila
    Etc.

    But it could also be like this:
    \Windows\manila.exe -> \ Extendir\WinDir\Manila\Manila24\ manila.exe
    \Windows\68820878_manila -> \Windows\68820878_manila
    \Windows\57ad503f_manila -> \Storage Card\ Extendir\WinDir\Manila\Manila17\ 57ad503f_manila
    \Windows\7fc62a3c_manila -> (Cooked in rom)
    Etc.

    This makes it possible to cook roms with 500 or less files in it, while all the other files/apps/etc. will be installed on first boot or later.
    Which will bring me to the next application I’ve created:




    Preset Installer is an Visual UC application that can create and install predefined sets of cab files and mort scripts.
    Cooks can deploy their settings and apps with it, while end users can do the same and save their favorite apps and settings as a preset for future use.


    attachment.php
    attachment.php
    attachment.php
    attachment.php




    For the better user experience you should automatically start Preset Installer on second boot.



    But creating cab files (converting rgu/reg/xml/provxml files, create _setup.xml, all the different file locations to optimize for Extendir) takes al lot of time…
    Well… Not anymore:




    Extendir Cabs is a utility to create cab files.

    attachment.php



    Converting packages or your favorite tweaks to a setup cab was never so easy!
    The nice part of a setup cab is that you can uninstall it manually or automatically when you’ve got an updated version of the program you want to install.




    Changelog:

    28.04.2010 - Extendir v2 Preview/Beta 1.08 (details in post 2)
    16.04.2010 - Extendir v2 Preview/Beta 1.07 (details in post 2)
    14.03.2010 - Extendir v2 Preview/Beta 1.06 (details in post 2)
    09.03.2010 - Extendir v2 Preview/Beta 1.05 (details in post 2)
    08.03.2010 - Extendir v2 Preview/Beta 1.04 (details in post 2)
    03.03.2010 - Extendir v2 Preview/Beta 1.03 (details in post 2)
    28.02.2010 - Extendir v2 Preview/Beta 1.02 (details in post 2)
    05.02.2010 - Extendir v2 Preview/Beta 1.01 (details in post 2)
    01.02.2010 - Extendir v2 Preview/Beta 1 (details in post 2)

    04.08.2009 - Extendir v1.06 XIP version (details in post 2)
    02.08.2009 - Preset Installer v1.01 (details in post 3)
    24.07.2009 - Extendir v1.05 (details in post 2) MAJOR UPDATE!
    22.07.2009 - Extendir v1.04 (details in post 2)
    18.07.2009 - Extendir v1.03 (details in post 2)
    17.07.2009 - Extendir v1.02 (details in post 2)
    15.07.2009 - Extendir v1.01 (details in post 2)



    Info and Downloads:

    Extendir at post 2
    Preset Installer at post 3
    Extendir Cabs at post 4
    Tips and Tricks at post 5


    Enjoy! :)


    ShaDrac