[SOLVED] How to translate Initflashfiles.dat HEX words - Windows Mobile

I am trying to figure out what something means and maybe how to convert it that I see in the initflashfiles.dat.
Example:
Code:
Directory("\My Documents\My Pictures"):-File("\x0053\x0070\x0072\x0069\x006E\x0067\x002E\x006A\x0070\x0067","\Windows\Spring.jpg")
Directory("\My Documents\My Pictures"):-File("\x0047\x0072\x0061\x0073\x0073\x002E\x006A\x0070\x0067","\Windows\Grass.jpg")
Directory("\My Documents\My Pictures"):-File("\x004C\x0065\x0061\x0066\x002E\x006A\x0070\x0067","\Windows\Leaf.jpg")
Directory("\My Documents\My Pictures"):-File("\x0057\x0061\x0074\x0065\x0072\x002E\x006A\x0070\x0067","\Windows\Water.jpg")
How do I translate the \x0057\x0061\x0074\x0065\x0072\x002E\x006A\x0070\x0067 to normal english like Water.jpg? Thanks for any help.
MOD Edit: change name to solved

its hexadecimal get a hexadecimal calculator put the code it must be w---a---t---e---r and I ges 6A is j, 70 is p, and 67 is g.

+ Que PPC said:
its hexadecimal get a hexadecimal calculator put the code it must be w---a---t---e---r and I ges 6A is j, 70 is p, and 67 is g.
Click to expand...
Click to collapse
Nice....Thanks a lot!!

Hex to Text
TMartin03 said:
I am trying to figure out what something means and maybe how to convert it that I see in the initflashfiles.dat.
Example:
Code:
Directory("\My Documents\My Pictures"):-File("\x0053\x0070\x0072\x0069\x006E\x0067\x002E\x006A\x0070\x0067","\Windows\Spring.jpg")
Directory("\My Documents\My Pictures"):-File("\x0047\x0072\x0061\x0073\x0073\x002E\x006A\x0070\x0067","\Windows\Grass.jpg")
Directory("\My Documents\My Pictures"):-File("\x004C\x0065\x0061\x0066\x002E\x006A\x0070\x0067","\Windows\Leaf.jpg")
Directory("\My Documents\My Pictures"):-File("\x0057\x0061\x0074\x0065\x0072\x002E\x006A\x0070\x0067","\Windows\Water.jpg")
How do I translate the \x0057\x0061\x0074\x0065\x0072\x002E\x006A\x0070\x0067 to normal english like Water.jpg? Thanks for any help.
Click to expand...
Click to collapse
Hey, i made a a simple tool to get the translation done quickly, but its written in using VBA in Excel. Its doesn't look pretty, but gets the job done. Need to enable macros for it to work and usage instruction is included!

prettie cool!!!!
would you mind to add your tool into kitchen tools repository?
check the main stickie to know where
thanks for your contribution

+ Que PPC said:
prettie cool!!!!
would you mind to add your tool into kitchen tools repository?
check the main stickie to know where
thanks for your contribution
Click to expand...
Click to collapse
I dont mind mind at all. This is the best place to share knowledge!

Cool hope you can post it there

+ Que PPC said:
Cool hope you can post it there
Click to expand...
Click to collapse
Done!
http://forum.xda-developers.com/showpost.php?p=6522012&postcount=29

tidus18 said:
Hey, i made a a simple tool to get the translation done quickly, but its written in using VBA in Excel. Its doesn't look pretty, but gets the job done. Need to enable macros for it to work and usage instruction is included!
Click to expand...
Click to collapse
That is awesome...Thanks man!!

