yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Software Development] pdagenius:
Thank you for the suggestions :), unfortunately none of them seem to work. :mad:

There is no value SDAutoRunVersion so I take it this refers to the first release of SDAutoRun and not the latest V2.0. I have asked Bepe to update his ROM with the newer version.

Have deleted the "translation = filesystem" from each line in the XML file - think this is what you meant. Have also used your version of the SDConfig.txt file. My file was created with DoeDoe's SDConfig.txt creator. I did notice there may be an extra character on the end of the lines but was not sure. All the cabs loaded with both my original SDConfig.txt file and your version.

Suspect there is still a syntax or spacing issue somewhere which is removed when creating the cab. Incidently I am creating it using CabMan (XML to Reg) and then CERegistryEditor (Reg to Cab) - this cab is in the zip file I posted before. Creating the cab using DoeDoe's SDConfig.txt creator creates the cab, but does not reformat the _setup.xml file (it stays exactly as my original file). DoeDoe's cab does not work. Perhaps this is a clue but the detail of the changes in the CERegistryEditor cab are lost on me at the moment. Perhaps with your experience you will spot something?

I suppose its not the end of the world to have to create a cab each time I do an edit of the XML, but it seems the more elegant way to do things if possible. This am sure was your intention with SDConfig in the first place.
[Windows Mobile Software Development] Sleuth255:
What's odd about your situation is that I do virtually everything you're trying to do in my own setup xml file. Your code could've been lifted from my example.

Like CAB: this appears to be something obvious that I'm just missing...
[Windows Mobile Software Development] Sleuth255:
Found it!

The problem lies in the following value (PI8 settings):

<parm name="Reg_TaskOID" datatype="integer" value="3221225473"/>

this appears to be an invalid integer value. In the cab its set as follows:

<parm name="Reg_TaskOID" value="0" datatype="integer" />

When I changed your xml to set the value to 0, it installed. (changed file attached)
[Windows Mobile Software Development] l3v5y:
So if anything is missing or not working at all SDAutoRun gives up?
[Windows Mobile Software Development] jorge_culv:
Sleuth, the syntax is terribly important with these..can you provide an example to show how this is done? I seem to recall this is how cusTSK.exe is called from the Ext ROM to change themes in the stock carrier ROMS, but don't remember the exact syntax...any help would be useful.
[Windows Mobile Software Development] pdagenius:
Great, thanks very much. A second pair of eyes is what I need :)

Out of interest, the XML came from the REG I exported using CERegistryEditor. Clearly I can't be too careful and shouldn't take things for granted. Interesting though that creating a cab corrected the error.
[Windows Mobile Software Development] l3v5y:
This:

EXEC:\Extended_ROM\cusTSK.exe \Extended_ROM\black.tsk

calls cusTSK to install my theme called 'black'.

Attached is the code in an config.txt file.
[Windows Mobile Software Development] Sleuth255:
SDAutoRun gives up if it can't find all cabs associated with CAB: statements. The rationale here is that some of your provisioning XML will quite likely depend on the cabs being installed prior to the customization. If everything is found, it copies SDConfig.txt to \windows, mods the autorun comm regkey and executes AutoRun again.

The provisioning XML CSPs won't process any part of a file referenced by XML: unless all of it is good. This is why SDAutoRun aborts if cabs aren't all found.

@all

Here's how I troubleshot pdagenius' issue:

copied his file to c:\slp\_setup.xml on my PC

connected my Tilt to activesync and opened a browse window on my PC to the temp directory on my tilt

opened a browse window to c:\slp

opened a command prompt then did a cd\slp

opened c:\_setup.xml in notepad

opened a blank notepad

First, I cut everything but his first registry provisioning key out of the notepad that had _setup.xml opened & pasted it into the blank notepad window.

Then I did the following:

saved the _setup.xml file

in the command prompt window I did this:

C:>cabarc N test.cab _setup.xml

(this created a new cab named test.cab with only _setup.xml in it. Any existing cab file with the same name is overwritten)

dragged test.cab onto \temp in my device browser window

