Closed Bug 182423 Opened 22 years ago Closed 22 years ago

uninstalling address book conduit clears Palm user account list

Categories

(MailNews Core Graveyard :: Palm Sync, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: liblit, Assigned: cavin)

References

Details

Attachments

(1 file, 2 obsolete files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2) Gecko/20021126
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2) Gecko/20021126

After experimenting with the Address Book HotSync conduit for a while, I decided
to switch back to the standard Palm Desktop conduit.  I used the "Address Book
Palm Sync Uninstall" shortcut, then tried to bring up the HotSync Manager's
"Custom" dialog to verify that the standard conduit had returned.

Much to my surprise, the manager reports that "There are no users in the
database."  Similarly, the main Palm Desktop application now presents me with a
"Users" dialog box offering a list of zero users.

Reproducible: Didn't try

Steps to Reproduce:
1. Install Mozilla's AB HotSync conduit.
2. Perhaps do a few HotSyncs
3. Uninstall Mozilla's AB HotSync conduit using the "Address Book Palm Sync
Uninstall" shortcut.
4. Bring up HotSync Manager's "Custom" dialog or launch Palm Desktop
Actual Results:  
HotSync Manager reports that "There are no users in the database."

Palm Desktop presents a "Users" dialog box offering a list of zero users.

Expected Results:  
Both Palm applications should have remained aware of the single Palm user which
was previously known to this system.

If anyone has any advice about how to remind the Palm software that I exist, I'd
be most grateful.  My user-specific data directory under C:\Palm still exists,
so my data must still be there.  It just looks like some user registry list has
been clobbered.
Oops, I neglected to state earlier that quitting and restarting the HotSync
Manager had no effect.  User list remains empty.  :-(
I've found an important clue.  If I try to create a new Palm user, that user's
personal Palm data directory is created under "C:\Program
Files\mozilla.org\Mozilla", instead of "C:\Palm".  Two new files,
"SerialSync.txt" and "users.dat", also appear in "C:\Program
Files\mozilla.org\Mozilla".  These are Palm data files and should also be in
"C:\Palm", not in Mozilla's area.

I hunted around inside the registry for a bit and found a suspicious registry
key:  under [HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\Core], key
"Path" had been set to "C:\Program Files\mozilla.org\Mozilla".  I manually
changed this to "C:\Palm" and everything was back to normal.  My original Palm
user was back, with all of its proper data files.  Yay!

So then.  The bug appears to have been caused by AB conduit removal setting
[HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\Core]'s "Path" key to
point into Mozilla's directory.  Why is it doing this?  Should it just leave
this registry key alone?
Thanks very much Ben for your investigation. The Uinstall code uses the Palm's
Conduit Manager APIs to do the uninstall but it looks like they dont correct
this registry key value to point to the previous value. Maybe the Mozilla Palm
sync install code should save specifically this registry key value before
installing Mozilla Palm sync conduit and Uninstall code should replace with that
saved value.
Rajiv, I understand what you're saying about the fact that the uinstall code
uses the standard Palm APIs.  But the weird thing is that the changed Path does
not appear at AB conduit install time.  After installing, Path is still C:\Palm,
just as before.  It's only once the conduit is uninstalled that the changed Path
shows up.  So I'm not convinced that this is a simple matter of Palm's API
changing something at install time and forgetting to revert it back at uninstall.

Strange.  What in the world do Palm's APIs think they are doing here?
Hmm.. i will take a look.
I have unfortunately also seen this behavior when running a full uninstall of
Mozilla 1.2 (Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2)
Gecko/20021126).
George that is because the Mozilla full uninstall calls into Palm sync uninstall.
Well, I just wrote this for bug #183227, which is a dupe of this bug. (Comment #13)

I have gone through the rigamarole, and this is an UNSTALLATION problem!

