Log in

View Full Version : Relocating Pocket Informant entirely (!) from the main memory


Menneisyys
08-04-2005, 03:05 PM
A lot of people have been using Pocket Informant (PI). As its main memory consumption is quite big (2.44 Mbytes – I’m referring to the latest version (PI 2005) (http://www.pocketinformant.com/)), even if you install it to an alternative media (taking up 539k by default), you may find it beneficial to relocate it to alternative storage.

Please note that ctitanic’s PItoMem (http://www.tweaks2k2.com/PItoMem.htm) utility is doing the relocation quite well. If you don’t install the icon pack, you will find it sufficient. It, however, only relocates DLL’s (see bullet 1 below; it leaves PINewJournal.dll intact, however) and doesn’t touch, for example, the registry to relocate the \My Documents log/settings directory entirely. Therefore, you may want to follow my tutorial, particularly if you install the additional packs in the PI distribution setup package. You may also want to use PItoMem to modify the system path and copy (some of) the DLL’s and do the rest by hand; then, just skip the first bullet below.

1, you can safely move the five PINew*.dll’s (7k each), PIResources.dll (406k) and PITools.dll (1142k) to the so-called “System Path”. Please read this (http://www.ipaqhq.com/forums/showthread.php?t=20051) thread on what System Path is and how you can extend it. Note that with PI you won’t need to deregister any DLL’s in order to be able to move them because they are not started as always-running services, unlike with the case of Spb Pocket Plus, the app discussed in the linked article.

2, if you don’t want to read the PI help, you can also free up 261k by deleting \Windows\PocketInformant.htm; you may also want to relocate it so that you can still click it later to read. It doesn’t link images, so, you won’t need to hunt for help images.

3, move \My Documents\WebIS (it contains 372 files (totalling 270k), which isn’t particularly healthy on WindowsCE, speed-wise (http://www.pocketpcthoughts.com/forums/viewtopic.php?t=36376)) to a storage card. This will require two modifications in the Registry. You’ll need to modify both

HKEY_CURRENT_USER\Software\WebIS\PocketInformant\IconPath

(this stores the icons you can choose in, say, Tools/Attach Icon)

and

HKEY_CURRENT_USER\Software\WebIS\PocketInformant\WebIS_Folder

to point to the new location. Just insert the name of your card/file store name before \My Documents in these values.

After these modifications, both the log/settings files PI creates (ExitLog.txt etc) will be created at the new position and the contents of other directories will be found – for example, those of \ColorSchemes (see the PI icon/Color Schemes menu).

If you need some screenshots on the registry modification, feel free to click these screenshots (not directly included because most of you will already know what to change):

1 (http://www.winmobiletech.com/082005PocketInformantRelocate/PIRelocateIconDirInRegistry-1.gif.png), 2 (http://www.winmobiletech.com/082005PocketInformantRelocate/PIRelocateIconDirInRegistry-2.gif.png), 3 (http://www.winmobiletech.com/082005PocketInformantRelocate/PIRelocateIconDirInRegistry-3.gif.png), 4 (http://www.winmobiletech.com/082005PocketInformantRelocate/PIRelocateIconDirInRegistry-4.gif.png).

You may also want to read this (http://pocketpcmag.com/forum/topic.asp?TOPIC_ID=16508) thread for my quick comparison of the registry editors on the PPC, if you’re unsure about which registry editor to use.

4, if you want to move the 99k \Windows\PITab.exe to the new location, you will also need to modify the link targets in all of the link files in \Windows\Start Menu\Programs\Informant Utils\ link files; all of them, except for Create Alarm Note.lnk.

For example, PICalendar.lnk contains the following initially:

47#"\Windows\PITab.exe" 11?\Windows\PITab.exe,-111

in this, you need to change \Windows to the new path; for example,

99#"\LOOXStore\PI\PITab.exe" 11?\LOOXStore\PI\PITab.exe,-111

(note the new 99 at the beginning; you may want to raise it even to 255 to avoid partly passed parameters, just to be on the safe side.)

If you also want to relocate the 14k \Windows\PIAlarmNoteCreate.exe, edit Create Alarm Note.lnk too to point to the new location.

5, to relocate the 30k-long PISettings.dat (it’s invoked by clicking the PI icon and choosing Settings), you’ll need to hexedit PIControlPanel.dll; the name is stored from position 0xd8ca.

Before:

http://www.winmobiletech.com/082005PocketInformantRelocate/PIRelocate-PISettingsDatRelocate-1.bmp.png

After:

http://www.winmobiletech.com/082005PocketInformantRelocate/PIRelocate-PISettingsDatRelocate-2.bmp.png

Please read this (http://www.firstloox.org//forums/showthread.php?p=35348) thread on using hex editors and for naming tips (you’ll shorten the original name, PISettings.dat; in the example, I’ve renamed it to stngs.dat. It can even have a 1-letter-long name and/or doesn’t even need to be located in a subdirectory (here, PI in the root of my \LOOXStore).

6, you may also want to relocate the .unload file(s) and \Windows\AppMgr\WebIS Pocket Informant 2005.DLL. You may also want to read this (http://www.pocketpcthoughts.com/forums/viewtopic.php?p=357766) thread for more information on this subject.

Congratulations! You’ve freed up 2.44 Mbytes! :D

pivaska
08-04-2005, 05:25 PM
I use PI all of the time and always have. Why doesn't PI just make the program so you can have it on removable storage as an install option or is this a rehtorical question?

Menneisyys
08-04-2005, 06:00 PM
I use PI all of the time and always have. Why doesn't PI just make the program so you can have it on removable storage as an install option or is this a rehtorical question?

Well, the same can be asked about almost all the other apps that put hundreds of kilobytes in the main RAM... These apps could be written to automatically take advantage of the File Store if they detect one.

Menneisyys
08-05-2005, 11:41 AM
Some important additions:

- I’ve tested this on the latest, 2.1 version of PI2005.

- the relocations/deletions above are completely independent of each other. You may, for example, opt for not relocating \Windows\PITab.exe (bullet 4) or \Windows\PISettings.dat because of the hurdles (regstry/link file editing and hexediting, respectively) involved. Then, you “only” lose 130-140 kbytes.

- MemMaid (http://www.geekzone.co.nz/content.asp?contentid=2977), probably the best all-in-one memory relocation/cleaning utility, is also able to move most of the DLL’s. However, it doesn’t relocate PINewJournal.dll either, just is the case with ctitanic’s PItoMem (http://www.tweaks2k2.com/PItoMem.htm). Seemingly, these two applications have been written for a previous version where still there wasn’t PINewJournal.dll. (I couldn’t find any other reason for this because relocating it didn’t result in any misfunction.)

- If you relocate the 99k \Windows\PITab.exe to the new location, you’ll also need to modify the following three registry values:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai\:MSCALENDAR\1]

(default value \Windows\PITab.exe 11),

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai\:MSCONTACTS\1]

(\Windows\PITab.exe 9) and

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai\:MSTASKS\1]

(\Windows\PITab.exe 8)

so that both the Today plug-in links and the pre-defined Calendar/Tasks/Contacts link in the Start menu will also live.

mziboti
08-27-2005, 04:29 PM
Hi

Many thanks for this great info.
However, just tested it on my Hx4700 and mini O2, and have some
feedback for you.

Hx4700:
I first tried to move the DLLs (point 1) but the application has stoped working, and it was impossible to execute. I have noticed that when I move PIResources.dll and PITools.dll to SD card, I have two other files with the same name in the \Windows folder .... Strange !!!! I tried to rename the two DLLs but couldn't. Message: could not delete PIResources.dll !!!!!!!!!!! Any idea ?

on the O2, everything went great, except sometime i have the "cannot execute PINotification.exe" message. the SD card must not be available immediately upon wakeup, so the PINotification.exe app can't load the PITools.dll......

Anyway, thanks for all your hints and articles.

Cheers
Mick

Menneisyys
08-27-2005, 04:40 PM
Hx4700:
I first tried to move the DLLs (point 1) but the application has stoped working, and it was impossible to execute. I have noticed that when I move PIResources.dll and PITools.dll to SD card, I have two other files with the same name in the \Windows folder .... Strange !!!! I tried to rename the two DLLs but couldn't. Message: could not delete PIResources.dll !!!!!!!!!!! Any idea ?


The hx4700 has PI in ROM (or, if you upgraded it, in RAM, but in a, for me, unknown configuration - I haven't tested relocation on the hx4700 yet), this is why it won't work. Neither does ctitanic's PItoMem v1.2.0 (which relocates the same DLL's) work with the hx4700; again, for the reasons outlined above.

on the O2, everything went great, except sometime i have the "cannot execute PINotification.exe" message. the SD card must not be available immediately upon wakeup, so the PINotification.exe app can't load the PITools.dll......

Only relocate boot-time stuff to the File Store because it's the only alternative memory available at boot time.

mziboti
08-27-2005, 04:43 PM
Many thanks for your prompt reply
tu es un Chef ;-)

Cheers,
Mick

Menneisyys
08-27-2005, 04:45 PM
Many thanks for your prompt reply
tu es un Chef ;-)

Cheers,
Mick

You're welcome, and thanks :)

alatmeth
01-09-2006, 08:49 AM
Dear menneisyys,

I am running PI 2005 Rev4 Build 492 and PocketBreeze 5.0 (11/01/2005). I have used tweaks2k2 to create a extended system path in my storage and moved "PITools.dll" (1182K) to it. I don't see any other PI*.dll in my Windows directory. (might be due to version difference)

The problem is with the integration of PocketBreeze. Before the relocation of the DLL files, after setting the PIM to PI in the PocketBreeze setting, I could open/edit my appointments direct from the today screen, even when PI is not loaded into the memory. (PI will auto-start itself and unload after its done) After moving the DLL, however, nothing happens when I try to open/edit the appointments unless I keep PI running in the background. May I know what's the cause and how to fix it?

Also, I am quite curious about WM5's lnk structure.
47#"\Windows\PITab.exe" 11?\Windows\PITab.exe,-111

Like what's "47#"? What's "-111"? I tried searching but found nothing.

I've been reading most of your wonderful tutorials and I am really glad we have such a guru on board here.

Thanks.