How to clean up or remove folder via xml ? - Windows Mobile

I need delete all files in some folder or delete it folder and create empty again.
Hot to do it via xml or cab ?

What's the folder, what's in it, and why is i there in the first place. Instead of slapping a band-aid on the problem (and increasing your boot-time), you should prevent the folder from forming to begin with. You probably need to edit a provxml. or maybe initflashfiles.dat.

Farmer Ted said:
What's the folder, what's in it, and why is i there in the first place. Instead of slapping a band-aid on the problem (and increasing your boot-time), you should prevent the folder from forming to begin with. You probably need to edit a provxml. or maybe initflashfiles.dat.
Click to expand...
Click to collapse
I want to clean up %CE11% from default shortcuts.
So I want make cab which can for any ROM replace all default shortcuts with mine.
So I have edit provxml for every ROM or make one cab for all ROMs.

Ethermind said:
I want to clean up %CE11% from default shortcuts.
So I want make cab which can for any ROM replace all default shortcuts with mine.
So I have edit provxml for every ROM or make one cab for all ROMs.
Click to expand...
Click to collapse
may be this one will help u
<characteristic type="FileOperation">
<characteristic type="%CE14%\Solitaire.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
in my kitchen it delete the solitaire game so u can change with what ever u want i think

To delete single file is very easy. I interested in a la *.lnk deletion : )

Edit initflashfile.dat as farmer said. If you dont want to do that, then use startup scripts.

You should also post all of the links that you want removed. Some may require special tricks to keep them from appearing, and you'll get helped quicker. You can always delete the shortcuts in the Sys folder (what I do), then you don't have to worry about them at all, and they aren't wasting slots in your rom.

It is all good for one ROM.
But if I use today one rom, next week other ROM, next week another etc.
Don't you think it more easy to use one universal cleaning CAB instead of cleaning every ROM?

Ethermind said:
It is all good for one ROM.
But if I use today one rom, next week other ROM, next week another etc.
Don't you think it more easy to use one universal cleaning CAB instead of cleaning every ROM?
Click to expand...
Click to collapse
searching for and deleting some *.lnk's every time a SYS come out isn't that much work is it ? easier then what you're after in any case.

Ethermind said:
It is all good for one ROM.
But if I use today one rom, next week other ROM, next week another etc.
Don't you think it more easy to use one universal cleaning CAB instead of cleaning every ROM?
Click to expand...
Click to collapse
What you need to do is collect all the provxml's that you edit and put them in an EXT. They'll over-write the ones in the new SYS, and won't have the unnecessary file operations. Also, you can just use the same initflashfiles.dat over and over again (edit as needed for new packages). The provxml's are mostly in the obvious packages in the Common directory, and that's where most shortcuts are.

Farmer Ted said:
What you need to do is collect all the provxml's that you edit and put them in an EXT.
Click to expand...
Click to collapse
Good idea. I will use it for now.
But still interested in xml scripting : )

Related

question about packages and initflashfile.txt

