What is the best way to upgrade a handheld application?

  • Thread starter Thread starter a
  • Start date Start date
A

a

I'm trying to make an application that can be upgraded by the user
downloading a new MSI. When the user runs the MSI is puts the cab files
in a directory, then calls CeAppMgr.exe ...setup.ini for the new version
of the program.

When the device connects via ActiveSync again, the new version is not
installed.

I've see various article mentioning Web Services and handheld initiated
upgrades. I wonder if there is a way to make the desktop force an
upgrade, even if the handheld is not connected. Developing for PocketPC
seems so easy at first, but there are so many Gotcha's...

Once again, I want to know how I can use CeAppMgr or some other
ActiveSync program to force a version upgrade of an existing application
on the handheld.

Thanks,

- Russ
 
you could just put the intended cab files w/n a web page and have your
device go to that page...if it has wifi.

other than that ms has a good starting example. basically you get the regkey
for where the app manager is installed and shell out to it giving the
setup.ini path/file as the arg.

that's it.

hth,

steve
 
steve said:
you could just put the intended cab files w/n a web page and have your
device go to that page...if it has wifi.

other than that ms has a good starting example. basically you get the regkey
for where the app manager is installed and shell out to it giving the
setup.ini path/file as the arg.

that's it.

hth,

steve

I've done that, but it didn't upgrade the application. It installed a
new version the program cab files in the same folder on the hard drive,
but when the device connected via ActiveSync again it didn't
automatically upgrade itself.

I think the problem is that the registry does not contain any kind of
version information. If you look in the registry at
HKLM\Software\Microsoft\Windows CE Services\AppMgr\Apps there is only
the list of CAB files.

It does track something about the files though. I noticed that there
are REG_BINARY registry entries for each CAB file. I don't know what
they are storing though. Possibly cab size. I'm going to modify my
installer to delete the old CAB files during install.

- Russ
 
a said:
I've done that, but it didn't upgrade the application. It installed a
new version the program cab files in the same folder on the hard drive,
but when the device connected via ActiveSync again it didn't
automatically upgrade itself.

I think the problem is that the registry does not contain any kind of
version information. If you look in the registry at
HKLM\Software\Microsoft\Windows CE Services\AppMgr\Apps there is only
the list of CAB files.

It does track something about the files though. I noticed that there
are REG_BINARY registry entries for each CAB file. I don't know what
they are storing though. Possibly cab size. I'm going to modify my
installer to delete the old CAB files during install.

- Russ

As far as I can tell, The binary reg entries just describe what version
of CE they run on, not the version of the application. The first half
is the minimum version of Windows CE, the second half is the Maximum
version.
 
manually change the version within your app to some thing different and try
again.

"a" <"russell(a)ryba.net"> wrote in message
|a wrote:
| > steve wrote:
| >
| >> you could just put the intended cab files w/n a web page and have your
| >> device go to that page...if it has wifi.
| >>
| >> other than that ms has a good starting example. basically you get the
| >> regkey for where the app manager is installed and shell out to it
| >> giving the setup.ini path/file as the arg.
| >>
| >> that's it.
| >>
| >> hth,
| >>
| >> steve
| >>
| >>
| >
| > I've done that, but it didn't upgrade the application. It installed a
| > new version the program cab files in the same folder on the hard drive,
| > but when the device connected via ActiveSync again it didn't
| > automatically upgrade itself.
| >
| > I think the problem is that the registry does not contain any kind of
| > version information. If you look in the registry at
| > HKLM\Software\Microsoft\Windows CE Services\AppMgr\Apps there is only
| > the list of CAB files.
| >
| > It does track something about the files though. I noticed that there
| > are REG_BINARY registry entries for each CAB file. I don't know what
| > they are storing though. Possibly cab size. I'm going to modify my
| > installer to delete the old CAB files during install.
| >
| > - Russ
|
| As far as I can tell, The binary reg entries just describe what version
| of CE they run on, not the version of the application. The first half
| is the minimum version of Windows CE, the second half is the Maximum
| version.
 
How do I do that for a SmartDevice application?

I've looked through the Project Properties, but I don't notice version
numbers anywhere. This is for a VB.Net for CF project.
 
It's in the AssemblyInfo class.

-Chris


a said:
How do I do that for a SmartDevice application?

I've looked through the Project Properties, but I don't notice version
numbers anywhere. This is for a VB.Net for CF project.
 
Back
Top