I uninstalled my Moz 1.2, and checked the registry at
HKEY_USERS\S-1-5-21-746137067-1383384898-1202660629-1000\Software\U.S.
Robotics\Pilot Desktop\Core\Path and found it set to D:\TEMP\ns_temp (my
%TEMP%\ns_temp).  I changed this value back to D:\Program Files\Palm.  Palm
Desktop works fine.  I reinstalled 1.2.1 (1.2 would work the same I'm sure) and
find that I now have both a working Palm Desktop AND a working Mozilla.  I'm not
sure why changing that registry item after installing Mozilla causes Mozilla to
stall upon starting, but it does, since I've gone through that twice now. :/

Also, it seems that the uninstall never completes, as I have to kill the
Add/Remove Programs control panel after everything has settled down (MSHTA.EXE)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: uninstalling AB Conduit cleared Palm user account list → uninstalling address book conduit clears Palm user account list
Keywords: nsbeta1+
QA Contact: meehansqa → nbaca
On a separate note, the above patch/fix also increases the chances of locating
the Conduit Manager Dll and HSAPI.dll during Install (Palm sync install) since
we now try to locate the HotSync Path using two registry keys instead of one!
  _tcstok(pPDInstallDirectory, HOTSYNC_FILENAME);

call in patch does not work as expected so the uninstall fails. We can just get 
the value from name "Path" and use it.
Assignee: rdayal → cavin
Attached patch Fix the previous patch. (obsolete) — Splinter Review
Use the value from "Path" directly.
Attachment #108464 - Attachment is obsolete: true
Attachment #111001 - Flags: superreview?(sspitzer)
Attachment #111001 - Flags: review?(ssu)
Comment on attachment 111001 [details] [diff] [review]
Fix the previous patch.

The 'Path' var in the second case (retrieved from
Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\palm.exe), should not
be used straight up because that var is a search path, not a single path to
where the app is located.

If palm decides to change that value and add more paths, it will then not work.

As for the 'Path' in the first case, I'm don't know how Palm intended
developers to use it.  It could be safe to assume that it'll only be listed as
a single path to where the app is at (as opposed to a search path).  You should
check the Palm dev docs just to be sure though.
Attachment #111001 - Flags: review?(ssu) → review-
Comment on attachment 111001 [details] [diff] [review]
Fix the previous patch.

since ssu rejected the patch, I'm going to clear the sr request.
Attachment #111001 - Flags: superreview?(sspitzer)
Use defaul key value in App Paths\\palm.exe registry entry.
Attachment #111001 - Attachment is obsolete: true
Attachment #111100 - Flags: review?(ssu)
Comment on attachment 111100 [details] [diff] [review]
Use defaul key value for App Paths\\palm.exe

per our talk, check the return value from RegQueryValueEx() before trying to
strip out the filename from the returned path.

r=ssu after this minor change.
Attachment #111100 - Flags: review?(ssu) → review+
OK, I'll do that before checking it in. Thx.
Attachment #111100 - Flags: superreview?(sspitzer)
Comment on attachment 111100 [details] [diff] [review]
Use defaul key value for App Paths\\palm.exe

sr=sspitzer, once you have r=ssu.
Attachment #111100 - Flags: superreview?(sspitzer) → superreview+
Uninstalling Mozilla AB Palm sync also removes any registry entries associated
with Netscape Calendar Sync (NCPiLink) which installs itself as Application0 in
 [HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\].

This is repeatable.

Following several installs / uninstalls I have ascertained that the Mozilla AB
conduit takes it's synchronisation information (i.e Synchronise, Desktop
overwrites Handheld, Handheld overwrites Desktop, Do Nothing) from the
previously installed Palm Desktop AB Conduit. Whatever status the original
conduit was in prior to installing Mozilla AB sync becomes the default and
cannot be changed. If the conduit is in any other state than "Synchronise" the
Mozilla AB conduit appears not to work. Mozilla doesn't get started up and no
syncing takes place
Fix was checked in on 01/09.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Trunk build 2003-02-12: WinXP
Verified Fixed. After uninstalling the mozilla address book conduit, it no
longer clears the account list. All accounts are present with categories and
records.
Status: RESOLVED → VERIFIED
*** Bug 192025 has been marked as a duplicate of this bug. ***
*** Bug 197394 has been marked as a duplicate of this bug. ***
*** Bug 197838 has been marked as a duplicate of this bug. ***
*** Bug 201961 has been marked as a duplicate of this bug. ***
*** Bug 197257 has been marked as a duplicate of this bug. ***
*** Bug 196365 has been marked as a duplicate of this bug. ***
Product: MailNews → Core
Product: Core → MailNews Core
Product: MailNews Core → MailNews Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: