How to upgrade a mobile application?

S

Serge Wautier

Env.: WM6, CF 3.5

Hi All,

My question is more WM than CF oriented. So please feel free to redirect me
to a more appropriate NG if you know one.

I wanted to provide my users an upgrade.cab file that is much smaller than
the initial setup.cab: It contains only the new exe and not all related dlls
and data files). The problem is when users install it, it first uninstalls
the whole app (after prompt). How can I avoid this?

I assumed that WM identified the original app based on the name and path of
exe file in my upgrade cab. But now that I think of it, there might be a
better explanation: To create upgrade.cab, I simply copy/pasted the VS setup
project, renamed it and removed all the unnecessary stuff. Would the package
contain some kind of id such as a GUID that I should modify?

TIA for your lights,

Serge.
 
T

Trevor

Serge Wautier said:
Env.: WM6, CF 3.5

Hi All,

My question is more WM than CF oriented. So please feel free to redirect
me to a more appropriate NG if you know one.

I wanted to provide my users an upgrade.cab file that is much smaller than
the initial setup.cab: It contains only the new exe and not all related
dlls and data files). The problem is when users install it, it first
uninstalls the whole app (after prompt). How can I avoid this?

You can call WCELOAD programmatically and use the /silent command line flag
to suppress any screens and messages during CAB file installation. WM5 and
later WCELOAD will always uninstall the previous version of the software
before installing the new one. See
http://msdn.microsoft.com/en-us/library/ms933760.aspx for more information.
I assumed that WM identified the original app based on the name and path
of exe file in my upgrade cab. But now that I think of it, there might be
a better explanation: To create upgrade.cab, I simply copy/pasted the VS
setup project, renamed it and removed all the unnecessary stuff. Would the
package contain some kind of id such as a GUID that I should modify?

TIA for your lights,

Serge.

Do both projects have the same Manufacturer and ProductName properties? I
believe WCELOAD simply uses the name from "Remove Programs" (The combination
of "Manufacturer" and "ProductName" in your CAB file project properties). I
don't think there is a GUID inside each CAB file because there is no way to
set a GUID if you generate your CAB file using CABWIZ and an INF file. The
Visual Studio CAB Project is just a wrapper around CABWIZ with slightly less
functionality. Also, if you look inside your CAB file, there is a
_setup.xml file generated from an INF file by CABWIZ and parsed by WCELOAD.
This _setup.xml file tells WCELOAD which registry entries to create, which
file operations to make, etc. It is basically an XML file contianing the
steps needed to install the program. There is no GUID in the _setup.xml
file either.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top