wow... I had no idea anyone would find a use for such a tool... back in December 2009, I wrote a vbscript to do this same thing. You can also feed it an encoded string from a provxml to decode. This is a vbs file so Excel is not needed.
Code:
<wap-provisioningdoc>
<characteristic type="FileOperation">
<characteristic type="%CE11%" translation="install">
<characteristic type="MakeDir" />
<characteristic type="&#[COLOR="Red"]82;emote Desktop Mobile.ln&#107[/COLOR];" translation="install">
<characteristic type="Copy">
<parm name="Source" value="%CE2%\wpctsc.lnk" translation="install" />
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
from this you would copy
Code:
82;emote Desktop Mobile.lnk
and paste it in the box
or in an initflashfiles
Code:
Directory("\Windows\Start Menu\Programs"):-File("\x[COLOR="Red"]0054\x0061\x0073\x006B\x0020\x004D\x0061\x006E\x0061\x0067\x0065\x0072\x002E\x006C\x006E\x006B[/COLOR]","\Windows\TaskMgr.lnk")
from this you would copy
Code:
0054\x0061\x0073\x006B\x0020\x004D\x0061\x006E\x0061\x0067\x0065\x0072\x002E\x006C\x006E\x006B
and paste it in the box

selyb said:
wow... I had no idea anyone would find a use for such a tool... back in December 2009, I wrote a vbscript to do this same thing. You can also feed it an encoded string from a provxml to decode. This is a vbs file so Excel is not needed.
Click to expand...
Click to collapse
Now, VBA or vbs, both is not required. airxtreme has released another tool to make it a breeze.
http://forum.xda-developers.com/showthread.php?t=764535

Related

How to delete a registry key using a CAB

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.

[Q] ProvXML

So, I'm trying to improve my already vast configuration cab. That's right, I created a CAB file instead of an XML. The reason? I just can't grasp the damn syntax that provXMLs use.
I've read microsoft's footage on ProvXMLs and it didn't make me all the wiser. Now though, I need them anyway, as there's something CAB files can't do;
Deleting files. How can I do this with a ProvXML?
It's just that easy:
Code:
<characteristic type="FileOperation">
<characteristic type="Windows\DarkWood.cab" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete" />
</characteristic>
</characteristic>
</characteristic>
Alright, thanks. What about deleting folders? CAn that be done while files are still inside? And registry keys?
I'm sorry for the many questions, but provxml's are confusing
EDIT:
Oh, and what's up with the darkwood.cab?
No problem
Remove Folder
Code:
<characteristic type="FileOperation">
<characteristic type="%CE2%\Start Menu\Programs\Office Mobile" translation="install">
<characteristic type="RemoveDir" />
</characteristic>
</characteristic>
Edit Registry Keys
There are 2 different Solutions for creating a xml File which edits the registry.
1. You can write your File in simple RGU-Style and use and Rgu2xml converter to get your xml file
2. You write it straight away in xml
For Example a part of my Customization and Tweak-Xml-File to enable Cleartype:
Code:
<characteristic type="Registry">
<characteristic type="[B]HKLM\System\GDI\ClearTypeSettings[/B]">
<parm name="[U]OffOnRotation[/U]" value="0" datatype="integer"/>
</characteristic>
[size=1]<characteristic type="HKLM\System\GDI\CLEARTYPE">
<parm name="Default" value="0" datatype="integer"/>
</characteristic>[/size]
</characteristic>
Thats the Dir you edit/modify
Thats the Regkey you create/modify
So, if I understand correctly, removing a folder also removes all files inside without trouble. I had already found rgu2xml.
What about deleting registry keys, is that also that simple?
Why delete them if you can set them to 0
Kid_DC said:
Why delete them if you can set them to 0
Click to expand...
Click to collapse
Umm, deleting is cleaner. Setting them to 0 leaves the key in the registry, and the less keys you have, the faster it is. So, is it possible at all, or did you propose that option because it's not?
Hehe but there are so many Keys that your 10 Keys, which you want to delete, make no difference (i think...)
Actually I don't know how to delete them because I never used this command. But I think that should be possible... try to search for "XML delete registry key xda"
I believe I found it:
Code:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
Deletes the CLEARTYPE key..!
Now to make the file and cab it!
I believe I found it:
Code:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
Deletes the CLEARTYPE key..!
Now to make the file and cab it!
What do you want to do with your cab?
Uninstall the panels and reassign the panel button to something useful. =]
hm... nice
I've removed the Panels in my current version of my Rom, too. I only need the Media Xperiance Panel and i can get it running without panelmanager
Kid_DC said:
hm... nice
I've removed the Panels in my current version of my Rom, too. I only need the Media Xperiance Panel and i can get it running without panelmanager
Click to expand...
Click to collapse
You can? That's neat! Mind sharing that? Would be nice if that runs, but then without the background process that takes up so much of the cpu...
Share!
It's not difficult, really
Only Remove Panelmanager, Install Media Xperiance Panel (not that from the R3AA beta) and install Pubba's Panel Installer. Now reassign the Panelbutton to the Mxp.exe from Pubba and it's done
Alright, I didn't know Pubba's was compatible. What about the background process, does it terminate once you shut it down?

