PalmSource Desktop

Version: 4
Views: 2.2k  |  Created: 01/31/2007

Average Rating: 0
Desktop has 2 inventory records, 0 Questions, 0 Blogs and 0 links. Please help add to this by sharing more!

Deployment Tips (15)

Most Common Setup Type
Not Determined
Average Package Difficulty Rating
Rated 5 / 5 (Very Difficult) based on 4 ratings
Most Commonly Reported Deployment Method
Repackaged (to a setup.msi)
or cancel
121
Note
Palm's MSI installer is horrible; you need to make the destination user a temporary local admin for the install and then no one else on a multi-user box can use the program.

However, if you're repackaging it for MSI, you can fix all this. Here's how:

* Have your repackaging tool create advertising info for you when you SetupCapture or convert the MSI. (If you convert the MSI, don't forget to install the ISSCRIPT.MSI first as a prerequisite!)

* Make a component called "CurrentUser" and put <u>all</u> of the HKEY_CURRENT_USER Registry entries from all the other components into it. Make a hidden Feature to hold the new component, and put all other features under it (i.e. it's the top-level required feature). This will force the system to check the HKCU keypaths from any advertised entry point... Meaning that when a new user runs HotSync or Desktop for the first time, the Windoze Installer Service will self-heal his/her HKCU values.

* Set the permissions on the C:\Program Files\Palm (or whatever) directory so that all BUILTIN\Users can create new subdirectories and files.

Thus you can make a great MSI package that's smart and multi-user friendly.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
118
Note
silent install did not work on a fresh install. The applicaiton suceeds, but the palm .inf for the driver is not added.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
There is also a "hardcore"-way of doing it:

1) Create a diff of the Palm-installation only (without the isscript.msi)
2) delete all the registry keys but some HKCU-keys containing the settings (for an exact list of keys or the complete Empirum-package just send me an email)

Now the package works fine with normal user-rights and without any prompts for MSI-selfhealing. But just for the first user installating the packages - others still get the "Error: invalid configuration" - message. Which was OK in this case.

Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
The Palm Desktop package really is difficult to deal with. Some errors:

* Lack of key files is most components
* Mixed per user and per machine data in many components. Some even have data in HKCR, HKCU AND HKLM
* Application does not work without HKCU populated
* Drivers not signed (fixed in most recent release)
* MFC and system dll's installed using a component, NOT merge module
* Installscript engine not included in setup, so setup.exe will try to connect to the internet during installation to download the file!
* Recent version won't run with non admin priviledges
* The list goes on

Here is how I fixed it to run well on multi user systems:

* Dig up a version that includes the Installscript engine
* Move all pre user registry entries to a single component
* Set full write access to the palm folder under %programfiles%
* If you are installing an older version of the product, copy the newest, signed, drivers to the release image, and add the files to the USB driver components
* Deploy the setup to the system using the MSI file, and make sure a cached version of the database is accessible to repair HLCU entries on login
* Move all features undera common top level feature, add a HKCU feature with the per user data
* Add a HKCU flag component with a HKCU registry keypath to the top level feature.
* Make all shortcuts advertised
* Set ALLUSERS to 1 to force a per machine install
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
I packaged version 4.1.4 and came accross a number of issues when trying to get the application to work in a per machine installation basis.

I extracted the vendor MSI file from the setup.exe and applied a transform to the MSI file to resolve these issues

As the application does not contain any advertised shortcut in order to install the applications user specific data to more than one users profile then a self repair will have to be called. I suggest using a stubpath active setup registry key with the command line option /fup to call the repair.

The application does not install correctly when executing a silent installation. The reason for this is that the INSTALLDIR directory is not specifed correctly in the directory table. The packager who palm paid to put this MSI together is clearly not the sharpest tool in the box so in order to successfully install the application silently some customisation will have to be done. There is a "." in the default directory column where the value "palmOne" should be. This does not matter during a full UI installation as the Installdir is resolved againest the user input.

Edit the directory table and replace the "." with "palmOne". If you are planning on deploying the application in a per machine (ALLUSERS=1), then I suggest you replace any occurance of the formated text value "[INSTALLDIR]" in the registry table with the hard coded path value "C:\Program Files\palmOne\". The reason for this is that during a repair of the application (like I mensioned above)the INSTALLDIR value in the registry table is resolved againest the base MSI's installdir value and not the transforms value.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
Many people have problems with the vendor package and the best solution is still to repackage the installation. Customization of the vendor package does not work on every system and limits the possibilities.

I repackaged the application using Wise Package Studio 5.

If you open the vendor package of Palm Desktop, you should check the RegistryTable.
You see lots of regkeys under HKCU, which would probably fit better in HKCR (“Classes”, “TypeLib” and Shell Extensions).