tapped on \temp\test.cab using file explorer on my device to execute (my tilt was still connected up)

if successful I went back to the cut out notepad window, moved another provisioning key to the _setup.xml notepad window and repeated the process

This quickly got me to the bad key. I then moved individual value statements with the same repetitive tests until I found the bad value.

Took about 15 minutes to isolate.
[Windows Mobile Software Development] l3v5y:
So to increase the chances of it working properly and being easier to troubleshoot, xmls with fewer operations are best?
[Windows Mobile Software Development] Sleuth255:
Pretty much... I still have only one provisioning file though because every time I add more customization I make a _setup.xml file containing the new code then perform the above technique to iron out the bugs. When all is well, I merely paste the debugged xml into SleuthProvisioning.xml then add comments there.

All the stuff you guys are finding out is keeping me pretty busy too.... I've now got WiFi provisioning and my memmaid registration to add :rolleyes: ;)
[Windows Mobile Software Development] l3v5y:
My WiFi took five minutes to do and troubleshoot (after I'd sifted through all the irrelevant MSDN data).
[Windows Mobile Software Development] Sleuth255:
I considered mortscript as the UC engine but abandoned it in favor of the technique described here. The reason is this: UC deploys the basic XML based provisioning magic that's fundamental to all WM devices. These are the provisioning CSPs themselves.

Knowledge is power you see ;)

Through the use of UC and documented in this thread, 4 major provisioning CSPs (fileoperation, Registry, Email2, WiFi) have been ID'ed, and syntax debugged. This knowledge along with autorun's syntax itself directly applies to ROM development along with OTA and RAPI based provisioning.

The other reason was version related issues that could crop up when different ROMs were built by different chefs on different devices. I wanted to minimize these so I leveraged as many OEM tools as possible. SDAutoRun itself as well as the process required for chefs to implement it is actually quite simple because of this. This strategy insures that the UC process will work as advertised across many devices.
[Windows Mobile Software Development] tjlabais:
I totally agree with you from a developer's point of view. However, when we lack the time to go over a tedious provisioning xml like file operation. The script can come in handy.

With regard to version issues... the cooked ROM is as good as for the time it was built. The chefs almost always adopt everything to current technologies.

sleuth, I'm only trying to offer an alternate solution which can be utilized by beginners.
[Windows Mobile Software Development] Sleuth255:
Well, mortscript has its syntax quirks that need learning too you know ;)

It also may be quite possible to include mortscript in UC btw:

load mortscript itself using CAB:

run the script using EXEC:

I should try this actually...
[Windows Mobile Software Development] tjlabais:
This is what I first told myself when I looked at mortscript, but when necessity calls for action. It actually took me 5 minutes to digest it, since you can only pick up the things you need.

This was how we implemented it at first, but eventually built-in mortscript to do away with the extra executables.
[Windows Mobile Software Development] Sleuth255:
So then beginners could use mortscript if they wanted with a single CAB: and EXEC: statement in SDConfig.txt. No need to insure in the script that the link in \startup was deleted or a special registry value created in the script itself to prevent subsequent execution on non-hard resets. ;) No need to learn tedious XML CSPs if they don't want the power. No need to wonder if the ROM they jump to has the version of mortscript that supports the script they have created (since their version is loaded during UC). No need for chefs to insure that mortscript they cook in is bug free or fully compatible with mortscript that other chefs cook into their device's ROMs.

I'm just yanking your chain btw :) I think you have a good idea that has potential to give beginner UC users who know mortscript or don't wish to learn XML provisioning another option for customization within UC's framework.
[Windows Mobile Software Development] tyante:
I'm pretty new to this and haven't had much trouble learning the xml provisioning. I have made a few mistakes and took a little while to figure a few things out to get specific things to work on my phone. One thing I did notice, a few times I made some registry change that caused my phone to not get service. Whenever I tried to hit the phone button, it would say No Service. The interesting this is, I could still use the data connection. I don't know if anyone else has noticed this. I'm on Sprint so it uses #777 to connect. I had wi-fi turned off.