Hi everybody,
I'm on the way to learn ROM-cooking. On that long trip I reached another hurdle. I've successfully created packages and put them into the OEM folder of the kitchen. So far so good, ROM has been created successfully. But after I've flashed the ROM to the device I found out that the files are exists twice. For example I've created a package from iContact_0.8.cab. Here is a part of the initflashfile.txt:
...
root:-Directory("Programme")
Directory("\Programme"):-Directory("iContact")
Directory("\Programme\iContact"):-File("default.png","\Windows\default.png")
Directory("\Programme\iContact"):-File("default.skn","\Windows\default.skn")
Directory("\Programme\iContact"):-File("english.lng","\Windows\iCenglish.lng")
Directory("\Programme\iContact"):-File("german.lng","\Windows\iCgerman.lng")
Directory("\Programme\iContact"):-File("iContact.exe","\Windows\iContact.exe")
Directory("\Programme\iContact"):-File("iphone.png","\Windows\iphone.png")
Directory("\Programme\iContact"):-File("iphone.skn","\Windows\iphone.skn")
Directory("\Programme\iContact"):-File("Settings.exe","\Windows\Settings.exe")
...
After flashing the ROM to the device I have file english.lng in folder \Programme\iContact and I also have file iCenglish.lng in folder \Windows, I have file iContact.exe in \Programme\iContact and I also have iContact.exe in \Windows. I thought an entry like Directory("\Programme\iContact"):-File("iContact.exe","\Windows\iContact.exe") means move file from \Windows to \Programme\iContact.
I found out that I have the same problem with a lot of other packages I've created with package-creator 2.7.
What am I doing wrong?
Tom
initflashfile.txt can not move a file it just creates a copy or a shortcut to the file.
If you want to move a file you must use a xml file.
NikMel said:
initflashfile.txt can not move a file it just creates a copy or a shortcut to the file.
If you want to move a file you must use a xml file.
Click to expand...
Click to collapse
@NikMel thank you for that hint. Is that part of provxml files or option.xml? Can you provide an example, please? And sorry that I'm so clueless.
Tom
Ok, I think it is the mxi_<package>_*.provxml what should be created to do this, is that right? Assuming that it is I've created such a file for my package and tried to use it instead of flashfiles.txt. But it seems that the file will not be executed while the ROM has been flashed to the device. Who or what is responsible to execute all the *provxml on the device? Are all *provxml files executed automatically? I found hints that mxip_ and mxipcold_ means that the files are executed during reflashing respect. cold-restarting the device while mxipupdate_ means executing each time the package has been updated.
I have to learn so much ....
Thanks for any help.
Tom
Hi everybody,
ok, it's the mxi_<package>_*.provxml what should doing the stuff. But it seems that it is not executed after flashing the ROM to the device.
I searched a lot of threads in the forum (for example this one: http://forum.xda-developers.com/showthread.php?t=398025&page=2). It seems that many other guys have the same problem but I couldn't find a solution.
In the meantime I'm totally confused about UC, Autorun, Autoshortcut etc. etc.. It would be very nice if someone could get me going on. What should be done to get this damned *provxml working??
Tom
Ok,
during further tests I found out that the mxip_<package>_*.provxml is being executed if it only contains Registry entries and/or MakeDir FileOperations. If I add a simple copy how it is done in for example this file: mxip_HtcApps_HTC_Ringtone.provxml the mxip-File is not been executed for whatever reason.
Is there somebody who knows what the reason for this behavior is? In the MS documentation I read something about access rights which could be restricted by OEM manufacturers. Could it be that the problem is caused by missing rights? And if yes, how change it?
Tom
Hi,
mxip_*provxml files are executed during flashing. Ok, that's a fact and it is working for me now. I found out that I only can use <characteristic type="Copy"> within the provxml. Once I used <characteristic type="Move"> the provxml will not be executed due to an error.
In fact all files from OEM packages goes into \windows and if someone uses a mxip_*provxml to implement those package for example in \Programme the files are duplicated. It seems not to be possible to remove the source files from \windows.
I did a test with rapiconfig.exe /p mxip_iContact08_100.provxml. If the provxml contains <characteristic type="Move"> I got an error message Config failed (0x80070005): Zugriff verweigert. After changing the provxml and replacing all "Move" with "Copy" the command works as expected.
Then I tried to delete a source file from the windows folder with TotalCommander running on the device. But it is not possible to delete the file.
Is there a way to delete the source files from the windows folder? Is it possible to put the source files from packages in an other folder than \windows?
Thanks for any advice.
Tom
Hi there,
Just want to tell you that i'm following this thread with great interest, as I also want to learn about cooking rom's, when I have some spare time.
So, please keep posting your updates on this matter.
@ all rom kookers and devellopers~
please share what you know, isn't that the spirit of Xda forum? It's the only way to get further, the more people thinking means more and faster advances been made.
Cheers
tomduke99 said:
Is there a way to delete the source files from the windows folder?
Click to expand...
Click to collapse
This is not possible becaue the files are part of the ROM I think. This has to be done before the ROM is created. But I'm not sure whether this is possible I don't think so, this would require the kitchen to do all the stuff with the mxip*provxml.
tomduke99 said:
Is it possible to put the source files from packages in an other folder than \windows?
Click to expand...
Click to collapse
All files from the kitchen stored in \windows. Does the kitchen knows something about the structure of the filesystem? Shouldn't this be provided by the package tool resp. by BuildOS? Or am I being completely off track?
Thanks for any advice.
Tom[/QUOTE]
I think the best workaround for this problem is to use the automated WM customization.
Cook your ROM with only the stuff you want to leave in the Windows folder. Check all initflashfiles.dat and *.provxml files, and remove them from the ROM! Leave only one initflashfiles.dat file, that will create the permanent folders (PermDir directive) and copy the checkautorun.lnk to the startup folder. This shortcut, in theory, is the only duplicate you will have in your whole ROM.
Then build a CAB file to install all files you need outside the windows folder.
Build an ExtROM with this cab file, a config.txt file and the autorun.exe file (see tutorials around the forums on creating an extrom).
Build your nbh file with os.nb and extrom.nb, and flash!
If all goes well, you will see the rom booting, then starting customization, then resetting, and when the phone comes back, you will have a nice, clean, duplicate-free ROM.
I didn´t try any of it, it´s just a theory.
Hope it helps.
Eduardo
Try the following:
<characteristic type="FileOperation">
<characteristic type="yourfile.foo">
<characteristic type="Move">
<parm name="Source" value="\Windows\yourfile.foo" translation="install"/>
<parm name="RemoveAttributes" value="R" />
<parm name="RemoveAttributes" value="S" />
</characteristic>
</characteristic>
</characteristic>

[problem] Delete a file with a provxml

Hello my friends,
I would like to disable Microsoft Voice Commande on my rom.
For this, i need to delete the voice command.lnk on Windows\Startup.
I have created a provxml file :
Code:
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE4%\Voice Command.lnk" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Nevertheless, it don't function
Anyone have an idea for this problem ?
Thanks a lot,
regards,
Nixeus
VC .lnk is also in reg, HKEY_LOCAL_MACHINE\ControlPanel\Voice Command- just change it to 1 if I remember correctly and add it to your personal reg
Why not just remove the bit in mxip_voicecommand_1.provxml that copies the lnk to windows\startup in the first place?
pkoper said:
Why not just remove the bit in mxip_voicecommand_1.provxml that copies the lnk to windows\startup in the first place?
Click to expand...
Click to collapse
Because i need to re-modify this PROVXML for each Build
If i create my own provxml which remove the lnk, it will be better.
You can always just drop the modified xml into your EXT.
I think it's note "clean" because there will always the provxml which copy the lnk.
If i update my WM Builds, i need to re-remove this proxml, thaht why i would lke to creat a proxml wich delete this lnk on startup.
Anyone have an idea why my proxml don't function ?
If you modify the provxml setting the link and copy it without renaming it to your EXT, then it will be "clean".
During "cooking" the modified provxml will overwrite the original one in SYS.
That way, when you update the build, there will always be the modified one in EXT that will be processed after the one sitting in your SYS.
pkoper said:
If you modify the provxml setting the link and copy it without renaming it to your EXT, then it will be "clean".
During "cooking" the modified provxml will overwrite the original one in SYS.
That way, when you update the build, there will always be the modified one in EXT that will be processed after the one sitting in your SYS.
Click to expand...
Click to collapse
+1 This is the way I do mine.
Yesss my friends
I understand !
You're right !
Thanks a lot and sorry for this question...i use never provxml !
regards,
Nixeus
pkoper said:
If you modify the provxml setting the link and copy it without renaming it to your EXT, then it will be "clean".
During "cooking" the modified provxml will overwrite the original one in SYS.
That way, when you update the build, there will always be the modified one in EXT that will be processed after the one sitting in your SYS.
Click to expand...
Click to collapse
I have try but it don't function
I have modify the provxml and i have copy it in my EXT folder.
After flashing, the lnk have been copied in windows\Startup
Did you check you build-log to make sure that the provxml was over-written? That's the first thing to do. It has to have the same name as the stock one. And make sure you editted the provxml (they're usually read-only, you need to change the properties).
If we're talking voice command, I believe there are 3 different provxml's that do the same thing. These are the ones I've always run into:
mxip_voicecommand_1.provxml
mxipcold_voicecommand_1.provxml
mxipupdate_voicecommand_1.provxml
Check your voice command package, you probably missed two of them, lol. Just delete them and stop screwing around.
Yes, i use the 3 provxml.
I have look to my log and.....it appear the PlatformeRebuilder don't overwrite the provxml files ! Yeah yeah !
Keep in mind that if you like to overwrite a provxml or any other file the
kitchen follows a alphabetic order for your EXT packages.
Nixeus said:
Yes, i use the 3 provxml.
I have look to my log and.....it appear the PlatformeRebuilder don't overwrite the provxml files ! Yeah yeah !
Click to expand...
Click to collapse
Laurentius26 said:
Keep in mind that if you like to overwrite a provxml or any other file the
kitchen follows a alphabetic order for your EXT packages.
Click to expand...
Click to collapse
I know, and i have respected the alphabetic order, my 3 provxmls are placed in ext in a ZZ_TWEAK.
I see that this folder is proceed at the end of plateformerebuilder, and....no overwritting