As long as those keys are under HKCU a per-machine installations of the package will be very complicated and will not work on every system.

Capture the installation (installed “ISScript.msi” before the capturing) and open the .WSI – file in the Wise Installer Editor.

Mark the HKCU – root of the Snapshot on the “Registry – Page” and export it to a .REG – File.

Open the .REG – File with “Notepad”. Replace the string “HKEY_CURRENT_USER\Software\Classes\” with “HKEY_CLASSES_ROOT\”, so all Classes are where they belong.

Replace the string “HKEY_CURRENT_USER\Software\” -> vendor with “HKEY_LOCAL_MACHINE\Software\”, so that the application config is available to “All Users”.

After you’ve done that, delete the “HKEY_CURRENT_USER\Software\Classes\” – Folder in the captured installation and import the customized .REG – File.

Wise should tell you that it found advertising information in the .REG – File. You can decide whether Wise shall write this information in the corresponding Tables (Class, AppID …).

You see on the “File Associations” – Page that all Shell Extensions were recognized.

In order to make this package multi-user capable you have to give “Everyone” full access on the program folder, because the users / profiles are put in there.

You don’t even have to care about the Shortcuts, because they are already “Advertised” and the “HotSync Manager” in the StartupFolder automatically initialises the installation of the user data as soon as another user logs in.

Because the Users / Profiles are put into the program folder every user can see and select all profiles created on that machine.

Apart from that the package did everything I wanted. Using this way it is possible to capture special configurations for this software (for example: standard vCal – App check, integration of users / profiles, HotSync Manager Settings).
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Security
FileMon reports access denied on the following:

C:\Program Files\Palm\Instapp.exe
C:\Program Files\Palm\%username%\datebook
C:\Program Files\Palm\%username%\address
C:\Program Files\Palm\%username%\todo
C:\Program Files\Palm\%username%\memopad

It may be easier to just open permissions on the entire C:\Program Files\Palm\ to the native local "users" group.

---------------

RegMon reports "Access Denied" on the following:

HKLM\Software\MicroQuill\SmartHeap
HKLM\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\Winmm

---------------

Last, you may find you need to create a "token" file named "expreprt.exe" at C:\Program Files\Palm. Without it, some versions of Palm Desktop 4.x will error out looking for this this file when the following conditions are true:

1. an account other than the one that installed Palm Desktop executes the program

2. that same account does not have admin rights

The error is: "invalid configuration. terminating the palm desktop" Adding the value to your installation suppresses the error, and does not affect functionality.

The error has something to do with values entered at HKCU\Software\U.S. Robotics during the install during the original install, which self healing has difficulty addressing.

---------------