Also I think it was mentioned on a post in this thread, No2Chem's nueROM are UC compatible. I don't see them listed under the Mogul on the first page. http://forum.ppcgeeks.com/showthread.php?t=17219
[Windows Mobile Software Development] tyante:
I think I figured out a way to get a custom today theme to work.

My SDConfig.txt files has these lines:

CPY1:\Storage Card\Themes\My_Theme.tsk
CPY2:\Windows\My_Theme.tsk
EXEC:\Windows\cusTSK.exe \Windows\My_Theme.tsk
XML: \Storage Card\Cabs\My_Theme.xml

My_Theme.xml only changes one registry value from 1 to 0.

<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKCU\Software\Microsoft">
<characteristic type="Today">
<parm name="UseStartImage" value="0" datatype="integer"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>

I'm running No2Chem's nueROM 5058 currently. Hopefully this will work for other ROMs too.
[Windows Mobile Software Development] tyante:
Have you looked at dotFred's Task Manager? It gives an option to "Install provision.XML" under Menu->Actions. I've been using this to test my xml code. If there is an error in the file, it will popup a message box (though it won't give the exact parm that fails). It may cut out a step of making many cab files.
[Windows Mobile Software Development] Sleuth255:
Damn! I didn't know that... thx :)
[Windows Mobile Software Development] pdagenius:
Copying folders?

Is there a way to copy the entire folder from a Storage Card to another folder on the phone. As far as I can see the SDConfig.txt CPY1 / CPY2 and the File Operation CSPs are all for single file operations.
[Windows Mobile Software Development] l3v5y:
Using RapiConfig, is there any way to extract my service provider settings so I don't have to manually enter them or use HTC Network Setup?
[Windows Mobile Software Development] Sleuth255:
try using the same end foldername in both the origin and the destination path.

CPY1:\storage card\mycopyjunk
CPY2:\program files\stuff\mycopyjunk

There are claims that this works. ymmv of course. Not sure if it will create the folder structure either. To be safe I'd set up destination folders first with fileoperation CSPs
[Windows Mobile Software Development] mousio:
Your included sample/template RapiConfigIn.xml file (see quoted link to attachment) does not contain the <characteristic type="Registry"> element... (overlooked and spent some time on that) Hth!
[Windows Mobile Software Development] mousio:
Would it be possible to test if the given path is a folder, and if so, to loop through all the cab files present in that folder? Or perhaps a better alternative, allow using wildcards in the path? :)

Next consideration would be ordering, but I would propose to simply use ascii string order for the cab file names (to reorder, one can always rename the cab files, or order explicitly in the SDConfig.txt file as one does now)...

It would certainly mean less editing of the SDConfig.txt file! :cool:
[Windows Mobile Software Development] stan23:
that attachment wasn't posted by me :)
[Windows Mobile Software Development] pdagenius:
Copying folders?

Had a frustrating afternoon trying to get this to work, but no success so far. :mad:

The single file copy works if the folder exists already (created with File Operation CSPs).

If the CPY1 / CPY2 commands work to copy complete folders with files in them, I have not hit on the correct syntax.

Does anyone have a working example please?
[Windows Mobile Software Development] l3v5y:
Does the CPY1: work if you use this:

CPY1: \storage card\mycopyjunk\
CPY2: \program files\stuff\mycopyjunk\

With the '\' instead of a file extension.
[Windows Mobile Software Development] madsuse:
SSL mail

How can I setup the XML to use my ssl connection to an exchange server?

The gmail was fairly easy after some reading and the use or RapiConfig.

RapiConfig failed to grab my exchange though.

Do I need a different line then

<characteristic-query type="EMAIL1" recursive="true"/> ????:confused:
[Windows Mobile Software Development] datapusher:
Passsword

I've searched the thread but couldn't find an answer.

There is a password I use that a person needs to know if my phone is turned on or is asleep for more than 15 minutes.

I have looked in HKCU and HCLM and have not found it.

If I want to have it loaded under a wap-provisioningdoc xml, where would I get this info?