[SOLVED] Start Menu icon that just won't go away

So I added MP3 Trimmer to my kitchen, but moved the location of the start icon to a Tools folder. The problem: an MP3 Trimmer icon remains in the initial start page. There is no associated .lnk file in the Start Menu\Programs folder, and the registry HKLM\Security\Shell\Startinfo\Start has the reference to the link in the correct spot.
I have tried placing the link by moving it from the default location with a MortScript, and by changing the app.dat. Same results.
I have done this same move with many other packages, this is the only one causing any problems.
No other references to MP3 Trimmer.lnk exist in the registry or kitchen. Why is it displayed in the start menu when no .lnk is present, and where is that information coming from? Thanks!
Did you check your Initflashfile.dat ?
Also the language folder may contain a app.dat or .provxml file which creates the shortcut
I didn't bothered about two folders that was empty in "\windows\start menu\programs\" until I read this post. I found one of them in Initflashfile.dat, "Outlook" and had deleted the line away. I'm still unable to find the other folder "Start Menu". It's not in Initflashfile.dat, nor any of the xml or proxml files in the "OEM Packages" folder. :-(
Check for some App.dat in EXT folder or a provxml in Project A.
Both OsKitchen and EVK has a search string inside,use it to find your dead folder.
zard said:
I didn't bothered about two folders that was empty in "\windows\start menu\programs\" until I read this post. I found one of them in Initflashfile.dat, "Outlook" and had deleted the line away. I'm still unable to find the other folder "Start Menu". It's not in Initflashfile.dat, nor any of the xml or proxml files in the "OEM Packages" folder. :-(
Click to expand...
Click to collapse
af974 said:
Check for some App.dat in EXT folder or a provxml in Project A.
Both OsKitchen and EVK has a search string inside,use it to find your dead folder.
Click to expand...
Click to collapse
I'm using OSKitchen. It's not in provxml in Project A. I tried using search in OSKitchen to search "Start Menu" and "Start*.*" but can't find it. :-(
Ok, i dunno why you didnt find nothing ...anyway, cook the attached file in your rom, i have set it for deleting any Start Menu.lnk in Start Menu\Programs.
Basically you can use it for deleting any dead links.
If it doesnt work try to leave ".lnk" after Start Menu.
It is a mortscript , i have include also Mortscript package in case you dont have it.
zard said:
I'm using OSKitchen. It's not in provxml in Project A. I tried using search in OSKitchen to search "Start Menu" and "Start*.*" but can't find it. :-(
Click to expand...
Click to collapse
zard said:
I'm using OSKitchen. It's not in provxml in Project A. I tried using search in OSKitchen to search "Start Menu" and "Start*.*" but can't find it. :-(
Click to expand...
Click to collapse
You probably can't find it because of hexadecimal or html entities values in which the shortcut name is probably encoded into, try looking for the encoded values instead.
Check to make sure autoshortcut isn't doing it (it could be in a reg file). Autoshortcut sucks, but I don't know if it's still used.
airxtreme said:
You probably can't find it because of hexadecimal or html entities values in which the shortcut name is probably encoded into, try looking for the encoded values instead.
Click to expand...
Click to collapse
I did try hexadecimal and html but still couldn't find it. I'm using v1.31. Maybe it is the format of the search that I'm not doing right.
af974 said:
Ok, i dunno why you didnt find nothing ...anyway, cook the attached file in your rom, i have set it for deleting any Start Menu.lnk in Start Menu\Programs.
Basically you can use it for deleting any dead links.
If it doesnt work try to leave ".lnk" after Start Menu.
It is a mortscript , i have include also Mortscript package in case you dont have it.
Click to expand...
Click to collapse
Thanks for this but unfortunately, my kitchen is screwed up when I tried out your packages. My kitchen was alright before that. Even unchecking the two packages didn't help.
Don't worry, I'm not blaming you for the problem in my kitchen. Will have to find out what went wrong before I can test your packages again and hopefully, it can solve the problem since I can't find the culprit within my packages.
Farmer Ted said:
Check to make sure autoshortcut isn't doing it (it could be in a reg file). Autoshortcut sucks, but I don't know if it's still used.
Click to expand...
Click to collapse
Still very new to cooking so don't know what you meant by "Autoshortcut". :-(
HTC puts a file called autoshortcut.exe in one of the oem folders. It runs during customization, and creates shortcuts for htc apps. There are reg keys in the apps that get the shortcuts.
oooo__OoO__oooo said:
So I added MP3 Trimmer to my kitchen, but moved the location of the start icon to a Tools folder. The problem: an MP3 Trimmer icon remains in the initial start page. There is no associated .lnk file in the Start Menu\Programs folder, and the registry HKLM\Security\Shell\Startinfo\Start has the reference to the link in the correct spot.
I have tried placing the link by moving it from the default location with a MortScript, and by changing the app.dat. Same results.
I have done this same move with many other packages, this is the only one causing any problems.
No other references to MP3 Trimmer.lnk exist in the registry or kitchen. Why is it displayed in the start menu when no .lnk is present, and where is that information coming from? Thanks!
Click to expand...
Click to collapse
It is 100 % a app.dat or initflashfiles.dat issue. Or a reg in the 0409 folder.
Also when looking in you initflashfiles be careful to look for entries that point to Windows\Start Menu
instead of Windows\Start Menu\Programs
bobsbbq said:
It is 100 % a app.dat or initflashfiles.dat issue. Or a reg in the 0409 folder.
Also when looking in you initflashfiles be careful to look for entries that point to Windows\Start Menu
instead of Windows\Start Menu\Programs
Click to expand...
Click to collapse
What I'm talking about is behavior on the phone itself. Let's assume my kitchen searches have been wrong and it really is an app.dat issue. I have a shortcut that exists in the start menu with no associated link file or reg entry -- so there's nothing to delete to get rid of the shortcut on the actual phone!
Kitchen searches result in only the expected "MP3 Trimmer.lnk" locations and "MP3Trimmer.exe" text.
As far as I can tell, ManilaShortcut.exe only makes shortcuts for HTC People and HTC Calendar (but I have IsShortcutEnable = 0 to keep those from popping up). MP3 Trimmer isn't in the original ROM from which the Manila is based, so it's possible there's something going on there.
It's not a huge issue so I haven't been spending a lot of time trying to find or fix it, but I'm virtually out of bugs to fix. What's bothering me more is something seemingly simple that I don't understand.
oooo__OoO__oooo said:
What I'm talking about is behavior on the phone itself. Let's assume my kitchen searches have been wrong and it really is an app.dat issue. I have a shortcut that exists in the start menu with no associated link file or reg entry -- so there's nothing to delete to get rid of the shortcut on the actual phone!
Kitchen searches result in only the expected "MP3 Trimmer.lnk" locations and "MP3Trimmer.exe" text.
As far as I can tell, ManilaShortcut.exe only makes shortcuts for HTC People and HTC Calendar (but I have IsShortcutEnable = 0 to keep those from popping up). MP3 Trimmer isn't in the original ROM from which the Manila is based, so it's possible there's something going on there.
It's not a huge issue so I haven't been spending a lot of time trying to find or fix it, but I'm virtually out of bugs to fix. What's bothering me more is something seemingly simple that I don't understand.
Click to expand...
Click to collapse
I know how frustrating this is and I have had the same in the past. I know this is not what you want to hear but the fact is there is only a few ways for a shortcut to be created. Mainly initflashfiles.dat to move or rename shortcuts, and app.reg or rgu files to create shortcuts, and by way of provxml file. The chances are 99% one of the above. But there is also the possibility of shortcuts to be created by mortscript as well but if it is your kitchen I would think you would know if you created a mortscript. There is also the Older HTC Auto shortcut found in some reg files.
I know it is sometimes hard to find but you will eventually find it.
By the way where did the package from the MP3 trimmer come from? Was it from a chinese ROM?
af974 said:
Ok, i dunno why you didnt find nothing ...anyway, cook the attached file in your rom, i have set it for deleting any Start Menu.lnk in Start Menu\Programs.
Basically you can use it for deleting any dead links.
If it doesnt work try to leave ".lnk" after Start Menu.
It is a mortscript , i have include also Mortscript package in case you dont have it.
Click to expand...
Click to collapse
bobsbbq said:
It is 100 % a app.dat or initflashfiles.dat issue. Or a reg in the 0409 folder.
Also when looking in you initflashfiles be careful to look for entries that point to Windows\Start Menu
instead of Windows\Start Menu\Programs
Click to expand...
Click to collapse
bobsbbq said:
I know how frustrating this is and I have had the same in the past. I know this is not what you want to hear but the fact is there is only a few ways for a shortcut to be created. Mainly initflashfiles.dat to move or rename shortcuts, and app.reg or rgu files to create shortcuts, and by way of provxml file. The chances are 99% one of the above. But there is also the possibility of shortcuts to be created by mortscript as well but if it is your kitchen I would think you would know if you created a mortscript. There is also the Older HTC Auto shortcut found in some reg files.
I know it is sometimes hard to find but you will eventually find it.
By the way where did the package from the MP3 trimmer come from? Was it from a chinese ROM?
Click to expand...
Click to collapse
Since I was trying to improve on the response of my Contacts in Manila 2018 by mixing and matching 2016 and 2018 tabs, I took the opportunity to continue to search the elusive "Start Menu" folder in my Start Menu.
I was still not able to find it in the initflashfiles, nor dat, app.reg or proxmls. I modified the mortscript that af974 gave me into "Delete("\Windows\Start Menu\Programs\Start Menu.lnk")" and ran it from SD Card. Even after soft reset, the "Start Menu" folder is still there.
What I find strange is that in my \Windows directory, there was no "Start Menu.lnk" - I'm using Resco Explorer and is able to see hidden files. But in \Windows\Start Menu\Programs, I could see "Start Menu" folder. I was able to delete it using Resco Explorer.
bobsbbq said:
I know how frustrating this is and I have had the same in the past. I know this is not what you want to hear but the fact is there is only a few ways for a shortcut to be created. Mainly initflashfiles.dat to move or rename shortcuts, and app.reg or rgu files to create shortcuts, and by way of provxml file. The chances are 99% one of the above. But there is also the possibility of shortcuts to be created by mortscript as well but if it is your kitchen I would think you would know if you created a mortscript. There is also the Older HTC Auto shortcut found in some reg files.
I know it is sometimes hard to find but you will eventually find it.
By the way where did the package from the MP3 trimmer come from? Was it from a chinese ROM?
Click to expand...
Click to collapse
To the best of my ability utilizing search there is no reference to the link or the executable in any initflashfiles.dat/app.dat/.reg/.rgu/.*xml. Even the hex coded .dat entries still refer to a "normal" name.lnk, so my search should uncover those.
I pulled the MP3 Trimmer from the Rhodium 2.07 EXT latest packages, which is from an asian ROM at least judging from the links in the original app.dat.
No autoshortcut.exe exists in the ROM. The MP3 Trimmer and a bunch of other packages create an AutoShortcut key, but there's nothing under that so I'm not sure exactly how it's used (and it would therefore be present even if I deleted it from the trimmer package).
My guess is that it has to be either the start menu initial creation process some Manila initialization process that is creating the initial link. How it gets into a state where it remains in the start menu but no information exists to delete it is the 2nd question -- where is that information??
I've verified if I delete \Windows\Start Menu\Programs, then copy the directory structure back in the link goes away. This could be a solution long term, but I was trying to stick to the automatic creation process as much as possible.
Thanks to those who have responded and provided input so far.
Looking at a stock rom dump for the raphael, the autoshortcut operations are in a .provxml in the 0409 folders, like this:
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\SOFTWARE\HTC\AutoShortcut">
<parm name="\Windows\Start Menu\Programs\Streaming Media.lnk" value="\Windows\Streaming Media.lnk" datatype="string" translation="install"/>
<parm name="\Windows\Help\Streaming Media.lnk" value="\Windows\Help_Streaming Media.lnk" datatype="string" translation="install"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
The autoshortcut.exe is in oemdrivers. I really don't even know what the point of it is; I guess it's for book-keeping, to keep track in the registry of all the shortcuts being moved around. It could just be done by a provxml file operation instead of by autoshortcut during customization, but whatever, that's how it's done. Just try deleting the autoshortcut references. Heck, delete or rename the shortcut in the kitchen and send it to the start menu a different way (like by renaming it while copying it with an app.dat file).
Farmer Ted said:
Heck, delete or rename the shortcut in the kitchen and send it to the start menu a different way (like by renaming it while copying it with an app.dat file).
Click to expand...
Click to collapse
OK, I'm going to modify the orignal post as solved, because this simple idea (which of course didn't occur to me) is the ticket. I renamed the .lnk to .link in the kitchen and it's renamed back to .lnk when copied by the app.dat. Presto change-o, no MP3 Trimmer.lnk file in \Windows. Works like a charm.