[HELP] How to change icons and rearrange start menu when cooking?

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.

Converting a PPC EXE to OEM

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="JUPITERHPC" />
<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.

[HOW TO] Blacklist processes in WM

Hello,
I've got some windows mobile 5 handhelds that I'm running in kiosk mode. One of the applications that can be run from the kiosk has the ability to access Internet Explorer. I want to be able to disable internet explorer so even when the user tries to access this feature, IE will not pop-up.
From what I've seen while searching on google, there is no direct way to remove PIE or even disable it. I've searched ways to black list programs and found this link here: http://www.satter.org/2007/03/lets_shell_some.html. This seems like it would work. It's a registry fix but I can't seem to get the .CPF file to update the configuration on the handheld. The error I get is 'your device settings cannot be changed by Test.cpf'. I assume I need to sign the .CPF file but I am unsure how to do this exactly...
Any thoughts if this will work or other methods???
Thanks!
Zac
Ok so after looking into this further I learned the certificates in the WM5 and 6 SDK folders are outdated. I downloaded newer certificates and installled the updated certs.sdk to the handheld but the cpf file still will not work. The error now is: 'The program or setting could not be installed because it is not digitally signed with a trusted certificate.' The updated certs I got are all trusted (I think). The cert I am using is SDKSamplePrivDeveloper.pfx.
Nevermind, got it to work. I didn't need to do any signing at all, just needed to remove some not needed XML in my _setup.xml file.
For what it's worth, here's the XML to blacklist an application (in this case PIE):
Code:
<?xml version="1.0" encoding="utf-8" ?>
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Security\Policies\Shell">
<parm name="DisallowRun" value="1" datatype="integer" />
</characteristic>
<characteristic type="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun">
<parm name="1" value="iexplore.exe" datatype="string" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
Well done, solved your problem yourself, and in the mean time a new guide generated for people who wanted to do this.
Thansk
madnish30.
hi,
thanks for this tweak very interesting but i'm on WM 6.5.5 Titanium Energy Rom and there is no _setup.xml, can not find it so can not do this tweak or i missed something , could you help, be more explicit...
Second question, is there a possibility to know exactly witch applications, process are launch when windows start?
Thanks
V.
MakeCab Tutorial
voyd said:
hi,
thanks for this tweak very interesting but i'm on WM 6.5.5 Titanium Energy Rom and there is no _setup.xml, can not find it so can not do this tweak or i missed something , could you help, be more explicit...
Second question, is there a possibility to know exactly witch applications, process are launch when windows start?
Thanks
V.
Click to expand...
Click to collapse
Hello,
You create an XML file on your PC called _setup.xml and use makecab.exe that comes with the WM5/6 SDK from the command line to create a CAB file.
But, to make life simpler, I've attached this zip file which has makecab.exe, my _setup.xml, and also a task manager program you can run on WM that I've downloaded (it has a registry editor built into it too, which is convenient ).
To use:
1) Make any changes you need to _setup.xml
2) Run makecab.exe from the command line with this syntax: "makecab _setup.xml <'filename'.cab>"
3) Install this on the handheld, reboot device, run the program you've blacklisted and enjoy the access denied pop up!
Blacklist _setup.xml:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Security\Policies\Shell">
<parm name="DisallowRun" value="1" datatype="integer" />
</characteristic>
<characteristic type="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun">
<parm name="1" value="iexplore.exe" datatype="string" /> <!-- change 'value' to whatever program you want blacklisted -->
<!-- <parm name="2" value="ANOTHER_PROGRAM.exe" datatype="string" /> -->
<!-- <parm name="3" value="YET_ANOTHER_PROGRAM.exe" datatype="string" /> -->
</characteristic>
</characteristic>
</wap-provisioningdoc>
Disable Backlist _setup.xml:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<wap-provisioningdoc>
<characteristic type="Registry">
<!-- Disable DisallowRun -->
<characteristic type="HKLM\Security\Policies\Shell">
<parm name="DisallowRun" value="0" datatype="integer" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
To answer your second question, most startup programs will be listed under the /Windows/StartUp folder.
Hope this helps!
madnish30 said:
Well done, solved your problem yourself, and in the mean time a new guide generated for people who wanted to do this.
Thansk
madnish30.
Click to expand...
Click to collapse
Thank you! Glad to help out!
another alternative
Hello people,
Here's another alternative which does not involve making cab files / fiddling with the registry (not all devices support this, since they are ROM_hardcoded);
WM5/6 command DONOTHiNG.EXE copy to device make shortcut link to Program Files
http://www.stephan-brenner.com/?p=190
Rename iexplore.exe to *.bak
Copy donothing.exe to \Windows\
Rename donothing.exe to iexplore.exe
done
Of course there are 101 other wonderfull 'solutions' to think of using donothing.exe
ThanX a ton for these wonder full wapprovisioning xml
FYC:
WinCE CAB Analyzer (MSCEInf): .CAB extraction
ExtenDir CABS .CAB creation (PgDn a bit) (optionally ExtenDir should be switched off if you're not using it!! )
Converting packages or your favorite tweaks to a setup cab was never so easy!
o/~
Senax said:
Hello people,
Here's another alternative which does not involve making cab files / fiddling with the registry (not all devices support this, since they are ROM_hardcoded);
WM5/6 command DONOTHiNG.EXE copy to device make shortcut link to Program Files
http://www.stephan-brenner.com/?p=190
Rename iexplore.exe to *.bak
Copy donothing.exe to \Windows\
Rename donothing.exe to iexplore.exe
done
Of course there are 101 other wonderfull 'solutions' to think of using donothing.exe
Click to expand...
Click to collapse
This method does work, the only concern I had with this was what if an administrator needs to get have access to that program that is overwritten? In my case if I overwrote iexpore.exe then I'd have no way of accessing the internet or downloading any vital programs (unless they were already installed before hand). My device had no way to USB connect and bluetooth file transferring was becoming a pain to get to work so that's why I used the CAB method downloading them first through PIE from a virtual directory then disabling PIE.
But hey, if you're sure you won't need PIE or any other program you want disable this method works great!
Thanks!
Or Batch iT
Why not make a batch file? Use a standard ASCII editor like Notepad.exe and copy + paste the following code (assuming running from C drive). Make sure Word-Wrap = OFF (always while editing (source))!
Code:
@ECHO OFF
@REM renaming of blacklisted application(s) back to original so one can operate executables as expected
C:
CD\
CD Windows\System32\
@REM Remember the short 8.3 filename (stick to that within batch files).
REN YourExecutable.exe donothin.exe
@REM Assuming you renamed original *.exe to *.e_e
REN YourExecutable.e_e Depends.exe
@REM Need to switch drives/partition? Just type its letter D: [ENTER] CD\ [so windows its current PATH is the root of the current drive].
:END
EXiT
Online DOS_Batch handbook
Senax said:
Why not make a batch file? Use a standard ASCII editor like Notepad.exe and copy + paste the following code (assuming running from C drive). Make sure Word-Wrap = OFF (always while editing (source))!
Code:
@ECHO OFF
@REM renaming of blacklisted application(s) back to original so one can operate executables as expected
C:
CD\
CD Windows\System32\
@REM Remember the short 8.3 filename (stick to that within batch files).
REN YourExecutable.exe donothin.exe
@REM Assuming you renamed original *.exe to *.e_e
REN YourExecutable.e_e Depends.exe
@REM Need to switch drives/partition? Just type its letter D: [ENTER] CD\ [so windows its current PATH is the root of the current drive].
:END
EXiT
Online DOS_Batch handbook
Click to expand...
Click to collapse
Nice! Very simple to use!

Categories

Resources