Just trying to make my UC as complete as possible.

Thanks
[Windows Mobile Software Development] datapusher:
Genius, thanks!
[Windows Mobile Software Development] pdagenius:
Finding registry keys

My suggestion is for you to use CERegistryEditor if you are not already. This is a pc program which allows you to do various things with the registry on your windows ppc. One of the features is that you can store a snap shot of the registry. This allows you to then make a change and then use the Compare feature to find which key(s) has changed.

I find CERegistryEditor very useful.
[Windows Mobile Software Development] pdagenius:
A good suggestion, thank you, but it does not work on my Touch Cruise :mad:

Only doing a single file copy operation will work for me.
[Windows Mobile Software Development] pdagenius:
XML and CAB tricks and tips for User Customization

The following information I have gleaned mostly from this thread and are my recommendations from experience in getting User Customization to work with my HTC Touch Cruise:

The easiest way to find the key in the registry that changed with a setting you just made is to use CERegistryEditor. Make an Image Backup of the registry, change your settings and then do a Compare against the Image Backup.

To create XML for a single key find the key using CERegistryEditor and Export the key as .reg. Then use rgu-2-xml to translate the key to an XML file (thanks Dan1967). Either copy the XML out of the generated file and paste in your main XML provisioning file or just change the extension to .xml to run it from your SDConfig.txt file directly.

When extracting long keys or ones with awkward information from the registry (eg Owner information, FTouchSL settings) the simplest way is using Rapiconfig . Thanks to Stan23.

The output from rapiconfig produces a XML file which you can then use straightaway with only minimal editing. Wow, what a time saver.

Check your XML file first for correct formatting by double clicking on it. If all is well it should open in your browser and show the nesting of commands. You should at least get some helpful error codes to help you diagnose any problems.

The easiest way to check a XML file works is to run it from DotFred's Task Manager. This will save you having to do countless hard resets to check the file does what it should when it runs from the SDConfig.txt file.

I have not been able to get CPY1 and CPY2 to work and copy folders with several files. A single file copy though works fine.

To copy lots of files say from your Storage Card to phone create a CAB file. I came across Pocket PC Installation Creator which I understand is free for personal use. This seems to do a good job and is an alternative to WinCE Cab Manager.
[Windows Mobile Software Development] Sleuth255:
Looks like we need a little utility that can copy a directory full of files which can be run by an EXEC: statement ;)

something like:

EXEC: \storage card\myfolder\copyfiles \somefolder\somefolder

copyfiles would take all the files in the directory it resided in (in this case "myfolder") and copy them to the destination parameter, creating subfolders where necessary.
[Windows Mobile Software Development] madsuse:
Installing Certificates with EXEC:

When I try to install my e-mail security certs I get an err which says

The file:

\storage

does not exist!

I am using the following SDConfig.txt

LOCK:Enabled

EXEC:\Storage Card\certs\cert1.cert

EXEC:\Storage Card\certs\cert2.cert

CAB: \Storage Card\test.cab

LOCK:Disabled

RST: Reset

The folders do exist and the names are correct.

This path works for the CAB if I remove the 2 EXEC: lines.
[Windows Mobile Software Development] datapusher:
Installing Cab File to Storage Card

Ok, I have been trying to get my cabs to install to the storage card for a couple hours now and no dice. here is the process I am running through.

Right Click on the actual Cab File

Select "View WCE Cabinet"

Double Click "Default Install Dir"

There is no storage card listed in the list. So I click "New Folder." I have tried "Storage Card", "Storage Card\Program Files", "Storage Card\Temp", "\Storage Card", "\Storage Card\", "\Storage Card\Program Files", etc.

I then click "Hard-Coded path"

Select "OK"

I then close the cab manager.

On the prompt if I want to save changed to the cab, I select "yes"

Just to be sure it took, I then right click on the cab again and select "properties"

I look under the "WinCE Cabinet" tab to verify and it shows me under the "Default Install Dir" that my changes saved.

I then transfer the file to my device. I install it to test and it pops up the which location to install to. And being that device is the top of the list, it highlights device.

