As mentioned in the title, I am trying to get my feet wet with .xml provisioning. (Specifically with .XML provisioned registry settings.) After researching, I understand that registry settings and XML provisioning can get pretty tricky and as well as quite complex. So I decided to start small with keyboard layout, customizing SK2 on the today screen and changing my S2U2 background.
I am having problems getting my .XML files to work and can't tell if its my .xml documents or if its my method of loading the files. Because of this, I was hoping someone could take a look at my code and let me know where my mistakes lay.
Keyboard Layout:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\SOFTWARE\OEM\Qwerty\">
<parm name="Layout" datatype="DWORD" value="132100" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
SK2 on the todayscreen:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKCU\Software\Microsoft\Today\Keys\112">
<parm name="Default" datatype="String" value="Google Maps" />
<parm name="Open" datatype="String" value="\Program Files\GoogleMaps\GoogleMaps.exe" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
S2U2 Wallpaper:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKCU\Software\A_C\S2U2\">
<parm name="Wallpaper" datatype="String" value="\My Documents\My Pictures\Album Sample_07.jpg" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
Thanks!
-hier0
try adding (translation="filesystem") to any line that has a backslash or is a system path like so:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKCU\Software\Microsoft\Today\Keys\112" translation="filesystem">
<parm name="Default" datatype="String" value="Google Maps"/>
<parm name="Open" datatype="String" value="\Program Files\GoogleMaps\GoogleMaps.exe" translation="filesystem"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
please let us know if this solves your problem...
That didn't work either =\
Maybe, I am incorrectly creating the .xml file itself. I have tried two method of doing so: Notepad and Dreamweaver.
Are these the correct steps for creating an xml document in notepad?
1. Open Note Pad
2. Paste my xml code:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKCU\Software\Microsoft\Today\Keys\112" translation="filesystem">
<parm name="Default" datatype="String" value="Google Maps"/>
<parm name="Open" datatype="String" value="\Program Files\GoogleMaps\GoogleMaps.exe" translation="filesystem"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
3. Save the document as "filename.xml"
are there any other tags that i need to include either before or in between the <wap-provisioningdoc> tag?
[EDIT] I am not sure if it helps or not but the error i am getting when installing/loading the file is : "unknown error occured: 0x80004005"
save it to your desktop and open it in IE
If the format is correct, you can open and expand/collapse the keys
how are you trying to install it?
As far as I know, you have to create a cab file to install it...
rename to "_setup.xml" and use "makecab.exe" like this at the command line:
makecab _setup.xml cabname.cab
Hi, For registry xml provisioning, if you have sktools 4.7, you can export the keys from registry and use the functionality build cab from reg. Then you open the cab with winzip, view the _setup xml file and copy to your xml file as a scheleton. Remove the first characteristics (they rule the cab itself) and copy when it says caracteristic registry.
There are also tools like reg to xml but they require cf 2.0 in the pc.
for email and wifi the easiest way is to do it with sashimi-makisu.
the only thing I saw compared with my files is that datatype is always at the end in my files, after the value. I have never use the one "DWORD": only string, integer, binary.
I usually import with sdcsoft task manager, the message you get, in my experience means it is well formed (try opening with ie as commented in previous tag), but the commands can not be executed.
AFAIK you have to have a blank line at the end of the xml/provxml file. This is the code for me to set up my data connection
Code:
<wap-provisioningdoc>
<characteristic type="CM_GPRSEntries">
<characteristic type="T-Mobile Internet">
<parm name="DestId" value="{F750E26F-81D9-4379-8567-318C129CA736}" />
<parm name="UserName" value="faster" />
<parm name="Password" value="web" />
<parm name="Enabled" value="1" />
<characteristic type="DevSpecificCellular">
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoAccessPointName" value="general.t-mobile.uk" />
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Related
Hi all,
I was trying to create a provxml file to automatically create a shortcut in
the "Start Menu" folder.
this is the sintax I was using:
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE17%" translation="install">
<characteristic type="MakeDir" />
<characteristic type="Reset.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source" value="\location\my_file.exe /parameter" translation="install" />
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
but always the .lnk file receives this value :
(quotes are included in value and slash is converted in backslash)
"\location\my_file.exe \parameter"
can someone help me to obtain : \location\my_file.exe /parameter?
thanks for reading J.
might as well create the link in correct form and use provxml to copy the link to the location you want. much simpler.
try removing 'translation="install" ' from the line with the parameter.
jiggs said:
might as well create the link in correct form and use provxml to copy the link to the location you want. much simpler.
Click to expand...
Click to collapse
tried too... maybe my example files have some syntax errors inside
I always get failure to execute the provxml.
@ joemanb : I'll try
Thank you all
What about this?
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE17%" translation="install">
<characteristic type="MakeDir" />
<characteristic type="Reset.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source"
value="\location\my_file.exe /parameter"/>
</characteristic>
</characteristic>
</characteristic>
<wap-provisioningdoc>
Maybe the problem is caused by security?
http://msdn2.microsoft.com/en-us/library/aa455927.aspx
RStein said:
What about this?
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE17%" translation="install">
<characteristic type="MakeDir" />
<characteristic type="Reset.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source"
value="\location\my_file.exe /parameter"/>
</characteristic>
</characteristic>
</characteristic>
<wap-provisioningdoc>
Maybe the problem is caused by security?
http://msdn2.microsoft.com/en-us/library/aa455927.aspx
Click to expand...
Click to collapse
Must be security, I've tried to copy to "\" and to "\windows" and worked like
a charm. Not in "%CE17%".
Thank J.
Edit: Phone user shoud be an authenticated user..?!?
Edit 2: Ok DONE! Thank you all guys, I love this forum.
jiggs said:
might as well create the link in correct form and use provxml to copy the link to the location you want. much simpler.
Click to expand...
Click to collapse
Code:
<wap-provisioningdoc>
<!-- *** COMMENTO *** -->
<characteristic type="Registry">
<characteristic type="HKLM\System\GWE\MAGNIFIER" translation="filesystem">
<parm name="Enable" datatype="integer" value="0"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Solitaire" translation="filesystem">
<parm name="Prefs" datatype="string" value="310011"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Hi all,
I would love to restore my WiFi settings from a hard reset.
I can configure the setup manually with no problem.
I am aware that I need to use XML to do this, and have tried it using Cuccureddu's tips from this thread http://forum.xda-developers.com/show....php?p=1227587 (using provxml) and also tried from _setup.xml in a CAB file: I receive an error saying "Installation of wifi.cab was unsuccessful".
I've tried this with Wifi enabled and Wifi disabled, btw...
How I did it:
- Created a file in Notepad with all my settings, as follows - I went to the MSDN pages as mentioned in cuccureddu's post, as my network uses WEP:
<wap-provisioningdoc>
<characteristic type="CM_WiFiEntries">
<characteristic type="My_SSID">
<parm name="DestID" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>
</characteristic>
</characteristic>
<characteristic type="Wi-Fi">
<characteristic type="access-point">
<characteristic type="My_SSID">
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>
<parm name="Encryption" value="4"/>
<parm name="Authentication" value="4"/>
<parm name="NetworkKey" value="My_Network_Key"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Made the cab in the following ways:
1. As stated in the linked post, using .provxml.xml and the MakeCab.exe from Windows XP (with .provxml.xml saved as UTF-8, then Unicode - as another post indicated it should be saved as UTF-8(?!?)).
2. As above, saving .provxml.xml both as UTF-8 and then Unicode, but using the MakeCab.exe from the WM5 SDK.
Makecab.exe /D COMPRESS=OFF .provxml.xml wifi.cab
Note: I transferred the file in all above cases over ActiveSync to my Storage Card, which is where it was run from.
Hmmm...
So, I'm a little stuck... does anybody have any ideas, or want further info?
TIA for any help you can give...
rename your provxml to _setup.xml, then do:
makecab _setup.xml WifiSettings.CAB /v3
Still doesn't work, always give me the following error: "Installation of wifi.cab was unsuccessful". Can someone send me one that is working and let me try it and see if my device is flakey?
Got the same issue, i never get it to work, would be very pleased if this is fixable.
I am using Wifiprofiles app to create diffrent profiles. Once I am in a diffrent wifi network I simply change the profile and my new settings gets applied.
And it supports profile export and import.
<wap-provisioningdoc>
<characteristic type="CM_WiFiEntries">
<characteristic type="YOUR SSID">
<parm name="DestID" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>
</characteristic>
</characteristic>
<characteristic type="Wi-Fi">
<characteristic type="access-point">
<characteristic type="YOUR SSID">
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>
<parm name="Encryption" value="0"/>
<parm name="Authentication" value="0"/>
<parm name="Hidden" value="0"/>
<parm name="KeyProvided" value="0"/>
<parm name="NetworkKey" value="YOUR NETWORK KEY"/>
<parm name="KeyIndex" value="1"/>
<parm name="Use8021x" value="0"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Save as "_setup.xml"
from the dos prompt type...
makecab /D compress=off _setup.xml WiFi.cab
this just worked for me...
Rick
Hello,
Sorry for refreshing an old topic but I would like to refer to the tutorial posted above. I finally managed to build a cab with my WiFi settings which would install on PDA without problems, but only if I install one network at a time.
What if I would like to restore several WiFi networks. Can it be done with one cab = one provisioning xml only?
I tried several ways (the simpliest was to add particular lines of code one network after another - of course I put everything between the <wap-provisioningdoc></wap-provisioningdoc>) but I can't get the networks to work. The cab says that the installation was unsuccessful and after that both networks are present in the network settings, but without the WPA keys. If only one network is in one cab, then whole configuration is restored without any problem.
Did somebody of you guys managed to find a way to add more configuration options to one working provxml? I wish I could make one cab file with one _setup.xml inside consisting of all my settings for registry, WiFi, e-mail accounts and some other? Or it is better (and/or safer) to make separate cabs (or xmls) for each kind of setting (including separate WiFis)?
TIA for a bit of an explanation...
Best Regards
Skrobel
rjh1 said:
<wap-provisioningdoc>
<characteristic type="CM_WiFiEntries">
<characteristic type="YOUR SSID">
<parm name="DestID" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>
</characteristic>
</characteristic>
<characteristic type="Wi-Fi">
<characteristic type="access-point">
<characteristic type="YOUR SSID">
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>
<parm name="Encryption" value="0"/>
<parm name="Authentication" value="0"/>
<parm name="Hidden" value="0"/>
<parm name="KeyProvided" value="0"/>
<parm name="NetworkKey" value="YOUR NETWORK KEY"/>
<parm name="KeyIndex" value="1"/>
<parm name="Use8021x" value="0"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Save as "_setup.xml"
from the dos prompt type...
makecab /D compress=off _setup.xml WiFi.cab
this just worked for me...
Rick
Click to expand...
Click to collapse
Thank you. My headache has subsided.
More importantly, I want to create a shortcut WITH PARAMETERS.
I need the full list of shortcut properties to be at my disposal, including optional parameters as well as icon selection. The end result needs to be a LNK file with that shortcut in it.
Does anyone know? I'm having a really difficult time finding a one-stop location for a comprehensive list of provisional XML installation commands.
edit-
I should add that I went to Development Resources thread and downloaded the spreadsheet. I did a global find for the term XML in the spreadsheet and got no results. That's when I started this thread because I honestly have no idea where else to look. :\
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE4%\yourshortcut.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source" value="%CE2%\yourapp.exe" translation="install" />
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
adwinp said:
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE4%\yourshortcut.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source" value="%CE2%\yourapp.exe" translation="install" />
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Click to expand...
Click to collapse
Yeah, that one I know. But I don't know how to create the shortcut with parameters such as command-line arguments.
"\Windows\Jbed.exe" -manage
How would I create a shortcut to that, for example? Do I just use double-double quotes (like in the case of REG files)? So it looks like this:
Code:
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE4%\Jbed.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source" value="""%CE2%\Jbed.exe"" -manage" translation="install" />
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
I've tried that and it didn't work. Is there an escape character that I should be using?
http://msdn.microsoft.com/en-us/library/bb737563.aspx
There isn't anything that explicitly confirms or denies that you'll be able to accomplish what you've asked, so working through examples is the best path.
Code:
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE4%\Jbed.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source" value=""%CE2%\Jbed.exe" -manage" translation="install" />
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
One alternative is to create the link yourself and then copy the file.
Best regards,
-boggsie
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
Hi. I've spent all evening trying to cook in my favorites, by editing the stock favorites in \OEM\LEO\0409\OperatorPkg xipupdate_oemoperators_100.provxml but when i build the rom, the favorites are blank.
If i copy in the stock .provxml again and re cook, theyre all back, but change one letter and favs is blank again (though i suspect it will turn out to be something to do with saving, rather than the editing itself.)
I've been making sure to re apply 'read only', and ive tried various unicode, utf-8 and what have you using notepad and notepad++,
What am I missing?
Thanks.
You probably need to have it as system file and hidden as well. Make sure you apply attribute fix to your kitchen.
ai6908 said:
You probably need to have it as system file and hidden as well. Make sure you apply attribute fix to your kitchen.
Click to expand...
Click to collapse
hmmm, i'm mostly sure the attribs are correct, i set the folder to show attrib column, so i could compare with the other files in the set of three,,,,
RHS if i remember correctly. i'll certainly look deeper into attributes when i get home though, so thanks for the pointer.
In a TMOUS rom, save the following to "mxipupdate_oemoperators_106.provxml" and put it somewhere inside your Opera's EXT file firectory. Cook it in and your set, once you set your info. And make sure each entry is 4-lines long, if you don't format provxml right, it will kick the whole thing out. And to my knowledge, the attribute really doesnt effect it, as long as it's formated correctly.
<wap-provisioningdoc>
<!--328.01_pIE My Favorites Smartphone-->
<characteristic type="BrowserFavorite">
<characteristic type="web2go">
<parm name="URL" value="http://m.web2go.com" />
<parm name="Order" value="2" />
</characteristic>
<characteristic type="ESPN">
<parm name="URL" value="http://proxy.espn.go.com/wireless/espn/html/pocketpc" />
<parm name="Order" value="4" />
</characteristic>
<characteristic type="CNN">
<parm name="URL" value="http://www.cnn.com/" />
<parm name="Order" value="5" />
</characteristic>
<characteristic type="My Account">
<parm name="URL" value="http://myaccount.wap.t-mobile.com" />
<parm name="Order" value="6" />
</characteristic>
<characteristic type="Download Ringtones">
<parm name="URL" value="http://ringtones.store.t-mobile.com/" />
<parm name="Order" value="7" />
</characteristic>
<characteristic type="Browse Wallpaper">
<parm name="URL" value="http://wallpaper.t-mobile.com/" />
<parm name="Order" value="8" />
</characteristic>
<characteristic type="Browse CallerTunes®">
<parm name="URL" value="http://pda.callertunes.com" />
<parm name="Order" value="9" />
</characteristic>
<characteristic type="My Album">
<parm name="URL" value="http://myalbum.t-mobile.com" />
<parm name="Order" value="10" />
</characteristic>
<characteristic type="Help">
<parm name="URL" value="http://help.wap.t-mobile.com" />
<parm name="Order" value="11" />
</characteristic>
<characteristic type="Gogo® Inflight Internet">
<parm name="URL" value="http://www.gogoinflight.com/htchd2" />
<parm name="Order" value="13" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
Click to expand...
Click to collapse
ok, i'll give that a try, butwon't they all be duplicated since they already exist in _100.provxml?
When I decompile a rom, the first thing I do is remove the attributes from the OEM's provxml's and remove that from the original provxml file. I use opera 10 currently so I don't use this one, but that's what I used to do. Any problems, attach your provxml and I can help ya corectly remove them so there are no dupes.
OKayyy, so my first lesson in chefing.
I renamed the provxml to just xml, opened it in firefox, and hey presto, instant answer.
It doesnt like the xda advanced google search URL
<parm name="URL" value="http://www.google.com/advanced_search?q=+site:http://forum.xda-developers.com&hl=en&lr=&as_qdr=all" />
It fails after developers.com, and so no favs at all, (i assume cos the whole file fails)
Removed &hl=en&lr=&as_qdr=all and hey presto, fixed, nothign to do with attribs and what not at all.
<blush>
My lesson for the day, 'browsers will tell me where the error is in provxml files'
I can go to sleep now. Thanks for the pointers, even if I was throwing you a red herring.
The & symbol and several others require special formatting in xml. You would replace it with "&". Actually, just delete the provxml entries and do a straight up registry export and insert it in your app.reg file. Way easier btw...
rstoyguy said:
The & symbol and several others require special formatting in xml. You would replace it with "&". Actually, just delete the provxml entries and do a straight up registry export and insert it in your app.reg file. Way easier btw...
Click to expand...
Click to collapse
ah of course , , think html, got it.
"export from registry"
so they are registry entries as well as files in windows\favorites?
just scanned it, couldn't find any reference to them.
samsamuel said:
I renamed the provxml to just xml, opened it in firefox, and hey presto, instant answer.
Click to expand...
Click to collapse
Thats XML lesson 101 LOL.