[Windows Mobile Development and Hacking General] Nullstring:
Final Customization

What is it?

It's another chef application for having a final step on customizing their ROM. Final Customization runs after AutoRun, SDAutoRun, UC has finished and made a soft reset to the phone.

Basic Flow

First Boot

--> Screen Calibration(skipped in other ROMs)

------> Customize

----------> Soft-Reset

--------------> Final Customization 1st run and will popup application choices

--------------> and the installation begins. Then after the isntallations, it will

--------------> ask if the user want's to soft-reset or not.

--------------> if YES, the phone will soft-reset. If NO, Final Customization exists and

--------------> show the final message.

Why need such another Customization?

Final Customization gives users a chance to decide what application they want to install from the ROM and "from" the ROM means a CAB or REG that is cooked in the chef's cooked ROM.

But why they have to decide which application they need to install?

Simply because not all users like the application we included in our ROM. Me my self is a Chef, and I know some users don't like my application, so I'd like to give them a chance to decide if they want to install that application.

Another benefit for the chefs is you can control the Manila/Sense.

- You can Stop the Manila/Sense then install the cooked cab or reg and Start the Manila/Sense.

- You can Restart the sense after you installed the cooked cab.

So what does it support?

Final Customization can install CAB and REG(requires dotFred Task Manager) and you can execute any files as long as your ROM supports it like running a Mort Script if you have Mort Script included in your ROM, or you can execute EXE files, Play an audio, video, etc!

How does it execute these files?

Final Customization can understand some commands such as:

Okay, so how do I really use it?

I will provide the EXT package which contains the initial files needed from Final Customization then you can add whatever you want to include such as CAB or .REG or probably .PROVXML but make sure your ROM supports .PROVXML file types.

cablist.txt file is also included then you can just update it.

another file is included named FinalizeSetup.app.config which contains the parameter used by WCELOAD.exe and your final message after the installation is done. Be careful on WCELOAD parameters! Here are some WCELOAD parameter informations.

<appSettings>
<add key="wceload_param" value="/delete 1 /noui /silent "{0}""/>
<add key="final_word" value="Installation is done. Have fun!"/>
</appSettings>

AHA! Finally the preview. I just made a sample video for you guys to watch. Sorry but I have to keep silent (again)

[youtube]yUxrykDCt44[/youtube]

[youtube]MVhl_CsSukg[/youtube]

A possible issues of Final Customization.

It cannot respond to custom actions when installing a CAB. In regular CAB installation, some installation popups a window aobut agreement and stuff and you have to accept the agreement. So Final Customization cannot handle that.

If you think you can handle that via WCELOAD parameter. Please let me know.

Final Customization can also execute control panel applets such as running Regional Settings but the problem I saw was when executing 2 applets, Final Customization did not wait for the 1st one to finish but instead, it executes the next applet.

Sending a bug report

Final Customization has a logging feature for bug hunting references. It is located in \GambitLogs folder. Please send all the contents to me :)

and finally, the download file!!

zz_FinalCustomization.7z