Some Caveats...

I am using WinCE Cab Manager 2.1

You make reference to "Rightclick on file >> Properties >> Location," There is NO Location section or option when right clicked or when you open the cab in the actual cab manager application.

I even triedgoing into the files themselves and changing each file to install in "%InstallDir%\Storage Card\Program Files\application name" but I still get the same results.

Anyone have any input to put me back on the right track. i have a pretty indepth provisioning file set up. It's pretty impressive if I do say so myself. Only problem is I can't get my cabs to install to the storage card.

Thank you for your time
[Windows Mobile Software Development] anubis.genix:
i'd love to see that :)
[Windows Mobile Software Development] dan1967:
Install your cab on storage card, launch app, make your settings.

Export app regs from your PPC afterwards and drag them in WinCE (mostly happens if there is a setup.dll that should be deleted if case).

Take & edit the cab with WinCE and delete all the files and keep the regs and/or setup.dll. The regs maybe have to be edited to point to your already installed location.

Save than the cab with another name (i.e.) "App_NoName_regs.cab" and get a provisioning from that. That cab can be installed no matter where.

The provisioning can obtained from that cab right clicking on it (on PC) and choose extract with WinRAR. You will get a _setup.xml.

Hope it helps. Works for me in 99.9% of cases.
[Windows Mobile Software Development] madsuse:
Got it

Figured it out with CeRegeditor. Thanks for the tip. I made a cab from an xml instead of tying to use EXEC:

Still working on exchange which seems a little more complicated.
[Windows Mobile Software Development] datapusher:
I'm sorry, but I've read it a few times and it makes absolutely no sense to me. Sorry
[Windows Mobile Software Development] datapusher:
its not that easy, I've been trying
[Windows Mobile Software Development] ph03n1x:
i dont know if ppl have asked but maybe this thread could be stickied to help ppl find it and also because this is a good piece of software that may become standard in roms
[Windows Mobile Software Development] Noonski:
Bit late but...

The method i've been using succesfully is

CPY1:\Storage Card\Cabs\MyTheme.tsk

CPY2:\Windows\MyTheme.tsk

CPY1:\Storage Card\Cabs\welcomehead.96.png

CPY2:\Windows\welcomehead.96.png

EXEC:\Windows\cusTSK.exe \Windows\MyTheme.tsk

But as stated before it doesn't work with all themes.

Especially themes that don't change the registry value for the background.

But then you could also to a copy 2 command for the default_water files.

The reason I'm answering this again is that the first time i didn't post the lines of code for UC.

And i'm finally done cooking. So i can actually test the lines.

CPY1:\Storage Card\myWindowsDirStuff\

CPY2:\windows

&

CPY1:\Storage Card\myWindowsDirStuff

CPY2:\windows\

Again a repeat....

Remove USB after flash and don't start contacts to quickly.

When Windows Mobile starts up with USB connected Active Synce gets started in th background (Damned MS)

When this happens ActiveSynce (On WIn Mob) will check PIM.VOL (In case it needs to sync it)

This will break the copying of PIM.VOL.

SAme goes with having Today Agenda Starting in HomeScreen Plugin.

It will need to read PIM.vol and therefore break the Copy:2 command

A workaround which i haven't tried but seeing as provisoning can do this.

Is to rename the PIM.vol in Mina ROM memory to PIM2.VOL

And then do a COPY2 command.

Don't know if you can then do a xml provisioning delete command after that....
[Windows Mobile Software Development] datapusher:
I have seen 2 ways shown to copy directories on this thread. 1 way is with a space after the : as seen above and the other way is without the space after the :

which way is the right way.

Thanks
[Windows Mobile Software Development] Sleuth255:
See post 1. Hint: its a 4 character command. ;)
[Windows Mobile Software Development] l3v5y:
I've just made a quick batch file for making test cabs from XMLs and then installing them. Replace the "in.xml" with your xml provisioning file and then run the batch file.
[Windows Mobile Software Development] datapusher:
I have found a correction to your data...

%CE19% is Application Data