Craig --<>.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
As noted by eWall above, this is one of those exceptions to the "never repackage an .msi into another .msi" rule (see http://www.appdeploy.com/tips/detail.asp?id=60). The Palm Desktop does not appear to have any hard coded internal references, which is often one of the things that makes re-capturing an .msi nearly impossible.

If you have a fair amount of repackaging experience, you can "re-repackage" this into a new .msi that you can deploy via AD, and provide "per machine" functionality; this is not possible with the native .msi provided by Palm.

Observe the notes entered by eWall above, as well as the following:

1. Delete any registry keys containing the GUID that matches the GUID of the native .msi from Palm

2. Delete registry keys that reference the original feature structure.

3. Test the resulting new .msi thoroughly, and much more than you normally would.

Last, you may find you need to create a "token" file named "expreprt.exe" at C:\Program Files\Palm. Without it, some versions of Palm Desktop 4.x will error out looking for this this file when the following conditions are true:

1. an account other than the one that installed Palm Desktop executes the program

2. that same account does not have admin rights

The error is: "invalid configuration. terminating the palm desktop" Adding the value to your installation suppresses the error, and does not affect functionality.

The error has something to do with values entered at HKCU\Software\U.S. Robotics during the install during the original install, which self healing has difficulty addressing.


Craig --<>.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
I somehow managed to do an unattended install without repackaging. The problem I ran into was that merely running an installation package under administrative rights while logged in didn't work (Palm installer seems do a kind of switch user action???).

To make the trick work I used SMS2003 to deploy a package under "administrative" rights (as SYSTEM) which in turn kicks off another package and logs the user off. This logoff is checked by a little routine that loops as long as it fails to load the ntuser.dat of the user. Once the ntuser.dat loads succesfully (Which means the user is logged off), it is unloaded again and installation of the Palm Desktop is started.

The user logs on again and all that needs to be done is import a bunch of registry keys into HKEY_CURRENT_USER et voila, Palm Desktop is installed.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note

I ran the setup.exe to extract the ISScript engine and Palm Desktop.msi. I then installed the application on a test machine and exported the registry keys from \HKCU\Software\U.S. Robotics. I then created a transform, set ALLUSERS=1, corrected the INSTALLDIR error, imported the Registry key for HKCU, gave USERS full rights to the INSTALLDIR and changed the HOTSYNC.EXE shortcut to appear in Startup for all users. Set the app up to repair once for each user to repopulate the HKCU hive and it seems to work for any member of USERS on the box.

Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
I managed to repackage and also Merge it with the DIFX (http://www.microsoft.com/whdc/driver/install/DIFxtls.mspx) Merge Module. Recaptured with WISE as previously mentioned moving all the HKCU\Software\Classes keys over to HKCR and also removed all the InstalShield components.

I then created a new MSI for the drivers using the DIFx MSM and installed it within the main package as a nested install. Only tricky thing I had to do to get DIFX to install the drivers was to include USBPORT.DLL and PALMDEVC.DLL under SYS32. Using DIFX installs the drivers without the device connected so that the user can simply use the device right after reboot. I did attempt to put it all in the one package but for some strange reason, the drivers failed on install.

Non-Admin users need to write to files under %ProgramFiles%\PalmOne so I performed a SETACL on the INSTALLDIR.

Just a couple more tweaks you might want to include to make it more "friendlier" to the user.

The following registry key redirects HotSync to write the user's data to their personal folder:-

[HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\Core]
"Path"="My Documents\PalmOne"


This key disabled file association checking:-

[HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\Preferences]
"CheckFileTypes"=dword:00000000

Very enjoyable package (Once you got it working).. Good Luck!

- Tu
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note

SVS will solve the entire packing problem. No more self healing. Just remember after the application has been package it is now a layer MSI's are no longer needed. Strip the layer of all MSI and installshield residue, this will stop all self healing. We are running palm in a power user evironment. If you want more information please contact me.

Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
117
Note
Many people have problems with the vendor package and the best solution is still to repackage the installation. Customization of the vendor package does not work on every system and limits the possibilities.

I repackaged the application using Wise Package Studio 5.

If you open the vendor package of Palm Desktop, you should check the RegistryTable.
You see lots of regkeys under HKCU, which would probably fit better in HKCR (“Classes”, “TypeLib” and Shell Extensions).

As long as those keys are under HKCU a per-machine installations of the package will be very complicated and will not work on every system.

Capture the installation (installed “ISScript.msi” before the capturing) and open the .WSI – file in the Wise Installer Editor.

Mark the HKCU – root of the Snapshot on the “Registry – Page” and export it to a .REG – File.

Open the .REG – File with “Notepad”. Replace the string “HKEY_CURRENT_USER\Software\Classes\” with “HKEY_CLASSES_ROOT\”, so all Classes are where they belong.

Replace the string “HKEY_CURRENT_USER\Software\” -> vendor with “HKEY_LOCAL_MACHINE\Software\”, so that the application config is available to “All Users”.

After you’ve done that, delete the “HKEY_CURRENT_USER\Software\Classes\” – Folder in the captured installation and import the customized .REG – File.

Wise should tell you that it found advertising information in the .REG – File. You can decide whether Wise shall write this information in the corresponding Tables (Class, AppID

).

You see on the “File Associations” – Page that all Shell Extensions were recognized.

In order to make this package multi-user capable you have to give “Everyone” full access on the program folder, because the users / profiles are put in there.

You don’t even have to care about the Shortcuts, because they are already “Advertised” and the “HotSync Manager” in the StartupFolder automatically initialises the installation of the user data as soon as another user logs in.

Because the Users / Profiles are put into the program folder every user can see and select all profiles created on that machine.
Apart from that the package did everything I wanted. Using this way it is possible to capture special configurations for this software (for example: standard vCal – App check, integration of users / profiles, HotSync Manager Settings).
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
115
Command Line
SETUP.EXE /s /v"/QB- ALLUSERS=1"

Try this to install Palm Desktop 4.1 for all users.
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment
2
Command Line
Silent setup:

setup.exe /S /V"INSTALLDIR=TARGETDIR /QN"
Setup Information:
Setup Type: unspecified
Deployment Method Used: unspecified
Deployment Difficulty: unspecified
Platform(s): Windows
Please log in to comment

Inventory Records (2)

View inventory records anonymously contributed by opt-in users of the K1000 Systems Management Appliance.

Desktop

Version

4.2.2

Uninstall String

/Applications/Palm/Palm Desktop

Questions & Answers (0)

Questions & Answers related to PalmSource Desktop

Blogs (0)

Blog posts related to PalmSource Desktop

Reviews (0)

Reviews related to PalmSource Desktop