This site is no longer active and is available for archival purposes only. Registration and login is disabled.

Relocating CalliGrapher from the main memory – free up 1.2Mb

Relocating CalliGrapher from the main memory – free up 1.2Mb

Postby Menneisyys » Jul 11, 2005 @ 8:26pm

The files the CalliGrapher install installs into \Windows total at 1.2 Mbytes and can all be either relocated to the so-called “System Path” (more on this later), that is, to, say, the built-in File Store; or removed. This is certainly welcome news for most Calligrapher users, especially for those that have a 32/64Mbyte ROM device.

This post applies to 8.0beta (you can participate in the beta testing program at and download the unrestricted (it only has a date expiry lock) beta for free. Make sure you install it to alternative media (File Store/ a memory card) and not in the RAM.) users and, most probably, to 7.x users too.

Second, get a Registry Editor with searching capabilities. For example, both the commercial Resco Registry Editor ( ) and the free PHM Registry Editor ( ) will do (please read for more info on the registry editors available).

Look for the string “CgrSipStub.dll” inside the registry editor; the second hit (the InprocServer32 key) – that is, not the first, DefaultIcon – will be the one you need to edit:


Click the value to edit and, say, enter a leading ‘A’ letter in front of the string CgrSipStub.dll. This can be anything; it’s just that you need to add some characters to the name so that the system won’t be able to find it after the next boot:


Save and exit; reset (reboot) your device.

Now, if you’ve already created a System Path in your PDA, you can just move the following DLL’s from \Windows to it:

595,456 CgrImages.dll
21,504 CgrSipLite.dll
307,200 CgrSipStub.dll
11,264 MacroUsr.dll
92,672 PenMacro.dll

If you haven’t set up your System Path yet, you may want to do it now.

System Path is the path where the system looks for DLL’s. It’s something like the ‘PATH’ variable in other operating systems, but a bit more dumb (for example, you can only put DLL’s in these directories; other kinds of files won’t be recognized by the system. For example, you can’t relocate help HTML files in there – they are also located in \Windows by default).

By default, Windows looks for DLL’s in \Windows, which is located in main memory. Therefore, any program that copies DLL’s to \Windows will result in reduced RAM size. By adding new directories to the System Path, you can effectively move \Windows DLL’s out of main memory.

The easiest way of modifying System Path is . Upon enabling DLL relocation (DLL optimizer in the 4th tab), it both extends the registry key that stores the so-called System Path ([HKEY_LOCAL_MACHINE\Loader\SystemPath] ) and creates a shared DLL directory at \DLL Store in your File Store. (Incidentally, the latest version(s) of MemMaid also know one of the CalliGrapher DLL’s, CgrImages.dll, as safe to relocate.)

If you go for the manual way of setting up your DLL store in your File Store, get your registry editor again and go edit [HKEY_LOCAL_MACHINE\Loader\SystemPath] . Just add a new row to it, now, pointing to the new directory (make sure you also create it!) you want to move your DLL’s to. An example of the values of this key:


As you can see, it’s a multi-line value. You can freely add (or, for that matter, delete the unnecessary path information) any absolute directory paths to it. As can be seen, MemMaid has added two lines, while I added two other (the first two), one pointing to a CrEme subdirectory, the other pointing to a subdirectory named ‘dlls’ in my Loox File Store.

When you’re ready with setting up the System Path, you can move the five above-listed DLL’s from \Windows to the File Store. Use for example for this purpose.

Once you’re done, you will want to reset the InprocServer32 value you’ve modified in the registry to its original value (that is, in our example, we just remove the leading ‘A’ from before it). Then, reset your device.

Yes! You’ve done it – you’ve moved off 1004 kbytes off the main memory!

Some other optimizations

CalliGrapher.htm, the help file for CalliGrapher in \Windows, links 70 cgr*.bmp files in \Windows, totalling 81 kbytes. The next step will be eliminating these files – don’t forget that all flawors of the WindowsCE operating system (including Windows Mobile) , along with, of course, CalliGrapher.htm. (You can also move them to a storage card if you want to browse the help file later.)

Also, you can move CgrStart.exe (removing it doesn’t seem to have effect on how CalliGrapher works) and even CgrCpl.cpl (you can put it on a storage card and when you want to access the settings options inside it, just click it in there).

Please note that I’ve also written some other articles giving similar relocation advice:

pm Member
Posts: 207
Joined: Dec 19, 2004 @ 5:38pm

Return to Windows Mobile

Forum Description

General Windows Mobile discussion for end-users. Hardware, software, etc. This is also the forum to post your product announcements and other news.


Dan East, sponge, Kevin Gelso, RICoder, Chris Edwards

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum