[Wing, P4350 ROM development] ace10134:
How to Cook a .CAB file into your ExtROM (So that it can be uninstalled by user later)

The ExtROM is what you see running after you flash your ROM. That initial setup "customization" screen that you see after booting your ROM for the first time is the ExtROM. One thing you can do with it is install a .CAB file that can later be uninstalled by the user. I'll show you how...

Get the .CAB file that you want to have installed by the ExtROM. Have it in a handy folder.

Now... Download WinImage, Dutty's, and HTC Tools.zip

Unzip it to the location of your choice. Open the WinImage, Dutty's, & HTC Tools folder. You should find three files in there, winimage, duttys tool nbhtool, and Htc Rom Tool, as you can see below...

Run winimage from within that folder. Click OK to the Trial Registration screen (you have a 30 day trial, and the days only count when you use the program).

Now you should see this screen...

On that screen, go to File -> Open, and then navigate to your kitchen's folders. Now navigate to your kitchen's Build folder. Locate a file that has "ExtROM" in it's filename and make sure that the extention is a .NB file. (For users of Holly's Kitchen, the file is called WingDev_ExtROM.nb) Double click on the file, and then you should see something like this...

Double click on the __TFAT_HIDDEN_ROOT_DIR__ folder. Now you should see something like this...

Go back to the folder that you have your .CAB file in, and then drag and drop it into the window from the previous step. It will ask you, "Do you want to inject 1 files occupying XXX bytes?". Click Yes.

Now you should have your .CAB file in your ExtROM. All you have to do is write the command that executes it...

In the same window, (WinImage), drag and drop the Config.txt file from that window to your Desktop (or any other location of your choice)

Now open your Config.txt file from your Desktop (or wherever you placed it). You should see something similar to this in the notepad window...

LOCK:Enabled
XML: \Extended_ROM\WingDev_Config.xml
LOCK:Disabled
RST: Reset

Add an empty line just before the LOCK: command. Then in that line, write in "CAB:", like shown below...

LOCK:Enabled
XML: \Extended_ROM\WingDev_Config.xml
CAB:
LOCK:Disabled
RST: Reset

After writing that, make a space, and then copy/paste this line in..."\Extended_ROM\". It should look like this now...

LOCK:Enabled
XML: \Extended_ROM\WingDev_Config.xml
CAB: \Extended_ROM\
LOCK:Disabled
RST: Reset

Now, write in the exact name of your .CAB file, including the ".cab" extension. It should look like that below, but with your CAB's name in place of mine.

LOCK:Enabled
XML: \Extended_ROM\WingDev_Config.xml
CAB: \Extended_ROM\Google Maps v 3.2.cab
LOCK:Disabled
RST: Reset

Save and close that notepad (Config.txt) window. You are now done editing it!

Return to the WinImage program (you should have left it running this whole time).

In WinImage, select your Config.txt file, and press Del on your keyboard.

Now in a File Explorer, navigate to your Config.txt file that you just edited (I told you to place it on your Desktop). Drag and drop that Config.txt file into the WinImage program. It will ask you, "Do you want to inject 1 files occupying xxxxx bytes?" Click Yes.

In WinImage, right click the Config.txt file that you just placed there. Click File properties. Then check the Read-only box and click OK.

Go to File -> Save. Once it saves, (it saves quickly, so you probably don't even notice it saving), close the WinImage window.

Now cook your ROM like usual. Once you flash your ROM, "customization" will run after booting it, and your program will be installed. And if users of your ROM decide that they don't want that program installed, they can easily uninstall it like normal! That is useful for programs like Google Maps, since they are updated frequently. If you have any more questions, or need more clarification, just ask!