[Windows Mobile] hilaireg:
So there you are; in the heat of the kitchen, adding your favourite ROM ingredients ... pinch of this, sprinkle of that. Like all good chefs, you decide to take a taste of your preparation before serving to others - nothing is more embarrassing than a meal gone wrong.

So you try it ... wait! you say, something is not right. You're positive you added the ingredients but it's not right. Could it be that a darn .PROVXML didn't get processed in a package? Which one? Time to look at the .PROVXML and check if the entries made it ... what happens if you have a hundred or more .PROVXML's in your kitchen .\PACKAGES or .\EXT folder?

Well, here's a few quick tips for those who love/hate those .PROVXML's :)

Tip #1: dotFred (FdcSoft) Task Manager 3.1

dotFred Task Manager includes an option to install Provision(er) .XML files. To use it however, you need to make sure that an .XML header appears as the first line of your .PROVXML file. Additionally, you'll need to temporarily rename the .PROVXML to .XML before copying to your device for testing with dotFred Task Manager.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Once you've confirmed that all is well with your .XML, remove the .XML header and rename the file back to .PROVXML ... you're done.

URL: http://www.dotfred.net/TaskMgr.htm

Tip #2: Log .PROVXML Processing

Another handy little trick, is to add the following code to the end of your .PROVXML file. Place the code at the end of the .PROVXML file - just before/above the </wap-provisioningdoc> statement. This way, the characteric is the last item processed if all is well with the contents of the .PROVXML file.

Place your logging registry value in the OEM registry sub-key; for example, HKLM\Software\OEM\PROVXML ... same place as the MASD sub-key where package version information usually appears. Saves having to look all over the device registry. ;)

<wap-provisioningdoc>
...
<!-- Add Registry Entry To Log PROVXML (XDADevelopers DD.MM.YYYY) -->
<characteristic type="Registry">
<characteristic type="HKLM\Software\OEM\PROVXML">
<parm name="[COLOR=blue]<SIMPLENAME>[/COLOR]" datatype="string" value="[COLOR=blue]<PROVXMLFileName>[/COLOR]" />
</characteristic>
</characteristic>
</wap-provisioningdoc>

<SIMPLENAME>

Simple friendly registry (REG_SZ) value name; stick with the basics: a-z, A-Z, 0-9. For example, if your .PROVXML file is entitled mxip_Package_MyApp_0_0_0_0, you could set the [SIMPLENAME] to: MyApp0000

<PROVXMLFileName>

Actual .PROVXML filename; that's what it's all about right? What's the point of adding something meaningless. For example, if your .PROVXML file is entitled mxip_Package_MyApp_0_0_0_0, you would set <PROVXMLFileName> to: mxip_Package_MyApp_0_0_0_0.provxml.

Tip #3: RAPICONFIG

Another method to test .PROVXML file is to use the RAPICONFIG utility. XDA members cruiserrr and kheechun report that RAPICONFIG is a quick (and painless) way to test .PROVXML files. Copy the RAPICONFIG (and other utilites) to your kitchen, connect your mobile device via ActiveSync, prepare an .XML file with the registry keys to upload/download, and submit the .XML via RAPICONFIG.

URL: http://xdaforums.com/showthread.php?p=1899755#post1899755

URL: http://msdn.microsoft.com/en-us/library/bb737283.aspx

Tip #4: ANSI or Not To ANSI. And If Not, UTF-8 with/without Signature

Well that is the question, and frankly, i'm not sure there's a right or wrong answer. For example, some Microsoft forum/blog entries seem to elude to ANSI being the preferred choice if the .PROVXML will contain certificate information.

Other forum/blog entries and seasoned chefs will tell you to save them as UTF-8 with Unicode BOM Signature. Others yet, will recommend UTF-8 ... no signature.

So, that is the question indeed ... :rolleyes:

Understanding Provisioning

http://msdn.microsoft.com/en-us/library/aa456234.aspx

Metabase Settings

http://msdn.microsoft.com/en-us/library/bb737493.aspx

Provisioning for Windows Mobile-Based Devices

http://msdn.microsoft.com/en-us/library/ms894922.aspx

Configuration Service Provider Reference for Windows Mobile-Based Devices

http://msdn.microsoft.com/en-us/library/ms889539.aspx