[q] xml / pxml

Sorry for being dumb once again.
I know how to create an XML and convert reg files to PROVXML etc but :
I flashed my cooked rom and did snapshot with kheb made all my changes and got a difference .reg file.
I converted that to PROVXML cause i believe its the best way of doing it.
What I dont know is what to do with it and where to put it in order to flash it.
Ive put it under custom settings\files but iot needs to be named something specifically according to 0Kitchen . Also i have an xml file that has my exchange settings in that which i want to cook in as well but dont know how.
I do use XDA uc but id prefer to let it be done with runcc or something?
Please advise whats better and whats the difference between the differentx PROVXML file naming.
Thanx
I would preffer using reg instead Provxml because they take a lot of time for 1st boot....anyway you need to name them mxip_xxxx.provxml if im not wrong.
af974 said:
I would preffer using reg instead Provxml because they take a lot of time for 1st boot....anyway you need to name them mxip_xxxx.provxml if im not wrong.
Click to expand...
Click to collapse
Can i renam the exchange.xml to mxip_exchange.provxml as well. does a xml and provxml contain the same information/layout?
Uhmm...it seems that should work, give a look here http://ip208-100-42-21.static.xda-developers.com/showthread.php?p=6995989.
Grumps said:
Can i renam the exchange.xml to mxip_exchange.provxml as well. does a xml and provxml contain the same information/layout?
Click to expand...
Click to collapse
af974 said:
Uhmm...it seems that should work, give a look here http://ip208-100-42-21.static.xda-developers.com/showthread.php?p=6995989.
Click to expand...
Click to collapse
Leme just try quickly we do flash like 30 times a day in any case hey. Will revdert just now
Thanx for your help
There's various file names, mxip, mxipinit and mxipupdate. In my experience I've never needed to add anything to a .dsm file, as long as the extension is .provxml they execute ok.
What I do though, is put my post-boot provxml's into the very last folder that my kitchen picks up so it's named ZZZ_postboot_provxml or something similar and I also name the file to mxipupdate_zzzPostBoot.provxml but I'm not sure if this helps. I do this because:
If you use total commander and search for *.provxml files in your windows folder you might find that none of them have the original name you gave in your packages, but if you step through the files you find there, you can see the execution order.
Hope this helps a bit.
arealityfarbetween said:
There's various file names, mxip, mxipinit and mxipupdate. In my experience I've never needed to add anything to a .dsm file, as long as the extension is .provxml they execute ok.
What I do though, is put my post-boot provxml's into the very last folder that my kitchen picks up so it's named ZZZ_postboot_provxml or something similar and I also name the file to mxipupdate_zzzPostBoot.provxml but I'm not sure if this helps. I do this because:
If you use total commander and search for *.provxml files in your windows folder you might find that none of them have the original name you gave in your packages, but if you step through the files you find there, you can see the execution order.
Hope this helps a bit.
Click to expand...
Click to collapse
ok so postboot is also one of the names like mxipinit and mxipupdate. Why are there so many different ones and which ones are executed in what order?
Grumps said:
ok so postboot is also one of the names like mxipinit and mxipupdate. Why are there so many different ones and which ones are executed in what order?
Click to expand...
Click to collapse
I think the order is all to do with the way the kitchen picks them up. e.g. I use OSKitchen and it seems SYS, then OEM, then EXT packages are picked up, alphabetically-so my provxml's get the same order, which is why I put them in a package of their own with the ZZZ_postboot name. It just makes it the last one to be picked up of the EXT packages-ensuring everything is in place when the script runs
arealityfarbetween said:
I think the order is all to do with the way the kitchen picks them up. e.g. I use OSKitchen and it seems SYS, then OEM, then EXT packages are picked up, alphabetically-so my provxml's get the same order, which is why I put them in a package of their own with the ZZZ_postboot name. It just makes it the last one to be picked up of the EXT packages-ensuring everything is in place when the script runs
Click to expand...
Click to collapse
Ok lemme try
Im trying to change my timezone from dublin -8 to gmt +2. n start kheb take snapshot make the change get i difference .reg file. convert it to xml and the paste it in files folder of lastflash folder?? ill try and see what happens

