Registry comparison for before and after - General Topics

Anyone aware of a program that can compare the registry/files for before and after a program is installed and uninstalled? Trying to figure out what wasteful entries a certain program is leaving behind that is affecting my SIP menu. A nice snapshot program with comparison would be handy.
Hardware: P3300 WM5

Sure.
Windiff or SKTracker. See my WinDiff tutorial at http://forum.brighthand.com/showthread.php?t=215073

Thanks Menneisyys - I just came across SKTracker, will check out your tutorial also.

Try ssnap (free: http://s-k-tools.com/index.html?m_util.html ) from sk-tools and any diff program (very good to find added, deleted, modified files, and modifications in the registry)
And my last findings:
use dotFred's taskMgr (builtin regedit: check option MULTI_SZ,MUI_SZ in RGU format), export registry (before and after), rename *.reg to *.RGU , modify first line (should be REGEDIT4) and use RGUCOMPARER http://forum.xda-developers.com/showthread.php?p=885358 - great tool.

Related

TUTORIAL: Create links to the programs in your Settings menu

TUTORIAL: Create links to the programs in your Settings menu! A full explanation & never-before-published, full comparison list
An often-asked question concerns how you can set up direct links to the control panel applets (CPL's for short) in Start/Settings.
What's the point in all this, you may ask. Why not simply tap Start and, then, Settings and, finally, the icon you want to execute?
Yes, for a casual user, there's not much need in creating self-standing links to these files. There're, however, cases when this can prove really useful – for example, the case of including them in Today launcher plug-ins that, otherwise, don't let access to any of these applets otherwise. A well-known example of plug-ins like those is Resco File Explorer's excellent Today plug-in or in the free cLaunch. (Please see this (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand) for more info on these excellent applications and the alternatives.)
Most of these settings are invoked from a central dialog file, \Windows\cplmain.cpl. Some additional, custom settings may have been put in a separate file, \Windows\mycpl.cpl. Finally, third-party applications that install their own settings dialogs create their own .cpl files inside the \Windows directory. For example, SOTi Pocket Controller (see this article on it) creates a file DeviceConfig.cpl, Mad Programmer's FileDialogChanger (see this article on it) uses a file named filedlgchg.cpl to offer the user the File Dialog Changer settings, Mad Programmer's Force Hi-resolution tool (see this article on it) puts a ForceHires.cpl file in there etc. The same stands for Spb Pocket Plus, MS Voice Command (please see this article for a full roundup of all voice controller apps) and XCPUScalar.
What should I do?
It's simple: create a .lnk file with the following contents:
33#ctlpnl.exe cplmain.cpl,X
OR
33#ctlpnl.exe mycpl.cpl,X
where X is a number that I'll promptly elaborate on.
As has already been pointed out, only one file, cplmain.cpl (or, with some device, mycpl.cpl in addition) contains most of the settings accessible in Start/Settings. One file containing many small applets also means that you need to choose a particular one in some way. That's why you must index the file; this numeric index (1, 2 etc.) tells cplmain.cpl which particular applet you'd like to access.
As far as the possible values of this are concerned, there're standardized ones. If you check out the "iPAQ 3660" column in the comparison chart available here (and disregard the 3 - Power record and everything starting with "MyCpl – 0"), you'll see what you can expect from any Pocket PC 2002+ Pocket PC.
Note that WM2003 added the standard 22-Manage Certificates and WM5 the standard 24-Error reporting and, with most WM5 Pocket PC devices, 25-GPS. Also, Pocket PC Phone Edition devices, regardless of their operating system version, also use the 20 - Phone Settings index. Finally, all Pocket PC's with the Microsoft BT stack use 23 – MS Bluetooth too. (Devices with the Widcomm BT stack use the separate \Windows\BTConfigCE.cpl CPL.)
It's also very important to point out that 3 – Power and 6 – Backlight is not necessarily available in all devices. For example, the iPAQ 2210 lacks both, the iPAQ 3660 lacks 6 – Backlight , while all the other listed devices have them all.
Also note the records starting with MyCpl are, as you may have already guessed, non-standard ones. It's there that the two iPAQ's have some essential applets (Backlight and, with the 2210, also Power) and some additional goodies.
Please note that lists compiled by others (for example the XDA-Developers one) are not generic enough and may contain several mistakes. Therefore, it's best not to rely on them at all. Also remember that you can freely test any indexes – you won't crash your Pocket PC if a particular index is unused.
You don't want to manually create .lnk files?
No problem, I've already done it for you! Just download this file and extract the link file(s) you'll need.
Note that the root directry of the ZIP file only contains CPL links that are guaranteed to work on all PPC2k2+ devices. I've put the additional ones in subdirectories – for example, links belonging to later operating systems (directories FromWM2003 and FromWM5), the 3 – Power and 6 – Backlight PCL's, the MS BT stack link and the PPC Phone Edition Phone Settings link.
Also, there's a separate subdirectory 'mycpl' for (unnamed – as you can also see in the comparison chart, indexes are wildly different between different devices) MyCpl link files.
Hope you'll find this information / my files useful. I really hope you'll like the new ability to include all this functionality in the Resco Today plug-in and/or cLaunch – or, for that matter, your operating system-level scripts!
Also a little bit more info on this subject + an icon extractor:
http://forum.xda-developers.com/viewtopic.php?p=223602#223602
V
When I put the link in my /windows/startmenu folder it's deleted after soft-reset of opening my start menu. What can I do about this and why is it happening?
What icon are you putting in there?
V
vijay555 said:
What icon are you putting in there?
V
Click to expand...
Click to collapse
It's a file I called Running.lnk with the following line:
Code:
22#ctlpnl cplmain.cpl,4,0?shellres.dll,-13900
I noticed that after soft reset or clicking the start menu this file is moved to the /windows/startmenu/programs folder. And thus appears in my programs list. But what I want is this link in my Start Menu.
Very odd.
Try making the shortcut as you've done, put it in your normal start menu, and then make a lnk to the lnk. Put the lnk to the lnk in your startup, and see if that makes any difference.
You could try my program VJBrisk as well. I can't even think what it does now, but it might help.
V
I tryed making another link to the first one and putting it in the startup but it didn't make any difference.
After this i tryed putting the lnk in the startmenu folder and at the same time removing another lnk file. And voila , it workt. Seems that wm5 keeps track of the amount of lnk files that should be in the startmenu folder. Makes sense because there is a limit to how long your startmenu can be.
Thanks for your help
ps. I changed the line in the link file to the following. This way it has the memory icon.
Code:
22#ctlpnl cplmain.cpl,4,0?shellres.dll,-13900

Relocate .NET Compact Framework 2.0 to your storage card!

One of the biggest complaints with Microsoft's Compact Framework 2 (CF2 for short) (and, consequently, with programs relying on it - Hitchhiker, SMS Notifier, Webby, IBE Mail etc.) has always been its storage needs, which, by default, is some 5.4 Mbytes. See for example this thread for users' opinions on the memory consumption on CF2 and their subsequent not wanting to install it.
I've always tried to reduce the main memory load on Pocket PC - with great success. Just search for the word-start "relocat" in the Pocket PC Magazine Expert Blog and on my old homepage for some examples of them. No wonder I've also decided to look into this, so far, unsolved problem to greatly help my fellow Pocket PC users. And, after a day's work and testing, I can present you a 100% working solution, which has been thoroughly tested on four of my WM2003+ PDA's, all with success. This IS a big thing, considering that internal memory is still precious, even with most Windows Mobile 5 (WM5) Pocket PC's. (For example, most WM5 PPC's are shipped with 128M of ROM, of which in general 40-45 Mbytes is free.) The situation is even worse with pre-WM5 Pocket PC's, where the available RAM is very rarely (only with devices shipped with 128 Mbytes of RAM) over 50 Mbytes, from which CF2 takes away 5.4 Mbytes.
Note that this will work on all Pocket PC and Pocket PC Phone Edition devices that are able to run CF2 (that is, all WM2003+ devices, including WM5).
The complete tutorial
* create a directory on your storage card or, if you have, in the built-in File Store. (Note that the files, as they are surely not needed at boot time (unlike some Today plug-in DLL's), may also be relocated to a storage card. That is, they don't need to be stored in the more scarce File Store - if it's available at all; that is, if you have a pre-WM5 device). Let's assume you give this directory the name "DLLs".
* move the following files from \Windows to this directory:
cgacutil.exe
MSCOREE2_0.dll
netcfagl2_0.dll
netcfd3dm2_0.dll
GAC_CustomMarshalers_v2_0_0_0_cneutral_1.dll
GAC_Microsoft.VisualBasic_v8_0_0_0_cneutral_1.dll
GAC_Microsoft.WindowsCE.Forms_v2_0_0_0_cneutral_1.dll
GAC_Microsoft.WindowsMobile.DirectX_v2_0_0_0_cneutral_1.dll
GAC_mscorlib_v2_0_0_0_cneutral_1.dll
GAC_System.Data_v2_0_0_0_cneutral_1.dll
GAC_System.Drawing_v2_0_0_0_cneutral_1.dll
GAC_System.Messaging_v2_0_0_0_cneutral_1.dll
GAC_System.Net.IrDA_v2_0_0_0_cneutral_1.dll
GAC_System.Web.Services_v2_0_0_0_cneutral_1.dll
GAC_System.Windows.Forms.DataGrid_v2_0_0_0_cneutral_1.dll
GAC_System.Windows.Forms_v2_0_0_0_cneutral_1.dll
GAC_System.Xml_v2_0_0_0_cneutral_1.dll
GAC_System_v2_0_0_0_cneutral_1.dll
(netcf2_0license.txt can also be copied here - or just deleted.)
This means only Microsoft .NET CF 2.0.GAC and mscoree.dll needs to stay in \Windows. Never ever try to touch the former (Microsoft .NET CF 2.0.GAC). Even if you copy it back to \Windows (after starting any CF2-dependent app), CF2 won't work again until you reinstall it.
Copying the files can be done in several ways, of which I show the one way that requires no third-party apps, that is, without having to resort to, for example, the WindowsCE File System plug-in of the desktop-based Total Commander.
Start the built-in (Pocket) File Explorer and navigate to \Windows. Tap and hold an empty (not highlighting any file or directory) region anywhere (for example, the end of the list) and enable "View All files" in the context menu:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now, click the "Name" drop-down menu in the upper right corner; a "Sort By" list will be displayed, defaulting to "Name". Switch it to "Date":
Scroll to the region with filedates of Aug 26 and, with cgacutil.exe, 27, 2005 (this is the easiest way to find the files) and mass-highlight all files that are listed in the above list. Note that mscoree.dll should not be highlighted (as has been pointed out, it should be left in \Windows). Also note that the filedates of the current, 2.0 version of CF2 are all dated at Aug 26/27 last year. They will only have a different filedate if you've restored them from a backup. Then, they will have the timestamp of the restoration and you'll may end up having to hunting for them one-by-one, based on their name.
Now tap-and-hold the selection somewhere so that the context menu comes up. Choose Cut:
Go to the target directory (in this case, DLLs on your storage card); tap-and-hold an empty area and choose Paste:
The transfer of the files will start:
Note that you can also use other file handler tools on the Pocket PC; for example Resco File Explorer or Total Commander. In Resco, go to File/Options/Browser and make sure "Show all files" is chosen (instead of the default "Hide hidden files and files...") as can be seen in this screenshot.
* get a registry editor that is able to (flawlessly (!)) edit multiline strings (that is, all known, up-to-date registry editors except PHM Registry Editor and Total Commander; please check out The Ultimate Roundup of Registry Editors for the Pocket PC for a thorough explanation of why I don't recommend these two applications if interested). In this tutorial, I use Resco Registry Editor (Resco for short). It's commercial, but the 14-day, unrestricted trial version is fully sufficient for our purposes. Start it.
* First, we'll modify the so-called "System Path" (which is a bit similar to the PATH in traditional operating systems) so that it includes our new directory. To do this, go to HKEY_LOCAL_MACHINE\Loader:
Note that, in here, I've switched to "Tree Mode" in View/Show Tree View as can be seen in here.
Now, click SystemPath (highlighted in this screenshot); you'll be presented the following dialog:
Note that there may be some values already in the text input area in here. For example, if you've ever had SKTools or MemMaid relocate DLL's for you, the target directory will be in here. Also, by default (if you haven't ever touched the System Path), there may be a \Release\ or \windows\oem\ in here. These can be safely deleted as they're not used. You can, naturally, leave them in there; of course, then, you must make sure the new path is entered in a new row as can be seen in this x51v or this HTC Wizard (latest Qtek ROM) screenshot. Once again: you can safely delete them.
All you have to do is entering the full path of your new DLL directory in here. For example, if you've moved the CF2 files to a directory named DLLs on your storage card named CF-Card (Storage Card, CF Card, SD Card, SD-MMCard are also widely used), enter
\CF-Card\DLLs\
in here, as can also be seen in here:
Don't forget to add the leading and the trailing backslash characters (\)!
Now, click OK in the upper right corner and answer Yes:
In the list view, the new, just-entered value should be shown as can be seen in here:
Note that, again, if you want to keep the previous values of System Path, then, the new entry should be put in a separate row. For example, if the previous value of HKEY_LOCAL_MACHINE\Loader has been
\SD-MMCard\Programs\CrEme\bin\
\LOOXstore\DLLs\
then, you need to add the new value in a new row as can be seen in here:
* now comes a bit more complicated part. First, go to HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Global.
Note that, on some devices, in the above path, SOFTWARE may not (all) be uppercase. This varies from model to model and shouldn't be paid attention to. (Also note that I’ve added spaces after every backslash characters (\) in the above registry path so that the blog engine nicely renders it. In the reality, it should not contain any spaces!)
Here, look for names (on the left) that have 2.0 in them. Note that almost all values (except for CustomMarshalers, Microsoft.WindowsMobile.DirectX and Microsoft.WindowsMobile.DirectX, which have all been introduced in CF2 and didn't exist in CF 1.x) seem to be duplicated and their name will start with the same (Microsoft.*, mscorlib.*, System* etc.); it's only after this that they start to be different. One set of them will continue in Version=1.0, the other set will continue in Version=2.0. The only exception from this "must contain Version=2.0" law is the value starting with "Microsoft.VisualBasic, Version=8.0.0.0" (that is, 8.0 instead of 2.0).
In all these Version=2.0 values, you'll need to modify the original path referring to \Windows to the new home of the relocated files - for example, in our case, \CF-Card\DLLs.
In order to be able to see this as easily as possible, enabling Show Header in the View menu is highly recommended, as can be seen in here. Then, you'll be able to greatly increase the displayed length of the value names if you drag the header to the right. Of course, switching to Landscape and/or VGA mode (if possible) is highly recommended. Then, you'll be able to see the version number in all the values. For example, this screenshot shows a QVGA WM5 device in Landscape - here, it's also possible to increase the width of the "Name" column so that the version number can also be seen without having to click every value.
All you need to do is just click all the values that have Version=2.0 in their name (except, as has already been pointed out, the 8.0 Microsoft.VisualBasic) and just change \Windows to the new value in the first row. An example of this:
before:
after:
Another example of a changed value (WM5, QVGA device, with files relocated to \Storage Card\_):
and with the VGA x51v in standard VGA mode:
Note that, much as it refers to the main storage (\Program Files\.NET CF 2.0\), you don't need to pay attention to the second row in all these values. Just leave them there.
Consider using a PC-based Pocket PC controller tool to do this (please read this article for more info on them if not sure). Using them, you can speed up the registry modification by orders of magnitude, particularly if you use copy/paste to insert the new directory path.
After you've modified all the affected values, check once more if it was successful. Fortunately, you'll see all the names (showing that a given value is 2.0-specific) and values (showing whether it refers to the original \Windows directory in the main storage or somewhere else) on the same screen as in this screenshot.
You may also want to export the just-modified branch to a registry (.reg) file. Then, in case you reinstall CF2 and want to avoid hand-editing the entire stuff, you'll only need to reimport this file. To do this, tap-and-hold Globals in the upper, tree pane and choose Export:
On WM5 devices, you will also want to make sure the changes are flushed back to the ROM (as the Registry is kept in RAM and changes are rarely flushed back to ROM, which will result in a simple soft reset getting rid of all changes and, therefore, CF2 not working after the relocation). To do this, on many WM5 devices (like the HTC Wizard), just long-press the Power button. On some other devices, you must explicitly configure the device to shut the PDA completely down upon a long-press (instead of just dimming the screen). For example, on the x51v, you must go to Settings/System/Power/Power Button and enable "Full power off" instead of the default "Dim/light the display" as can be seen in this screenshot. You'll only need to power off your PDA for some seconds because it's before shutting it down that the Registry is flushed back to the ROM; that is, you can safely switch it back on instantly.
Congratulations! Now, the relocated CF2 will be working! If you've modified the System Path, you'll need to reboot; otherwise, you can start your CF2 apps right away.
Advanced remarks for geeks/advanced hackers
* Exporting, editing and re-importing the contents of HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Global (so that you can much easier change all occurrences of \Windows to the new path) just won't work because the values in here are multiline strings, which are exported as hexadecimal values by all export-capable Pocket PC-based registry editors (I've checked this!) like in here:
* The \Windows paths in HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Reference (note that the last word is Reference, not Global!) don't need to be modified. Actually, you can even get rid of the entire subkey because it's not used at all.
* Technically, the GAC*.dll files don't need to be in the System Path; it's only with the other files (cgacutil.exe, MSCOREE2_0.dll, netcfagl2_0.dll and netcfd3dm2_0.dll) that must be. That if, you have already set up a relocated DLL directory somewhere in the System Path, you can safely move the files to there. It's in order to be as easy as possible for a novice user that I've instructed copying all relocated files to the same directory in the System Path.
one better make damm sure that one dont have any .net programs running when the pda is off too
because then the SD interface get shutdown to save power
and then programs which are running which depend on the framework crash and burn
Rudegar said:
one better make damm sure that one dont have any .net programs running when the pda is off too
because then the SD interface get shutdown to save power
and then programs which are running which depend on the framework crash and burn
Click to expand...
Click to collapse
Yup, but you can also play with PNPUnloadDelay to avoid problems because of this (see http://www.pocketpcthoughts.com/forums/viewtopic.php?t=44488 for more info).
how does this method compare to the way the new beta allows GAC to be installed to the storage card?
http://www.microsoft.com/downloads/...53-a418-42d9-a481-19ba3ceca1a6&displaylang=en
from what another user told me, the beta allows you to install about 80% of the framework to the storage card.
-jeff
jeffreii said:
how does this method compare to the way the new beta allows GAC to be installed to the storage card?
http://www.microsoft.com/downloads/...53-a418-42d9-a481-19ba3ceca1a6&displaylang=en
from what another user told me, the beta allows you to install about 80% of the framework to the storage card.
-jeff
Click to expand...
Click to collapse
Yes !!! Thanks for the council.
Before with the previous version of net framework 2 my free memory was of 25,80 Mb.
After to have installed the Sp1 new beta on the Storage Card is of 29,78 Mb.
Hi Menneisyys. Would MUCH appreciate your guidance;
I'm using a ROM image that works great - except that the CF 2.0 SP1 installation is buggy. I can't de-install it as it's not in my installed apps. Any idea what files I need to delete so the install proggie thinks it's gone and does a reasonable re-install? Currently the install proggie says "you already have this verison installed".
craigiecraigie4 said:
Hi Menneisyys. Would MUCH appreciate your guidance;
I'm using a ROM image that works great - except that the CF 2.0 SP1 installation is buggy. I can't de-install it as it's not in my installed apps. Any idea what files I need to delete so the install proggie thinks it's gone and does a reasonable re-install? Currently the install proggie says "you already have this verison installed".
Click to expand...
Click to collapse
Unfortunately, it's not only files but also registry entries. Try deleting all the above-listed, 2.0-only (don't touch the CF1-specific ones!) registry entries.
Do you have WM5 or a previous OS? If you have the latter, I can send over an .unload file and a registry import so that you can directly delete these without any manual registry editing.
Menneisyys said:
Unfortunately, it's not only files but also registry entries. Try deleting all the above-listed, 2.0-only (don't touch the CF1-specific ones!) registry entries.
Do you have WM5 or a previous OS? If you have the latter, I can send over an .unload file and a registry import so that you can directly delete these without any manual registry editing.
Click to expand...
Click to collapse
Hi Mennei, I'm on WM5 and would TRLUY appreciate a .unload file! Thanks a stack.
craigiecraigie4 said:
Hi Mennei, I'm on WM5 and would TRLUY appreciate a .unload file! Thanks a stack.
Click to expand...
Click to collapse
Unfortunately, you can't easily hack WM5 (as opposed to pre-WM5 OS'es) to think it has a program installed - you don't have write rights on \Windows\AppMgr and, tehrefore, can't copy the (un)install DLL there. That is, with WM5, it's, to my knowledge, not possible to automatically remove stuff.
Menneisyys said:
Unfortunately, you can't easily hack WM5 (as opposed to pre-WM5 OS'es) to think it has a program installed - you don't have write rights on \Windows\AppMgr and, tehrefore, can't copy the (un)install DLL there. That is, with WM5, it's, to my knowledge, not possible to automatically remove stuff.
Click to expand...
Click to collapse
hmmm.....
maybe if you installed a "dummy" program that would reference the appropriate uninstall file for CF2.0?
just an uneducated noob suggestion. (feel free to educate me! i'm always eager to learn)
blazoner said:
hmmm.....
maybe if you installed a "dummy" program that would reference the appropriate uninstall file for CF2.0?
just an uneducated noob suggestion. (feel free to educate me! i'm always eager to learn)
Click to expand...
Click to collapse
It might work.
CF2 late question
I know there has been no action on this thread but as a late commer I was wondering if the CF files can be copied and included into the extended ROM (instead of the storage card) and then flashed onto the device?
mnazmi said:
I know there has been no action on this thread but as a late commer I was wondering if the CF files can be copied and included into the extended ROM (instead of the storage card) and then flashed onto the device?
Click to expand...
Click to collapse
Yup, I think so - after all, when unlocked, the extended ROM is just another drive in the file system. WHEN unlocked, I think.
FYI
i downloaded the .Net CF2.0 SP1 fr http://www.microsoft.com/downloads/...88-59e2-4eba-a70e-4cd851c5fcc4&DisplayLang=en
i selected Storage Card during the installation. all GAC* files are installed automatically\directly onto my Storage Card\Windows folder. when i checked on HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ .NETCompactFramework\ Installer\ Assemblies\ Global, all 14 2.0 and 8.0 entries are already with the correct folder path (\Storage Card\Windows). therefore, i only needed to move 4 files below onto the \Storage Card\Windows folder, and added value Storage Card\Windows\ into the SystemPath in HKEY_LOCAL_MACHINE\Loader
cgacutil.exe
MSCOREE2_0.dll
netcfagl2_0.dll
netcfd3dm2_0.dll
thanks for the tips!

SQM & Ceipui.exe in WM6 - what do they do and how to remove effectively?

Hi,
I have been stuyding in details the orwell WM6 rom as well as the pdaviet's.
All these roms come with the SQM module (Service Quality Monitoring) including the ceipui.exe (Customer Experience Improvement Program) executable.
So I rebuild my custom rom with SQM disabled (no files, no registry keys about it) and with ceipui.exe removed, only to relalize that they are two notifications in mxip_notify.vol for ceipui.exe:
1. Connecti to a network,
2. Data Synchronization finished.
So, here are my questions:
1. I could remove the notifications from the mxip_notify.vol once I had flashed the rom with dotFred's taks manager. Does any one know how to edit this file on a PC, PRIOR building the ROM???
2. Is anyone else looking a trimming WM6 from spyware and other unwanted parts (like SQM, Windows Update, Remote flashing, etc.)?
Regards,
eluth.
I'm amazed! Does anyone care?
I posted the following message 3 weeks ago.
Since, I could study all WM6 ROMs for the Wizard that have leaked.
All of them, without exception keep the SQM module and ceipui.exe file that is trying to dial back to MS at the first connection to the network, as well as periodically afterwards....
If you don't believe me, look at mxip_notify.vol. You will see that ceipui.exe is notified at every network connection and every activeSync operation!!!!
So long....
eluth.
I don't think people really care, you're being a bit paranoid, Microsoft aren't going to install Spyware on devices like Sony did as they would have too much to lose from doing so.
The paranoid and the naive
He may be being paranoid, but anyone who seems to think that Microsoft arent into spyware should look at WGA.
If nothing else they are burning your bandwidth for which you are being charged ...
As for Activesync I suppose you can at least block it through the firewall....
Not Paranoid - REALIST!
Guys,
This is not about parnoia, but just about using a pre-released version of WM6 on a wide scale. Because this is what it is all about.
The SQM module and the ceipui.exe (Customer Experience Improvement Program UI, part of the shell module) are REAL. They are even more real, as they are part of the Orwell 1984 ROM and all ROMs build on that I've seen out there.
Now, where this becomes interesting: none, I repeat, NONE, of the WM5 roms I got my hands on is equiped with a Service Quality Monitoring function capable of phoning home!!!
The SQM module is made of the following files:
76bd787c-86b5-4b63-a1d8-1a910f86c8e1.dsm
76bd787c-86b5-4b63-a1d8-1a910f86c8e1.rgu
custsat.dll
sqmce.dll
sqmconn.dll
sqmdata.dll
sqmevent.exe
sqmsvc.dll
uptime.dll
uptimesqm.exe
I've attached the .RGU file here if someone wants to have a look.
The site it's connecting too is sqm.microsoft.com (look into sqmconn.dll), which is well known on the net. Just google it!
I'm just stating facts based on observation here.
This is NOT paranoïa.
Regards,
eluth.
I've tried to remove all of this SQM things. Besides all the above modules found in the dumped ROM, there is another reg key in HKLM\INIT which says "Launch100"="uptimesqm.exe". I think this will initially bring up the SQM Service and thus create those notifications.
I removed them all (rebuild ROM, of course). Works fine. No more SQM service, surely no notification of CEI.
But, it's the ceipui.exe module I can't remove, else it will keep bringing up error message windows saying that ceipui.exe can't be openned.
another thing I can't remove is the Customer Feedback Icon in control pannel, I search and find that it is cplmain.cpl containing it.
So, everything is fine, leave ceipui.exe module alone in ROM, remove other SQM things, let Customer Feedback just be an icon.
Just for reference. No more.
Hello huangyz,
I did that too.
First I removed the SQM module. As you might have notice the "reg key in HKLM\INIT which says "Launch100"="uptimesqm.exe" " is actually set by the 76bd787c-86b5-4b63-a1d8-1a910f86c8e1.rgu file.
So if you re-cook the ROM with pkg2dmp.exe (recreating default.hv and user.hv from boot.hv and applying all .rgu files), that key is not present in the re-generated registry hive.
As far as the "Customer Feedback" icon in control panel, I added the following keys in 1f1aca24-d942-464a-9281-10567741499c.rgu (this is the RGU of the Shell module):
[HKEY_LOCAL_MACHINE\ControlPanel\Customer Feedback]
;"Redirect"="ceipui.exe"
"Group"=dword:1
"Hide"=dword:1
As you noticed, the icon is hard coded into the control panel, however the previous changes hide the icon and prevent it from been operational.
Last, but not least, I deleted the ceipui.exe (which is a file part of the Shell module).
I'm left with a mxip_notify.vol which has initially two notification related to ceipui.exe. These values are not created at boot time but part of the default values of the file (you can do a hex dump of mxip_notify.vol)
And now, I'm back to my original question: I need to get these two ceipui related notifications removed from mxip_notify.vol... if possible at the time I'm building the ROM (right now I do it manually with dotFred's TaskManger, after the facts).
I also notice those notify events. when wm6 is running the file mxipnotify.vol can't be copied out or else we can replace with a clean one while rebuilding rom. can we use the safe mode of spb pocket plus?one more thing, i am wandering how the ceipui.exe be removed from what you call ''shell module'', could i get some hints pls? thnx!
Just an idea. Would it be possible to build some sort of firewall (or such things already available) on the PPC that controls what process or address signals can be sent?
huangyz said:
I also notice those notify events. when wm6 is running the file mxipnotify.vol can't be copied out or else we can replace with a clean one while rebuilding rom. can we use the safe mode of spb pocket plus?one more thing, i am wandering how the ceipui.exe be removed from what you call ''shell module'', could i get some hints pls? thnx!
Click to expand...
Click to collapse
Sorry huangyz,
I should have written Shell package and not module.
When you extract the files of the ROM (with imgfs tools), you can then run dmp2pkg (found in the Scoter Kitchen and other kitchen). I will re-create the different packages under the SYS and OEM directories.
Under SYS you have all the OS packages, and among them one called Shell.
More info about the Scoter kitchen on: http://buzzdev.net/
--eluth.
thanks, eluth
i see you in buzzdev.net
it seems that pkgtool should be used under VisualStudio which not installed on my pc.
so, just imagine i can do that...:lol:
thanks again for your hints.
I've "fixed" it.
I replace the mxip_notify.vol in the WM6 dumped ROM with another one from TMO2.26 WWE shipped ROM, no more ceipui again. :lol:
now what I've removed from the WM6 ROM are:
1, catalog module (marketplace) and all its reg keys
2, sqm related modules and all its reg keys, include one in HKLM\INIT
3, ceipui.exe module and the notifications originated by mxip_notify.vol
It seems CLEAN and my device runs smooth enough now
the mxip_notify.vol from TMO WM5 ROM is put here for convenient reference.
after extract, don't forget to rename it to mxip_notify.vol when cooking ur own ROM.
huangyz said:
thanks, eluth
i see you in buzzdev.net
it seems that pkgtool should be used under VisualStudio which not installed on my pc.
so, just imagine i can do that...:lol:
thanks again for your hints.
Click to expand...
Click to collapse
edit:
just patch XP with .net framework 2.0 redistributable pack and the pkgtool runs fine.
huangyz said:
the mxip_notify.vol from TMO WM5 ROM is put here for convenient reference.
after extract, don't forget to rename it to mxip_notify.vol when cooking ur own ROM.
Click to expand...
Click to collapse
Thanks huangyz,
I did the same. It works quite well.
I think this closes this thread.
--eluth.
Great research Let's hope the .vol holds out on a touch.
I'm crossing my finger using this mxip_notify on my touch gehehehe, let's see if it breaks something.
so, for removing sqm:
1. edit Shell\mxip_notify.vol (del ceipui references)
2. delete Shell\ceipui.exe
3. delete sqm\* except custstat.dll .dsm .rgu
and may pack

[PRJ][ROM][KITCHEN]o.r.e.e. wwe v3.07.720.05 [2008-11-09]

Open.
Rom.
Elf/In.
Edition.
v3.07.720.05
​The Bases of the ELF/IN kitchen based on the last HTC ELFIN wm 6.1 build.
It works on ELF but expect little space left.
But at the very least this should give everyone an impression of the eas of Cooking and Flashing your own Modified Rom this Kitchen will have for those not that familiar with the hardcore part.
This is a Community project, meaning that Core modifications to the OS, packages, XIP can be added by anyone.
Recommended and Submitted packages will need New Unique DSM files, preferably handmade (not throughErvius Package creator unless the DSM file is remade). These should then be populated without the option.xml file and initflashfiles.txt. I will then add the option.xml value to the main option.xml file.
Myself i will be mostly concentrating on getting all dutch 0413 packages in therefor multi language support and making a vanilla version and adding all that is needed to make it similar to the Surface Rom.
As always be sure you have the Latest Unlocked Hard SPL. (working with 2,26 on my Elf works but read that 3.0 is better on ELFIN)
Needed: OS.nb.payload from 3.0 (ATM moment it's using Bepe's original OS.nb.payload)
Changelog
>>=IN <<=OUT​
>> (v3.07.720.04) Made HTC Volume into regular Service and since it's a constant running service, made it into Modules. Added Dutch MUI file and set to disabled by Default.
>> (v3.07.720.05) Moved RtspHandler.dll to StreamingSourcefilter package, Updated, voFltRTSP.dll Added registry settings to eb139d20-aafa-11dd-ad8b-0800200c9a66. Streams should now open in WMP without the need to Include Streaming Media PLayer app, which therefore is disabled by Default.
<< (v3.07.720.05) Removed PegHelp,
>> (v3.07.720.05) Added Mort and AppToDate Moved Templates to MortZip inStall, added updated Provider Setup with multiple options (Slim and Auto)
>> (v3.07.720.06) Added DSIXDA's Payload
<< (v3.07.720.06) Removed ULDR partition with great guide from HTCTouchP
>> (v3.07.720.06) Replaced biotouch.dll with an older one posted by DSIXDA
Downloads
Versions:
O.R.E.E v3.07.720.04
O.R.E.E v3.07.720.05
Downloads
Working with Mort installation in the Rom.
Link creation is not done by modifying the initflashfiles.dat/txt
Inside the package add a line to the RGU.
Code:
[HKEY_LOCAL_MACHINE\Software\Mortinstall\LNK] "YouTube0409.lnk"=dword:1
Or
Code:
[HKEY_LOCAL_MACHINE\Software\Mortinstall\LNK] "YouTube0413.lnk"=dword:1
This will then correspond to lines in the SPC.mscr
Code:
if (RegRead( "HKLM", "Software\Mortinstall\LNK", "YouTube0413.lnk" ) eq 1)
CreateShortcut("\Windows\Startmenu\Programma's\MultiMedia\YouTube.lnk","\Windows\YouTube.exe")
Else
EndIf
if (RegRead( "HKLM", "Software\Mortinstall\LNK", "YouTube0409.lnk" ) eq 1)
CreateShortcut("\Windows\Start Menu\Programs\MultiMedia\YouTube.lnk","\Windows\YouTube.exe")
Else
EndIf
Or a more complex installation script
Code:
if (RegRead( "HKLM", "Software\Mortinstall\LNK", "Google Maps.lnk" ) eq 1)
MkDir("\Application Data\GoogleMaps")
UnzipAll( "\Windows\GMM.zip", "\Programmabestanden" )
MkDir("\Windows\Startmenu\Programma's\Contacten")
MkDir("\Windows\Startmenu\Programma's\GPS")
CreateShortcut("\Windows\Startmenu\Programma's\GPS\Google Maps.lnk","\Programmabestanden\GoogleMaps\GoogleMaps.exe")
CreateShortcut("\Windows\Startmenu\Programma's\Contacten\Google Maps.lnk","\Programmabestanden\GoogleMaps\GoogleMaps.exe")
CreateShortcut("\Windows\Appbuttons\Google Maps.lnk","\Programmabestanden\GoogleMaps\GoogleMaps.exe")
Copy( "\Programmabestanden\GoogleMaps\strings-all.zlb", "\Application Data\GoogleMaps\strings-all.zlb" )
Delete( "\Programmabestanden\GoogleMaps\strings-all.zlb" )
Else
EndIf
This gives maximum leverage to create the cleanest possible Rom Cooking and eliminates some of the applications HTC has been adding to roms to do the same.
As all these operations run at second boot, the chance of ProvXML files interfering can be ignored.
Also it gives the alternative of doing something else if the registry setting is not found.
Code:
if (RegRead( "HKLM", "Software\Mortinstall\LNK", "CommManager.lnk" ) eq 1)
CreateShortcut("\Windows\Startmenu\Programma's\CommManager.lnk","\Windows\CommManager.exe")
CreateShortcut("\Windows\Appbuttons\CommManager.lnk","\Windows\sddialer.exe")
Else
WriteFile("\Windows\Startmenu\Programma's\CommManager.lnk", "99#""\Windows\wrlsmgr.exe""?shellres.192.dll,-13999")
WriteFile("\Windows\Appbuttons\CommManager.lnk", "99#""\Windows\wrlsmgr.exe""?shellres.192.dll,-13999")
EndIf
Besides just the shortcut creation a whole lot else can be done.
Like adding different Registry entries if a specific app is not present etc etc.
this is one project i m gonna enjoy visiting regularly.
ps: if this post is in the way....delete it.....ur the MOD bro
Visiting....?
I heard you where going to Fix it
Noonski said:
Visiting....?
I heard you where going to Fix it
Click to expand...
Click to collapse
then FIXING it is bro
Start
This looks good. Thanks for that Noonski.
Hey Noonski,
Just a heads up -- the Task Manager OEM for this new Elfin ROM has a bug.
If you try to close a task (in the X-Button Task Manager) while the ActiveSync task is open, it will also close the ActiveSync, but the other tasks are untouched.
I don't know if it's a registry issue or not, but I went back to the Opal Task Manager and that one is fine.
dsixda said:
Hey Noonski,
Just a heads up -- the Task Manager OEM for this new Elfin ROM has a bug.
If you try to close a task (in the X-Button Task Manager) while the ActiveSync task is open, it will also close the ActiveSync, but the other tasks are untouched.
I don't know if it's a registry issue or not, but I went back to the Opal Task Manager and that one is fine.
Click to expand...
Click to collapse
Good in that case i will switch it with the Diamond Magic Taskmanager and remove the 64png files that are not needed on QVGA, (Edit, it does need the graphics)
I'll check the Bug thanks.
This ROM is also missing the Task Manager in the Program shortcuts. Same goes for Backlight and Key Lock in Settings.
I can add all of them manually, no problem. But if I try to cook the Task Manager shortcut, it doesn't work!! I'm trying to put it into an initflashfiles.txt file like this, but it won't work:
Directory("\windows\start Menu\programs"):-File("Task Manager.lnk","\windows\TaskMgr.lnk")
Doesn't get copied to the Start Menu Programs even though TaskMgr.lnk exists under Windows.
dsixda said:
This ROM is also missing the Task Manager in the Program shortcuts. Same goes for Backlight and Key Lock in Settings.
I can add all of them manually, no problem. But if I try to cook the Task Manager shortcut, it doesn't work!! I'm trying to put it into an initflashfiles.txt file like this, but it won't work:
Directory("\windows\start Menu\programs"):-File("Task Manager.lnk","\windows\TaskMgr.lnk")
Doesn't get copied to the Start Menu Programs even though TaskMgr.lnk exists under Windows.
Click to expand...
Click to collapse
Does the same happen after removing
Directory("\Windows\Start Menu\Programs"):-File("\x0054\x0061\x0073\x006B\x0020\x004D\x0061\x006E\x0061\x0067\x0065\x0072\x002E\x006C\x006E\x006B","\Windows\TaskMgr.lnk")
From initflashfiles.dat?
[HKEY_LOCAL_MACHINE\ControlPanel\MyCpl\41]
"Name"="KeyLock"
"Description"="KeyLock"
"File"="Keylock.exe"
"CmdLine"=""
Might do the trick for any missing control panel applet.
And if it's the HTC taskmanager you mean it might be that the DSM fille need to be recreated correctly.
As with the Diamond ORDE kitchen initflashfiles will be not needed anymore.
And ah i also found
mxipupdate_zzRemoveTSKmgr_1.provxml
Option.XML
This kitchen will eventually have only one option.xml file.
This is so that when it is finished Users can post their own personal option.xml file.
So there can be an Option.xml file that is clean, full, Dutch, English, etc etc.
It's a basic function from BuildOS that hasn't been used that much anymore.
Updated version coming up...... with an example of this option.xml file method.
Taskmanager problem is solved and also Taskmanager seems to close Active Sync correctly.
But somehow Taskmanager is not starting Connectionsetup automaticly like it does on Diamond.
Also removed the OperaPreL.exe from Bootlauncher startup.
But it looks like i will be needing to send my ELF for Repair. The screen is getting harder and harder to react to presses in the Middle.
Fortunately i have lost my fear of Blind Cooking
Remote Tracker
In the Next version Remote Tracker will be included.
It is set to copy it's configuration file from the Storage Card\Cabs folder.
Even if a User is not using UC.
the configuration file can also be cooked in by adding it to the Package in the Kitchen.
Basicly what Remote tracker does is send an SMS to a predefined number when the SIM card is switched. (you can then also send an SMS to make your phone call you so you can listen in on where ever the phone is)
That should teach the person that finds or steals our precious not to return it.
More info on remote trakcer can be found here:
http://forum.xda-developers.com/showthread.php?t=412433
Remote trakcers file take less space then a Cab and does not leave behind the cab that Windows Mobile makes to uninstall it.
It does also come with AppToDate support.
Code:
if (RegRead( "HKLM", "Software\Mortinstall\LNK", "RT0409.lnk" ) eq 1)
UnzipAll( "\Windows\RTC.zip", "\Program Files" )
CreateShortcut("\Windows\Start Menu\Programs\GPS\Remote Tracker.lnk","\Program Files\RTConfig\RTConfig.exe")
CreateShortcut("\Windows\Start Menu\Programs\GPS\Remote Tracker Test.lnk","\Program Files\RTConfig\RTTest.exe")
CreateShortcut("\Windows\Startup\Phone Activation.lnk","\Program Files\RTConfig\SMSLauncher.exe")
Copy( "\Program Files\RTConfig\remotetracker.xml", "\Application Data\AppToDate\remotetracker.xml" )
Copy( "\Program Files\RTConfig\RemoteTracker.ico", "\Application Data\AppToDate\RemoteTracker.ico" )
Copy( "\Intern Geheugen\rt.dll", "\Program Files\RTConfig\rt.dll" )
Copy( "\Internal Storage\rt.dll", "\Program Files\RTConfig\rt.dll" )
Copy( "\Storage Card\Cabs\rt.dll", "\Program Files\RTConfig\rt.dll" )
Copy( "\Opslagkaart\Cabs\rt.dll", "\Program Files\RTConfig\rt.dll" )
Delete( "\Program Files\RTConfig\remotetracker.xml" )
Delete( "\Program Files\RTConfig\RemoteTracker.ico" )
Else
EndIf
I noticed the Elfin version of Task Manager has this:
Code:
[HKEY_CURRENT_USER\Software\HTC\BootLauncher\Services\TaskManager]
"Module"="\\windows\\taskservice.DLL"
"Prefix"="TMX"
"Index"=dword:00000000
"Info"=dword:00000000
"Order"=dword:00000000
And the Opal version has this instead:
Code:
[B][HKEY_LOCAL_MACHINE\Services\TaskManager][/B]
"Module"="\\windows\\taskservice.dll"
"Prefix"="TMX"
"Index"=dword:0
"Info"=dword:0
"Order"=dword:0
[B]"DLL"="\\windows\\taskservice.dll"[/B]
Is there an advantage of one over the other?
Also, I agree with you about removing OperaPreL... Opera Mobile starts up fine without it.
Noonski said:
This kitchen will eventually have only one option.xml file.
This is so that when it is finished Users can post their own personal option.xml file.
So there can be an Option.xml file that is clean, full, Dutch, English, etc etc.
It's a basic function from BuildOS that hasn't been used that much anymore.
Updated version coming up...... with an example of this option.xml file method.
Taskmanager problem is solved and also Taskmanager seems to close Active Sync correctly.
But somehow Taskmanager is not starting Connectionsetup automaticly like it does on Diamond.
Also removed the OperaPreL.exe from Bootlauncher startup.
But it looks like i will be needing to send my ELF for Repair. The screen is getting harder and harder to react to presses in the Middle.
Fortunately i have lost my fear of Blind Cooking
Click to expand...
Click to collapse
dsixda said:
I noticed the Elfin version of Task Manager has this:
Code:
[HKEY_CURRENT_USER\Software\HTC\BootLauncher\Services\TaskManager]
"Module"="\\windows\\taskservice.DLL"
"Prefix"="TMX"
"Index"=dword:00000000
"Info"=dword:00000000
"Order"=dword:00000000
And the Opal version has this instead:
Code:
[B][HKEY_LOCAL_MACHINE\Services\TaskManager][/B]
"Module"="\\windows\\taskservice.dll"
"Prefix"="TMX"
"Index"=dword:0
"Info"=dword:0
"Order"=dword:0
[B]"DLL"="\\windows\\taskservice.dll"[/B]
Is there an advantage of one over the other?
Also, I agree with you about removing OperaPreL... Opera Mobile starts up fine without it.
Click to expand...
Click to collapse
Well, NFSFAN found that less memory was used using Bootlauncher.
But i haven't seen any real differences.
But it might lesson the strain after rebooting when the memory usage goes up in the beginning by using Bootlauncher.
The Opal version actually also was run through Bootlauncher but i remember putting that back to a service, looks like before i was 100% sure that it needed to be. (looks like your using an early version of my package)
Code:
[HKEY_LOCAL_MACHINE\Services\TaskManager]
"Prefix"="TMX"
"Index"=dword:0
"Info"=dword:0
"Order"=dword:0
"DLL"="taskservice.dll"
Both methods will allow you to time when it is started up with a hex value in the order filed.
The biggest gain for HTC is that they have more control with Bootlauncher when an app or service is launched.
another variable they might use in Bootlauncher method is
"Keep"=dword:00000001
Whatever that is meant to do.
Noonski said:
Well, NFSFAN found that less memory was used using Bootlauncher.
But i haven't seen any real differences.
But it might lesson the strain after rebooting when the memory usage goes up in the beginning by using Bootlauncher.
Click to expand...
Click to collapse
Shall I just swap the Bootlauncher stuff into the Opal one? Do you recommend using Bootlauncher?
Noonski said:
Does the same happen after removing
Directory("\Windows\Start Menu\Programs"):-File("\x0054\x0061\x0073\x006B\x0020\x004D\x0061\x006E\x0061\x0067\x0065\x0072\x002E\x006C\x006E\x006B","\Windows\TaskMgr.lnk")
From initflashfiles.dat?
Click to expand...
Click to collapse
Funny, I searched for "Task" in that file and didn't see that until you mentioned it. WHy do they have an ASCII representation of the file?
dsixda said:
Shall I just swap the Bootlauncher stuff into the Opal one? Do you recommend using Bootlauncher?
Click to expand...
Click to collapse
Well most apps that start trough Bootlauncher start at the beginning just like regular services.
In the end it is just another app that starts up, to do what WM already can do without it. So to me it falls under the Double and unneeded files.
It is run just before the services.exe in the HKLM\INIT values
and if it is run after the services it will not do it's job.
I'm not convinced it makes anything better.
I think more gain can be had by converting .dll files that run as services to modules to get more stable memory and quicker start ups.
(If it's constanly running then why not give it a fixed place in memory)
dsixda said:
Funny, I searched for "Task" in that file and didn't see that until you mentioned it. WHy do they have an ASCII representation of the file?
Click to expand...
Click to collapse
If your refering to the provxml file, i also found it funny that there where some provxml files in ASCII and others in Unicode.
I don't know what is up with that.
Noonski said:
I think more gain can be had by converting .dll files that run as services to modules to get more stable memory and quicker start ups.
(If it's constanly running then why not give it a fixed place in memory)
If your refering to the provxml file, i also found it funny that there where some provxml files in ASCII and others in Unicode.
I don't know what is up with that.
Click to expand...
Click to collapse
No I'm referring to OEM_LANG_0409/initflashfiles.dat .. I'll change it the "normal" name.
Also, do you have a good guide on converting DLLs to modules?

Question for ROM cooks - possible to change system folders?

Advanced Config has a section for setting new values for "My Documents", "My Ringtones", etc. but many of them don't actually work.
I'd love to be able to use "\Donny" instead of "\My Documents", etc.
Call it irrational, but I *HATE* the Windows defaults of "My [whatever]". I always change them (via the registry) on my desktop/laptop PCs, and it drives me nuts that I can't do it in WM.
So, is it possible during the ROM cooking process to make such changes? Or are they simply hard-coded into the WM OS.
If they're hard-coded, is it in a single DLL? (That I could maybe hack with a hex editor?)
These are all variables that you can control at the time of cooking, by editing various .rgu's in the system folder. Look to the folders with Lang or 0409 (or your regional code) in the name, as these are the language-localization strings.. all folder names are considered language-localized as "My Documents" is obviously different in each language
Use a text editor that supports unicode such as EmEditor to edit these .rgu's.
Hope it helps!
That's AWESOME! I've been looking for a reason to start cooking... now I have one!
One follow-up question, if I may...
Instead of hard-coding the values, can you tell it to look in the registry (so the "Shell" entries actually work)?
Thanks for the reply!
The .rgu's represent the registry as it's compiled by the ROM kitchen, so editing the .rgu's will have the same effect as editing the registry.
Da_G said:
The .rgu's represent the registry as it's compiled by the ROM kitchen, so editing the .rgu's will have the same effect as editing the registry.
Click to expand...
Click to collapse
Not sure if you're missing my point or if I'm not understanding you.
If the .rgu's represent the registry as it's compiled then the locations for My Documents, Program Files, etc. would all be hard coded in the ROM, and once again, changing the settings in HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders won't actually do anything. Right?
So, I'm asking if there's a way to put some sort of magic pointer (or maybe leave it blank?) to say, "If you want to know the location of 'My Documents', check the registry settings at HKCU\....\Shell Folders"

Categories

Resources