noob trying to use provxml needs help. - 8125, K-JAM, P4300, MDA Vario Software Upgrading
I have been trying wrap my brain around .provxml files for several days now. But either I am missing the big picture or something is different about Wizard from other HTC devices.
Either way I could use some insight/help.
I am using the following:
An unlocked Cingular Wizard,
The HyperCore Kitchen,
Kitchen Files for XM6r5.
I am trying to learn, so for now the only thing I am trying to do is manipulate Tetris so that when the ROM is placed on the Wizard the Shortcut for Tetris is copied from the \Windows Folder to the \Windows\Start Menu\Programs\Games and then have the original deleted from the \Windows folder.
mxipcold_Tetris_100.provxml:
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE14%" translation="install">
<characteristic type="MakeDir" />
<characteristic type="Tetris.lnk">
<characteristic type="Copy">
<parm name="Source" value="%CE2%\Tetris.lnk" translation="install"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="%CE2%\Tetris.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
I have read a LOT about .provxml, I do not have less than 16 bookmarks devoted just to different discussions about these files. I have read most of what it out there but, respectfully, some of the discussions are quite lengthy an I have skimmed through them.
I have read that the .dsm should not be zero bytes so I followed the instructions and used BuildDSM.exe.
I read that the provxml needs to be UTF8, so I corrected this as well.
etc...
EVERY single test has been a COMPLETE failure. Not once has the .lnk been copied, deleted or both.
But there is not a lot of information about .provxml that is Wizard specific so I think I must just be missing some small step, or some error.
Does someone know what I need to do to make this work?
Drew
Additional:
If you are wondering why I am trying so hard to figure this out do the following:
1) Load up your kitchen of choice
2) With the cooking pack of your choice
3) Build a ROM that has every non-essential item removed.
4) Put this thing on your phone.
5) Notice how unbelievably fast your Wizard now boots
6) Use File Explorer to move around and check out how fast the Windows folder displays.
Do you know why the phone is so much faster now? It is because there are so few files in the Windows folder compared to before. An old trick to speed up windows on a PC years ago was to remove files you don't need from the Windows folder. It would take some doing because Windows was a dumping ground for all the programmers, some even just installed their programs into the Windows folder rather than bother with creating a folder of there own. We have a similar situation with the Wizard.
If we can create ROMs that install applications into different folders we can add applications while significantly reducing the impact on performance.
I trying to simply do what initflashfiles.dat does, but in a different way. initflashfiles.dat will always leave the original file in the Windows folder, by eliminating the duplication it may even be possible to squeeze in another small app or two.
There does not seem to be a way to build a ROM (ourselves) and just have files in the folders we want them in. But these .provxml files are supposed to get processed at a point when the ROM can be modified, like a hard reset. They have the commands to create folders, copy/move files and delete files for a reason, and I am looking to take advantage of it.
Accomplishing this could breath years of new life into these Wizards by keeping them fast enough and responsive enough.
Have you had any luck with this? I too, am trying to use provxml's to delete files while cooking. So far no luck. I've seen several instances of this being used by Microsoft in \SYS so I don't understand why it isn't working.
I have noticed some cooks put the provxml file in the same folder as the program in their kitchens. No need to add another folder or dsm file.
I can't comment on DrewYK's problem, but I was trying to use the forcedelete command to remove files (jbed graphics) and this is not possible once the files has been included in the ROM. There are instances of Microsoft using a provxml to remove files, but it is only used to remove shortcuts.
example:
Code:
<!-- ====== -->
<!-- BEGIN ==== Delete the OfficeMobile lnks from all possible locations other than start-menu -->
<!-- ====== -->
<characteristic type="%CE11%\Office Mobile\PowerPoint Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE11%\Office Mobile\Word Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE11%\Office Mobile\Excel Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE11%\Office Mobile\icon.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE11%\Office Mobile" translation="install">
<characteristic type="RemoveDir" />
</characteristic>
<characteristic type="%CE11%\PowerPoint Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE11%\Word Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE11%\Excel Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE17%\PowerPoint Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE17%\Word Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<characteristic type="%CE17%\Excel Mobile.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
<!-- ====== -->
<!-- END ==== Delete the OfficeMobile lnks from all possible locations other than start-menu -->
<!-- ====== -->
Related
Question: where is "provisioning" data stored?
Does anyone know where the provisioning values are stored? For example, as part of the first-boot customization, several cab files write values to somewhere, getting entries from a xml file within the cab. Here's the partial contents of one such xml file: <wap-provisioningdoc> <characteristic type="SecurityPolicy"> <parm name="4097" value="1"/> <parm name="4101" value="16"/> <parm name="4102" value="1"/> <parm name="4103" value="64"/> </characteristic> </wap-provisioningdoc>
HTC Network Wizard and provision.zip
Basically what I am trying to do is provision the connections on my phone without having to first install HTC Network Wizard, Reboot, then run it and configure the connection and then reboot again. I know that inside of HTC Network Wizard is the provision.zip file which I have unzipped and located the AT&T XMLs. They are formatted with what look like non-standard CSPs: <characteristic type="CM_GPRSEntries"> <characteristic type="Cingular GPRS"> <parm name="DestId" value="{97626DCF-818F-4be1-AC7E-77DA1B01F145}"/> <parm name="UserName" value="[email protected]"/> <parm name="Password" value="CINGULAR1"/> <parm name="AlwaysOn" value="0"/> <characteristic type="DevSpecificCellular"> <parm name="GPRSInfoValid" value="1"/> <parm name="GPRSInfoAccessPointName" value="wap.cingular"/> </characteristic> </characteristic> </characteristic> Click to expand... Click to collapse If I try to import them like a normal provisioning XML I will get an error. My guess is because the CSPs are non-standard, like "CM_GPRSEntries" and that only HTC Network Wizard knows how to import them. I may be off base here...but that's my guess. How can I import these to provision my network connections, or is there another way, or a particular set of reg keys I can just import to get everything setup? thx.
comparing that provxml to the one in the at&t rom dump, they are similar. Code: <!-- MODEM[GPRS]: MEdia Net --> <characteristic type="CM_GPRSEntries"> <characteristic type="MEdia Net"> <parm name="DestId" value="{97626DCF-818F-4be1-AC7E-77DA1B01F145}"/> <parm name="Enabled" value="1"/> <parm name="UserName" value="[email protected]"/> <parm name="Password" value="CINGULAR1"/> <characteristic type="DevSpecificCellular"> <parm name="GPRSInfoAccessPointName" value="wap.cingular"/> </characteristic> </characteristic> </characteristic> instead of importing the provxml, why not use the att settings cab, i think u can probably find the cab for it in alltheway's 4shared folder
Thanks Xtreme...you're right the files look very much the same. I downloaded the .CAB, extracted the .XML and it imported just fine. I then took a deeper look between the two and it seems that my original one was formatted different ASCII. You can't see the difference if you open the XML in a browser, but you can if you open them in notepad. I converted my original to proper ASCII and it now imported! I guess the HTC program can deal with different types of ASCII formatting, but the 3rd party XML imported cannot. thx again. BTW...I'm writing a generic script, which is why I don't want to just use the .CAB, and need to figure out how to import XML.
wap provisioning error
I have gone real mad to find out the error. I am trying to create a CLSID key that doesnt exist. I converted this into .cab but still nothing works. Installation of cab is unsuccessful. Please let me know what the issue? <wap-provisioningdoc> <characteristic type="Registry"> <characteristic type="HKCR\CLSID\{B1724D68-3961-4D95-860B-B7EC981AE36A}" translation="filesystem"> </characteristic> <characteristic type="HKCR\CLSID\{B1724D68-3961-4D95-860B-B7EC981AE36A}" translation="filesystem"> <parm name="PocketPC" value="2876123402" datatype="integer" /> <parm name="System32" value="0" datatype="integer" /> </characteristic> </characteristic> </wap-provisioningdoc>
Just to see what would happen.....
I took the Touch HD system response update released by HTC and tried to install it, granted it said wrong device.....so I said hmmm if the hardware is similar lemme extract this file and copy it over in the windows folder.....so I did this not knowing if it was going to start up or not....but to my surprise it did and all I can say is wow....the X1 was retardly fast....shrugs...nothing beats a failure but a try...May be worth it to implement this into the actual roms being cooked. EDIT: I was using itje's 3.01 rom when I did this. WC
Wild Child, could you give more details? I grabbed that update and extracted it, and I'm looking at _setup.xml, but see two Folder actions (\Windows and \Temp), and I'm not sure if all 10 files go in \Windows. I could also try to make an installer that works on any device, but I just have to know the proper file paths. Also, does it just 'feel' fast, or have you done some real benchmarks? If the performance gain is that great, then sure it would be worth it to implement this into custom ROMs/X1 installable CAB files. Thanks for putting up your device to the risk!
which hotfix was it? I tried one and it inverted the screen display. quite amusing to get it back again as the touch screen calibration was still the other way up.
All I did was extract the files attached to the post here, connected phone to computer,copied them into the windows folder,over wrote a setup file and soft rebooted. This was with itje's 3.01 rom installed. Now it may be me but it improved the response of the phone. I didnt do any benchmarks. I figured since the rom files where htc maybe it would help...who knows....lol WC
tried this patch and wanted to warn everyone. it's rotating the screen 180° but not the touchscreen input like fards said. use it with caution!
Hmm I didnt experienced any rotating screens on mine. Shrugs.... Using the same files in the X1a nam rom also with now issues. WC
i've just tried this and it works on itjes 3.01 rom a treat. http://forum.xda-developers.com/showthread.php?t=473510
Sorry I should've posted that thats the rom I was using....doh. The one you posted isnt the same one I used fards... http://www.htc.com/www/SupportDownload.aspx?p_id=179&cat=0&dl_id=448 WC fards said: i've just tried this and it works on itjes 3.01 rom a treat. http://forum.xda-developers.com/showthread.php?t=473510 Click to expand... Click to collapse
i just tested this seems safe. i say test for your self the device seems very responsive but i cant say for sure if it from this as or from the very nice rom as i only flashed itje 301 rom an hour ago and i have no point of reference
Tried the files I posted on itje's 2.1 and same result...very responsive after reboot..... WC
Wild Child said: All I did was extract the files attached to the post here, connected phone to computer,copied them into the windows folder,over wrote a setup file and soft rebooted. This was with itje's 3.01 rom installed. Now it may be me but it improved the response of the phone. I didnt do any benchmarks. I figured since the rom files where htc maybe it would help...who knows....lol WC Click to expand... Click to collapse t those files aren't extracted, that's a corrupted cab not a zip file (the second one) they need decompressing. They won't do a thing in the format they are in... That hotfix isn't needed for the newer blackstone roms as the files are included. The only ones that do anything are DDI and gxdma this is the setup xml to give you an idea of the files proper names. Code: <wap-provisioningdoc> - <characteristic type="Install"> <parm name="InstallPhase" value="install" /> <parm name="SetupDLL" value="1" /> <parm name="OSVersionMin" value="3.0" /> <parm name="OSVersionMax" value="4.21" /> <parm name="BuildNumberMin" value="0" /> <parm name="BuildNumberMax" value="-536870912" /> <parm name="UnsupportedPlatforms" value="JUPITERHPC" /> <parm name="AppName" value="Hotfix BLA02889" /> <parm name="InstallDir" value="%CE1%\BLA02889" translation="install" /> <parm name="NumDirs" value="2" /> <parm name="NumFiles" value="10" /> <parm name="NumRegKeys" value="1" /> <parm name="NumRegVals" value="1" /> <parm name="NumShortcuts" value="0" /> </characteristic> - <characteristic type="FileOperation"> - <characteristic type="\temp" translation="install"> <characteristic type="MakeDir" /> - <characteristic type="HTCmdp.dll" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="00HTCmdp.001" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="gxdma.dll" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="000gxdma.002" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="disptools.dll" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="DISPTO~1.003" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="ddi.dll" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="00000ddi.004" /> <parm name="NoSkip" /> </characteristic> </characteristic> </characteristic> - <characteristic type="\Windows" translation="install"> <characteristic type="MakeDir" /> - <characteristic type="CM_Entries.xml" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="CM_ENT~1.005" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="CheckFile.exe" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="CHECKF~1.006" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="__fileList_.txt" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="__FILE~1.007" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="Platformxxx.reg" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="PLATFO~1.008" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="__cusTSKTEMP.exe" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="00custsk.009" /> <parm name="NoSkip" /> </characteristic> </characteristic> - <characteristic type="Customize.lst" translation="install"> - <characteristic type="Extract"> <parm name="Source" value="CUSTOM~1.010" /> <parm name="NoSkip" /> </characteristic> </characteristic> </characteristic> </characteristic> - <characteristic type="Registry"> - <characteristic type="HKCU\Software\HTC\Customize"> <parm name="Ver" value="1.0" datatype="string" /> </characteristic> </characteristic> </wap-provisioningdoc> The hotfix files I used are for the slider on the caller ID screen, before the slider would struggle and sometime touching it would not answer but silence the ringtone. Fix really works well. if you want to extract cab files then search for MSCEinf, it's a great piece of software.
hmmm... shrugs....the first Touch HD system zip is an exe file not a cab,which is why it was able to be extracted the way it was(ie extracted zip)...so I dont know about a corrupted file. WC
XML Code help for BrowserFavs
Hi, please could someone point me in the right direction or tell me where I am going wrong. I am trying to produce a cab that contains amongst other things the addition of some Browser Favourites and the removal of the default ones. I am using WinCE CAB Manager and currently trying to edit the PREXML Code. I can add new Browser Favourites using the following code <characteristic type="BrowserFavorite"> <characteristic type="Test URL"> <parm name="URL" value="URL Test" /> </characteristic> When I try to remove the current ones such as Windows Live, HTC etc I use this code <characteristic type="BrowserFavorite"> <nocharacteristic type="Explore Windows Mobile" /> </characteristic> <characteristic type="BrowserFavorite"> <nocharacteristic type="HTC" /> </characteristic> <characteristic type="BrowserFavorite"> <nocharacteristic type="Google" /> </characteristic> <characteristic type="BrowserFavorite"> <nocharacteristic type="AccuWeather.com" /> </characteristic> <characteristic type="BrowserFavorite"> <nocharacteristic type="Windows Live" /> </characteristic> So I use the nocharactristic type which then allows me to save code but then the CAB file will not install. They refuse to go. Where am I going wrong?! Thanks