[Solved] how to speedup the first boot?

Hi,
I've been cooking my own Roms for a few months and I'm happy with the results.
One big difference I've noted compared with shipped and other master cooks' roms is the first boot time. My last Rom (21683 + Sense) takes over 10min to boot the first time. After the fist boot, the booting time is normal.
Would you have some tips of how to improve it?
Can it be related to the order that the packages are cooked?
or just related to the size of the Rom (about 195 Mb for a Blackstone using LZX compression and CFC manila)?
what compresion do you normally use? LZX, XPR or none?
Anyway to 'slim' my packages more? (I'll try manual PNG compression on my next cook as OSkitchen PNG compression does not work for me)
Thanks in advance.
[Edit]: Thanks for your good advices. now my Blackstone Rom boots in less than 2 min. What I did was:
- Get ride off some provxml and change them for normal reg files.
- Reduce the size of the rom under 180 Mb.
- Manually reduce png and in some case replace by jpgs.
- S2U2 delay start 120 secs.
If someone have additional ideas, pls advise! I'll try!
Well, 195 mb for any LZX rom is a bit too much but this depends of what are you cooking into your rom.
Main things that slow down the boot up are:
provxml files, basically .reg files are much fastets.
Check your Config.txt file , as many files are you trying to install after first boot as ,many time it gets to boot up , these are cabs,mortscripts,provxml.
Dont use png compression if you dont want your theme ruined.
In my Leo i use both LZX and XPR and i have 134 and 158 mb roms.
Leave al the unecessary such default pictures in Album folder,some ringtones and wallpapers, these files are a lot bigs .
ypsmav said:
Hi,
I've been cooking my own Roms for a few months and I'm happy with the results.
One big difference I've noted compared with shipped and other master cooks' roms is the first boot time. My last Rom (21683 + Sense) takes over 10min to boot the first time. After the fist boot, the booting time is normal.
Would you have some tips of how to improve it?
Can it be related to the order that the packages are cooked?
or just related to the size of the Rom (about 195 Mb for a Blackstone using LZX compression and CFC manila)?
what compresion do you normally use? LZX, XPR or none?
Anyway to 'slim' my packages more? (I'll try manual PNG compression on my next cook as OSkitchen PNG compression does not work for me)
Thanks in advance.
Click to expand...
Click to collapse
Yup, provxml's slow things down a ton.
What not to do:
So, you have a reg setting that you put in an .rgu, but it never 'sticks', and you can't figure out why. Someone tells you to put it in a provxml named zzz-BandAid.provxml. Awesome, now the reg setting sticks.
Not so awesome. Now you have two provxml's that run during first boot, one that sets the reg setting to a default value, and a second that corrects the reg setting. XML's are slow (try running one during customization, and you can see just how slow they are).
What to do: Look through all of your provxmls; it's easy to do, just pull them out of the build dump. Find the ones that install reg keys-there are many, and some are huge (mostly the OEM provxml's). Just export the reg keys with a reg editor from your device and put them in an .rgu that gets compiled at the end of your build. Make whatever tweaks you want in that .rgu as well. Make sure you don't eff up the provxml's that install certificates and databases (there are a few that look like reg keys, but it's crap for the databases, so be careful of them). If you use Autorun during customization, there may be an oemprovxml with autorun reg keys in it. Leave that sucker alone; in my experience, it needs to run or else autorun didn't work (I don't use autorun anymore, so I've since deleted it). Put blank or editted (reduced) copies of the provxml's in a package that runs at the end of your build, so that the stock copies are over-written.
You should also look at the apps that run during startup. This slows down first boot a little bit. For instance, you really don't need to have MSVC to run at first boot. So, remove the line in initflashfiles.dat that sends the msvc shortcut into the startup folder. Figure out a way to get it into startup during second boot, like running a cab during customization (slow, though), or better, using a mortscript (fast). There's a lot of other crap that doesn't need to run, like tmail and poutlook (those never need to run at startup, imo). But you need to figure out how to get them to run after first boot, if that's what you want.
Finally, reduce the amount of crap that gets copied into \Program Files. Most apps run fine out of \windows, and using initflashfiles.dat to copy a ton of files is slow and it wastes memory. Just figure out how to make leaner packages. And don't use cab-2-oem converters. They always create packages that copy files out of rom into other directories, which is almost always unnecessary. It's much better to make packages manually (use kheb to find all the files and reg keys, if you can't do it on your own).
My first boot takes ~85 seconds to get to the alignment screen. Removing all the crap from provxml's saved around a minute on the first boot time. 10 minutes is crazy long, you should be able to drop it to 2 min, easy.
WOW
Farmer Ted said:
Yup, provxml's slow things down a ton.
What not to do:
So, you have a reg setting that you put in an .rgu, but it never 'sticks', and you can't figure out why. Someone tells you to put it in a provxml named zzz-BandAid.provxml. Awesome, now the reg setting sticks.
Not so awesome. Now you have two provxml's that run during first boot, one that sets the reg setting to a default value, and a second that corrects the reg setting. XML's are slow (try running one during customization, and you can see just how slow they are).
What to do: Look through all of your provxmls; it's easy to do, just pull them out of the build dump. Find the ones that install reg keys-there are many, and some are huge (mostly the OEM provxml's). Just export the reg keys with a reg editor from your device and put them in an .rgu that gets compiled at the end of your build. Make whatever tweaks you want in that .rgu as well. Make sure you don't eff up the provxml's that install certificates and databases (there are a few that look like reg keys, but it's crap for the databases, so be careful of them). If you use Autorun during customization, there may be an oemprovxml with autorun reg keys in it. Leave that sucker alone; in my experience, it needs to run or else autorun didn't work (I don't use autorun anymore, so I've since deleted it). Put blank or editted (reduced) copies of the provxml's in a package that runs at the end of your build, so that the stock copies are over-written.
You should also look at the apps that run during startup. This slows down first boot a little bit. For instance, you really don't need to have MSVC to run at first boot. So, remove the line in initflashfiles.dat that sends the msvc shortcut into the startup folder. Figure out a way to get it into startup during second boot, like running a cab during customization (slow, though), or better, using a mortscript (fast). There's a lot of other crap that doesn't need to run, like tmail and poutlook (those never need to run at startup, imo). But you need to figure out how to get them to run after first boot, if that's what you want.
Finally, reduce the amount of crap that gets copied into \Program Files. Most apps run fine out of \windows, and using initflashfiles.dat to copy a ton of files is slow and it wastes memory. Just figure out how to make leaner packages. And don't use cab-2-oem converters. They always create packages that copy files out of rom into other directories, which is almost always unnecessary. It's much better to make packages manually (use kheb to find all the files and reg keys, if you can't do it on your own).
My first boot takes ~85 seconds to get to the alignment screen. Removing all the crap from provxml's saved around a minute on the first boot time. 10 minutes is crazy long, you should be able to drop it to 2 min, easy.
Click to expand...
Click to collapse
Thanx for this tut Farmer Ted.
Seems like I also have a lot to do to speed up my first boot
Thanx
Grumps said:
Thanx for this tut Farmer Ted.
Seems like I also have a lot to do to speed up my first boot
Thanx
Click to expand...
Click to collapse
Also check the OEMLang directory for the initflashfiles.dat. Normally, this is 200kb... Mine is 40Kb, and first bootup on my HD2 is 20-30 seconds...
Later bootups are so fast that the HTC Quietly Brilliant animation stops at Brilli and boots the OS...
gotta love farmer teds his reps
i learn from almost every post he makes
think i need some things to be done in my rom to get a even faster boot time
edit: one question though
i just updated ervius kitchen to the latest and it has the future to make provxml files from reg files
if provxml makes the bootup slow wouldnt it be better to make it the other way arround?
all the provxml to reg(just asking as it could be handy for ervius to make it the other eay arround in the kitchen)
miniterror said:
all the provxml to reg
Click to expand...
Click to collapse
Hi,
I don't know if this helps, but there is a tool that you could use for converting some provxml to reg here. It was made for xml --> reg conversion but it is also useful for provxml files that contain "pure" registry settings.
Regards!
Sometimes I have taken the provxml and convert the registry portion to rgu file and delete it from the provxml. Now the provxml only has the file operation and certificate stuff in it.
The thing you have to be careful about is rgu happens early in the boot and provxml happens latter. I learned the hard way by not figuring out why my rgu tweak did not happen. It was another provxml that overwrote the reg settings. Once I found it and deleted those lines everything worked the way I wanted.
RoryB said:
Sometimes I have taken the provxml and convert the registry portion to rgu file and delete it from the provxml. Now the provxml only has the file operation and certificate stuff in it.
The thing you have to be careful about is rgu happens early in the boot and provxml happens latter. I learned the hard way by not figuring out why my rgu tweak did not happen. It was another provxml that overwrote the reg settings. Once I found it and deleted those lines everything worked the way I wanted.
Click to expand...
Click to collapse
For this, OSBuilder is the best. You can see the whole registry before you compile, and you can look up what file causes the changes. It really makes cooking a whole lot easier...
Great thread, thanks for the tips.
What I'm gowing to try is search all provxmls in my kitchen and convert them to one big reg.
Make a new EXT package and name it 'zzzSample' so I'm sure it overwrites all other regs.
If an error exist in the reg created by provxmltoreg the new integrity check in Oskitchen will point me to it so I can easy locate and fix.
After that I delete all provxmls.
But first a backup.
Cheers,
Leo
Edit; btw I think you need to take in consideration that some provxml's contain path which are language depended.
So here's my next tip, create a package which contain these regs in separate files.
zzzSample/
0409/app.reg
0413/app.reg
etc...
Farmer Ted said:
Yup, provxml's slow things down a ton.
Click to expand...
Click to collapse
Great info, just wondering should it be possible to build a rom and make a backup of the registry, once you have that backup, edit the backup and place it at the end of the kitchen and delete all the provxml-files.
I've recently tried to make a little application for converting provxml files to reg files.
Thanks to AlexVallat's XmlToReg this was possible and I'd like to share it with you guys. Still all the credits go to Alex!
It is supposed to handle all provxml files, meaning even those which have other entries along with registry entries.
The most important feature that I tried to implement is recursive conversion of provxml files in order to automatically do in a few seconds what Laurentius described here:
Laurentius26 said:
What I'm going to try is search all provxmls in my kitchen and convert them to one big reg.
Click to expand...
Click to collapse
Example :
To parse all provxml files inside OEM folder(and all included sub-folders) type in cmd prompt:
Code:
xml-2-reg_gui.exe r:OEM
When it's done, you'll get all the converted reg files in a subfolder where the application is placed.
If the provxml files had other entries along with registry entries, they will be left where they were but "reduced"(the registry entries will be removed).
If the provxml files didn't have any registry entries, they will be left where they were untouched.
If the provxml files had only registry entries they will be deleted after convertion.
Backing up of provxml files is done automatically.
So try it and see for yourself if it makes things easier or not...
Regards!
EDIT :
I've made a revised version of the tool which isn't based on AlexVallat's XmlToReg but does the same job plus the reverse here.

Categories

Resources