Related
I have read everything on here and everything else I can find. I have some understanding of the language and it appears my xml file is formatted correctly.
I started with a simple one, but it doesn't work. If someone could help make this work, I can probably figure out how to do the rest of the things I want to do.
I created an .xml file called _setupxml.xml
This is what I have:
<wap-provisioningdoc>
<!-- Voicemail Settings-->
<characteristic type="Registry">
<characteristic type="HKCU\Software\Microsoft\Vmail">
<parm name="UserProvidedNumber1" value="*86p#2121" datatype="string"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
I created a cab files using both the command prompt and WinCE Cab Manager. When I run the cab on my phone, it doesn't change the registry value. If I change the voicemail number in the phone settings, it does show up as changed in the registry setting indicated above.
What am I doing wrong?
Hi
I am having hard time in making a cab file to delete a registry value.
as an example I tried to import the following into WinCE CAB manager:
HTML:
[HKEY_LOCAL_MACHINE\System\Platform]
"PSAtRoot"=-
so that I can delete PSAtRoot from registry....
the WinCE CAB manager import nothing !!
this is working for desktop but not for PPC
any help on how to delete items in registry using cab file... or anything that is automated!
Thanks
Install the .cab file known as PHM RegEdit. Also, before you delete any registry values, make sure you know what your doing!
I believe he is wanting a cab that makes the change, not a registry editing program. I personally would make a mortscript install.mscr and uninstall.mscr, and make your own custom cab with mort's included setup.dll
xd1936 said:
I believe he is wanting a cab that makes the change, not a registry editing program. I personally would make a mortscript install.mscr and uninstall.mscr, and make your own custom cab with mort's included setup.dll
Click to expand...
Click to collapse
I know what they want, just showing that it's a lot easier to open a reg editor and do it manually, then creating a list of commands to execute a simple deletion of one entry.
TheChampJT said:
I know what they want, just showing that it's a lot easier to open a reg editor and do it manually, then creating a list of commands to execute a simple deletion of one entry.
Click to expand...
Click to collapse
You clearly missed the question and the purpose why he is posting in Development and Hacking section. Hes asking todo a specific task in a cab operation and you advice him to install a reg editor and be carefull?? Jesus.. If you got nothing to say, dont say it. Sorry, but youre reply pissed me off here!
hmdshmds said:
Hi
I am having hard time in making a cab file to delete a registry value.
as an example I tried to import the following into WinCE CAB manager:
HTML:
[HKEY_LOCAL_MACHINE\System\Platform]
"PSAtRoot"=-
so that I can delete PSAtRoot from registry....
the WinCE CAB manager import nothing !!
this is working for desktop but not for PPC
any help on how to delete items in registry using cab file... or anything that is automated!
Thanks
Click to expand...
Click to collapse
Mate, read this. I think its a good start for youre question
You can specify a pre/post XML when compiling your CAB via CabWizSP. PreXML will be carried out before the main INF instructions as opposed to PostXML codes which are carried out after the INF instructions. Kindly check this sample CabWizSP syntax:
CODE
cabwizsp Sample.inf /postxml PostXML.xml /cpu ARMv4
What happens when you run the code?
CabWizSP will compile instructions in 'Sample.inf' to output 'Sample.ARMv4.CAB'. It will add 'PostXML.xml' to the output CAB. The target device CPU would be 'ARMv4' (SP2003)
The post XML file may contain your 'delete file' instructions. An example would be:
Code:
<characteristic type="FileOperation">
<characteristic type="\Storage\windows\AppMgr\Install\Target File.ext" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete" />
</characteristic>
</characteristic>
</characteristic>
Above code will force delete 'Target File.ext' at \Storage\windows\AppMgr\Install. Note that the files you wish to compile should be in the same folder as the INF, the (Post) XML and the CAB making files (makecab.exe, cabwiz.ddf, CabwizSP.exe)
Click to expand...
Click to collapse
http://www.modaco.com/index.php?showtopic=235258&view=findpost&p=844503
You should read the whole tread aswell good info for you on cab and registry
http://www.modaco.com/content/smart...n/235258/create-cab-files-to-change-registry/
Play whit this for register changes, tbh I havent deleted in registry via cab before. I overwrite in cab form and wrap it whit provxml when cooking.
raiisak said:
You clearly missed the question and the purpose why he is posting in Development and Hacking section. Hes asking todo a specific task in a cab operation and you advice him to install a reg editor and be carefull?? Jesus.. If you got nothing to say, dont say it. Sorry, but youre reply pissed me off here!
Click to expand...
Click to collapse
The OP asked for an AUTOMATED way to delete the reg entry, not how to setup an xml file for deletion of the key during ROM cooking. And yes, you better believe I said make sure you know what your doing! If a person asks how delete a registry entry with this type of thread started for it, I'm a bit concerned with the fact they might not know what they are doing. So, really I'm soooooo sorry I hurt you feelings, but I did give an answer, it wasn't rude, and I gave caution to the person who wants to change the registry.
Ohhhhhh! Your post made me so sad !
HAAAAA! LOL !
delete registry entry using xml
TheChampJT : thanks for welling to help
raiisak : Thanks alot for the the help
while searching I found away to delete registry entry using (Provisioning)pre/post xml in the WinCE CAB Manager.
I modified the xml code accourding to this MSDN article
this my xml code :
HTML:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKEY_LOCAL_MACHINE\System\Loader">
<noparm name="EnableUpperModules" />
</characteristic>
</characteristic>
<characteristic type="Registry">
<nocharacteristic type="HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow" />
</characteristic>
</wap-provisioningdoc>
unfortunately nothing deleted !
did I miss something?
Why don't you create this _setup.xml:
Code:
<wap-provisioningdoc>
<characteristic type="Install">
<parm name="InstallPhase" value="install" />
<parm name="OSVersionMin" value="4.0" />
<parm name="OSVersionMax" value="6.99" />
<parm name="BuildNumberMin" value="0" />
<parm name="BuildNumberMax" value="-536870912" />
<parm name="AppName" value="YOUR NAME APP" />
<parm name="InstallDir" value="%CE2%" translation="install" />
<parm name="NumDirs" value="0" />
<parm name="NumFiles" value="0" />
<parm name="NumRegKeys" value="2" />
<parm name="NumRegVals" value="1" />
<parm name="NumShortcuts" value="0" />
</characteristic>
<characteristic type="Registry">
<characteristic type="HKEY_LOCAL_MACHINE\System\Loader">
<noparm name="EnableUpperModules" />
</characteristic>
</characteristic>
<characteristic type="Registry">
<nocharacteristic type="HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow" />
</characteristic>
</wap-provisioningdoc>
and then make the cab with ms makecab:
Code:
makecab _setup.xml mycab.cab
g77:
hmm... the output CAB cannot be installed
"try installing again to a different location"
any clue?
Going to try youre cab
hmdshmds said:
...while searching I found away to delete registry entry using (Provisioning)pre/post xml in the WinCE CAB Manager.
Click to expand...
Click to collapse
Thanks for that idea! I managed to delete the entire ClearType key from the registry using the Post-XML option in WinCE Cab manager.
I now have a cab that deletes the ClearType key and thus disables cleartype! (From a rom that has cleartype enabled by default because the key exists)
Here is what I put in the Post-XML:
HTML:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
sean222 said:
Thanks for that idea! I managed to delete the entire ClearType key from the registry using the Post-XML option in WinCE Cab manager.
I now have a cab that deletes the ClearType key and thus disables cleartype! (From a rom that has cleartype enabled by default because the key exists)
Here is what I put in the Post-XML:
HTML:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
Click to expand...
Click to collapse
Thats funny. Its the wery same string I use in kitchen. Didnt think of cabing it. N1 hehe.
Originally Posted by hmdshmds
hmm... the output CAB cannot be installed
"try installing again to a different location"
any clue?
Click to expand...
Click to collapse
I got this issue too, so for hmdshmds or anybody else who finds this thread, the answer is simply (well after a day of tracking it down ) that in the registry path, the root part must be in the short form "HKLM" etc, and NOT "HKey_Local_Machine" as hmdshmds/g77 had it.
I've put an article on my website explaining about it, and also - care of a Microsoft blog entry - how to get Visual Studio 2005 to build this right into the installer without any other external software. See Removing Registry Keys with WM6 Deployment . (*UPDATE 1-Sep-2008* Previously, the IE7 phishing filter was reporting the above link as a "possible" phishing site. It absolutely is not and the false warning was reported to Microsoft and has now been corrected.)
Happy coding guys and gals
I'm trying to remove unwanted Today Panel items. After some trial and error, I've been able to come up with the following code:
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
<nocharacteristic type="HKLM\Software\Microsoft\Today\Items\"Owner Info"" />
</characteristic>
</wap-provisioningdoc>
When I try to import it using SASHAMI, nothing happens; and when I try using 'Advanced Configuration Tool', I receive
System.SystemException:
Error Code #:
2147500037
at
Microsoft.WindowsMobile.Configuration.ConfigurationManager.MainConfigurator(XmlDocument configDoc, UInt32 flags)
at
Microsoft.WindowsMobile.Configuration.ConfigurationManager.ProcessConfiguration(XmlDocument configDoc, Boolean metadata)
at
AdvancedConfig.□.□(Object □, EventArgs □)
Click to expand...
Click to collapse
Apparently, there's still something wrong with my XML, but I'm at a loss. Anybody have any ideas?
Thanks
Roger
well, maybe a bit late answer but you cant remove 'folders' which contain values.. you need to remove them one by one, at least i cant get any further the nthat!
hmdshmds said:
unfortunately nothing deleted !
did I miss something?
Click to expand...
Click to collapse
This might be a little late as I was not a member when you posted here, but to provision with a cab you should leave out the </wap-provisioningdoc> from the top and bottom. It will not fail to parse including that string and its confusing when it still doesnt work. That is your problem. Remove wap provisioning string from top and bottom. Here is how it should look.
PHP:
<characteristic type="Registry">
<characteristic type="HKEY_LOCAL_MACHINE\System\Loader">
<noparm name="EnableUpperModules" />
</characteristic>
</characteristic>
<characteristic type="Registry">
<nocharacteristic type="HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow" />
</characteristic>
Hi!
I am, as everyone else posting in this thread, trying to remove a bunch of registry settings using a cab-file. Thanks to this thread, my hopes of success were raised once more
I tried all of the examples posted in this thread without success, found a link on modaco which lead me to this msdn-article:
http://msdn.microsoft.com/en-us/library/ms834737.aspx
Works like a charm... Thanks a BUNCH guys!
As this is the first thing found when googled - I'll add a little information.
For files, you need to remove each and every file contained in a folder before the folder itself can be removed.
For registry keys, you do not need to remove seperate values. Deleting a registry key, deletes all contained values and subkeys.
Great post. Just what I needed.
But I have problem with WinCE CAB Manager version 3.0.0.22. Anything I added to the pre or post XML, the CAB file cannot be install. Took me forever to debug and nothing works. Anybody?
I finally switch to version 2 and it works perfectly.
I take it back, Wince CAB manager sucks. ver 2.1.0.35 cannot import reg file.
hi guys,
having issues with a 6.5 kitchen...
image files arent being associated with any program...
does anyone know how i can revert to the default HTC pimg.exe (image viewer) or even HTC album
this will be for .jpg / jpeg / .bmp / .gif files
if someone can help me with cooking this into my rom it'll be muchly appreciated
cant believe no one is willing to help
ryousuke said:
cant believe no one is willing to help
Click to expand...
Click to collapse
try this here
thanks for the reply but i'm hoping to do this via registration @ OS install rather than through software post wm6.5 setups...
any one else able to create a reg to implement it?
i can not belive
nobody willing to help you
you can fix it yourself !!!
if you just used the "search button"
for bug correcting
1. correct the bug
2. open an reg editor
3. save the key that you need as name.reg
4. add it to your kitchen
also you can add metadata folder to sys
REGEDIT4
[HKEY_CLASSES_ROOT\jpegfile]
@="JPEG Image"
[HKEY_CLASSES_ROOT\jpegfile\DefaultIcon]
@="\windows\HTCAlbum.exe,-300"
[HKEY_CLASSES_ROOT\jpegfile\Shell]
[HKEY_CLASSES_ROOT\jpegfile\Shell\Open]
[HKEY_CLASSES_ROOT\jpegfile\Shell\Open\Command]
@="\windows\HTCAlbum.exe "%1""
this is the patch for you
fo the same for all picture extensions
or you can just edit
Album_3_2_19193429_0\files\mxipupdate_MASD_zzzHTCAlbum_RegKey.provxml
<characteristic type="HKCR\jpegimage\DefaultIcon" translation="filesystem">
<parm name="" datatype="string" value="HTCAlbum.exe,-300" translation="filesystem"/>
</characteristic>
to
<characteristic type="HKCR\3gpfile\DefaultIcon" translation="filesystem">
<parm name="" datatype="string" value="HTCAlbum.exe,-300" translation="filesystem"/>
</characteristic>
all this with just an simple search
i did search here and in google all wkend...
tried first method with the reg editing still not working...
will try the 2nd method tomorrow when i have some time...
htc album often has a provxml that fixes the file associations for album. find the packages from mega and edit the provxml to be pimg instead of album. provxml gets installed at first boot without the need for auto run. that would be the sure way to fix your problem.
i'll check the provxml file when i get home (will comment the fields out)
thing even if i dont install HTC album the files arent associated...
and i recall the provxml file already 'trying' to add associate to htc (obviously not working) as when i added it to enrivus kitchen the software works but as mentioned above no link in file explorer / titanium pictures.
thanks for the help
Hi
I have spent the past couple of days cooking my own rom for personal use, and so far this forum have been a huge help. Thanks guys!
I have searched the forums, and google but have found no solution to my problem. I need a method to change the icons in my start menu, and deleting/adding links while cooking it into the rom.
Can anybody help me?
Cheers!
mxipupdate_projectdefault_a_000.provxml (new folders/subfolders also have to be in initflashes.dat)
mxipinit_startmenu_001.provxml (i only remove the search- and help-links)
the according numbers "900000XXX" can be used to define the order.
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Security\Shell\StartInfo\Start\Today">
<parm name="Name" datatype="string" value="Startbildschirm" />
<parm name="Rank" datatype="integer" value="900000718" />
</characteristic>
<characteristic type="HKLM\Security\Shell\StartInfo\Start\Multimedia">
<parm name="Group" datatype="integer" value="1" />
<parm name="Icon" datatype="string" value="\Windows\HTC_multimedia.png" />
<parm name="Rank" datatype="integer" value="900000518" />
</characteristic>
..................
make sure you save it in utf-8-format.
one single error (or file/folder not found) within the provxml-file and it will be ignored at installation of rom.
you can rename the *.provxml to *.xml and doubleclick it to see where the errors are.
I made the changes to mxipupdate_projectdefault_a_000.provxml but it doesn't seem to be processed. I open it in IE as xml and there's no error.
what else could be wrong?
like i said... one single file/folder not present (initflashes.dat) and the provxml will be ignored. don't just check for format errors.
I find the best way is to use iniflashfiles.dat, create my folder structure and modify the existing apps to where I want. Then in SYS there are some provxml files like for Windows Live, Skybox etc. I make a copy of these and put in my operatorPkg folder and modify them to the folder I want. The file in OperatorPkg will overwrite the original.
bobsbbq said:
I find the best way is to use iniflashfiles.dat, create my folder structure and modify the existing apps to where I want. Then in SYS there are some provxml files like for Windows Live, Skybox etc. I make a copy of these and put in my operatorPkg folder and modify them to the folder I want. The file in OperatorPkg will overwrite the original.
Click to expand...
Click to collapse
ok looks like that's what I'll do.
do you know which package create the HTC shortcuts and the widget shortcuts?
zenkinz said:
ok looks like that's what I'll do.
do you know which package create the HTC shortcuts and the widget shortcuts?
Click to expand...
Click to collapse
The HTC shortcuts are created from Manila Core\0409 reg file. You can delete them if you don't want and change the reg setting for AutocreateShortcutEnabled to 0
for Widgets I never use them. I would like to know how to change these myself. Maybe someone else can help with this.
I'd like to cook this hot fix into my ROM. Can anybody help me with this? Even if you just make it a Cab that I can turn into a OEM I would greatly appreciate it.
Since you're looking to cook this into a ROM and since you'll likely run into this scenario again; here's the long method of doing it in case the shortcut methods don't work.
Step 1: Extraction
Use WinRAR (or other extract) to extract the contents of the .EXE
Open _SETUP.XML with a text editor
Step 2: Rename Files
Rename the extracted files as per the names in the .XML.
Here is an example; extracted filename in blue should be renamed to green.
Code:
<characteristic type="FileOperation">
<characteristic type="\temp" translation="install">
<characteristic type="MakeDir" />
<characteristic type="[COLOR="green"][B]HTCIMSSvc.exe[/B][/COLOR]" translation="install">
<characteristic type="Extract">
<parm name="Source" value="[COLOR="Blue"][B]HTCIMS~1.001[/B][/COLOR]" />
<parm name="NoSkip" />
</characteristic>
Step 3: Examine .XML & .REG
Examine the contents of the .XML file. If the file contains several actions, you would likely rename the file to .PROVXML - this thread has some good links for you to review.
Tip, file copy operations could be moved to a INITFLASHFILES.DAT file eliminating the need for the .PROVXML.
Examine the contents of the .REG file. The contents of the file will become your .REG (or.RGU) file for your OEM package.
Tip, look at the structure of an existing OEM package (ex: there are some for PkgToolsBuildOS & VisualKitchen).
A few other observations
bootstrap; this hotfix runs a setup bootstrap. You may need to perform a pre/post device capture using an application similar to dotFRED Task Manager. Here's how with dotFRED Task Manager:
Launch the dotFRED Task Manager, select Registry, select Export Registry, exit.
Run the hotfix, don't restart if possible.
Launch dotFred Task Manager, select Registry, select Export Registry, exit. Restart.
Launch dotFred Task Manager, select Registry, select Export Registry, exit.
You should now have 3 registry exports (or 2 if a forced restart): pre-install, post-install, post-restart. Use a comparison tool (ex: BeyondCompare) on your PC to compare the contents of these exports so as to isolate any pertinent actions/registry changes executed by the bootstrap.
registry changes; this hotfix applies changes to the Windows registry.
shortcuts; none created.
files; there are six files in this hotfix payload. Since you will be cooking a custom OEM package with the hotfix, it's possible you won't need most of these files as they are typically used by the hotfix installer.
directories; there are two folders created in this hotfix payload. Since you will be cooking a custom OEM package with the hotfix, it's possible you won't need to create these directories as they are typically used by the hotfix installer (temp) or already exist (windows).
Code:
<characteristic type="Install">
<parm name="InstallPhase" value="install" />
<parm name="[COLOR="red"][B]SetupDLL[/B][/COLOR]" value="[COLOR="red"][B]1[/B][/COLOR]" />
<parm name="OSVersionMin" value="3.0" />
<parm name="OSVersionMax" value="4.21" />
<parm name="BuildNumberMin" value="0" />
<parm name="BuildNumberMax" value="-536870912" />
<parm name="UnsupportedPlatforms" value="JUPITERHPC" />
<parm name="AppName" value="HotFix RAP_S00870" />
<parm name="InstallDir" value="%CE1%\RAP_S00870" translation="install" />
<parm name="[COLOR="magenta"][B]NumDirs[/B][/COLOR]" value="[COLOR="magenta"][B]2[/B][/COLOR]" />
<parm name="[COLOR="blue"][B]NumFiles[/B][/COLOR]" value="[COLOR="Blue"][B]6[/B][/COLOR]" />
<parm name="[COLOR="cyan"][B]NumRegKeys[/B][/COLOR]" value="[COLOR="cyan"][B]1[/B][/COLOR]" />
<parm name="[COLOR="cyan"][B]NumRegVals[/B][/COLOR]" value="[COLOR="cyan"][B]1[/B][/COLOR]" />
<parm name="[COLOR="purple"][B]NumShortcuts[/B][/COLOR]" value="[COLOR="purple"][B]0[/B][/COLOR]" />
</characteristic>
HTH,
hilaireg said:
Since you're looking to cook this into a ROM and since you'll likely run into this scenario again; here's the long method of doing it in case the shortcut methods don't work.
---------- SNIP ---------------
HTH,
Click to expand...
Click to collapse
I like your method for comparing registries with beyond compare, I'll have to try that one day. I've always used sktracker
TheSlimHim said:
Thank you very much for taking your time to help me. You gave me a very detailed explanation with examples to my question. I did steps 1 and 2 using 7zip and notepad++. However for Step 3, I have ran into a snag. I'm not sure what you are telling me to do.
Part 1: I read the thread you directed me to but I am still a bit confused on what it is I should do. I normaly add OEM packages this way.
Click to expand...
Click to collapse
I've used Ervius Visual Kitchen and PkgBuildOS; in these kitchen an OEM package structure is typically as follows:
PkgToolsBuildOS
<packagename>
<guid>.rgu
<guid>.dsm
files
modules
.provxml
shortcuts
initflashfiles.txt
option.xml
Visual Kitchen
<packagename>
<guid>.rgu
<guid>.dsm
app.reg
app.dat
_skip
<Files>files
modules
.provxml
shortcuts
Haven't used the kitchen you are using. The best approach for you to take is examine a few packages in your kitchen (ex: Opera, Zip, etc.) to determine the structure you will need to follow.
Part 2: I can not find any reg or rgu files in the archive.
Can you please try to guide me a little bit more? I appreciate what you have already done to help me, however I am just beginning to become a Chef and am very eager to learn. I have previous experience in the programming world.
Click to expand...
Click to collapse
In the hotfix package you are working on;
HTCIMS~1.001 = CM_Entries.xml
PLATFO~1.004 = Platformxxx.reg
The .XML indicates where HTCIMSSvc.exe (in this case .\Windows) should be copied and also contains a HKLM registry entry.
The .REG is empty.
The challenge with this package is that it also contains a bootstrap (SetupDLL/CESetupDLL) and the _setup.xml also contains an HKCU registry entry. This typically indicates that the bootstrap setup may be adding registry entries as well. In such cases, the best approach is to perform pre/post registry captures to see what pertinent registry changes are made ... similar to repackaging application on a Windows platform (ex: InstallShield, Wise, etc.)
I have done all but one of the "requirements to start becoming a Chef" as one member has listed. That one is making my own cab. However I have made my own Reg edit programs for PCs among other things.
Thank you very much for your time,
TheSlimHim
Click to expand...
Click to collapse
No worries; we were all n00bies at one time or other. And just when you think you know what you're doing, someone will come along and show you a better method - happens to me all the time.