Developing and Deploying Pocket PC Setup Applications

N

Nathan

I've developed an MSI Installer a while back according to this
pattern.

http://msdn2.microsoft.com/en-us/library/ms838273.aspx

Of course, it has been updated with VS 2005 and .NET CF 2.0.

It installs the .NET CF 2.0 cab, the English string resources for .NET
CF 2 ( not really optional in practice), and my application CAB. It
uses a custom action of an executable to call winceappmanager with the
name of the cabs.

What part of it is likely to fail on Vista? And give an error like:

"There is a problem with this Windows Installer package. A program
required for this install to complete could not be run. Contact your
Support personnel or package vendor"

I don't have a Vista system myself to test with, so I have to rely on
the reports from end users.

Are there rules I can follow to make the MSI install work?

I don't have the budget to hire an install expert nor become one
myself, so I'm open to non MSI solutions to the problem. I've rejected
solutions like EzPocketSetup in the past because they don't install
more than one cab.

Nathan
 
V

VJ

I dont see it... .NET CF 2.0 on Vista.. I thought .NET CF 2.0 apps on
Windows Mobile 5.0. Are you installing a CF 2.0 app on Windows Vista
Desktop?...
 
N

Nathan

I dont see it... .NET CF 2.0 on Vista.. I thought .NET CF 2.0 apps on
Windows Mobile 5.0. Are you installing a CF 2.0 app on Windows Vista
Desktop?...

No.

I am trying to install a Pocket PC App to the device *from* the
desktop.

Nathan
 
V

VJ

So that desktop is Vista, and the Pocket PC is running Windows Mobile 5.0?..
This desktop is the users Vista desktop, which is not in your control?

VJ
 
N

Nathan

So that desktop is Vista, and the Pocket PC is running Windows Mobile 5.0?..
This desktop is the users Vista desktop, which is not in your control?

VJ

Yes.

Although the device could be Pocket PC 2003(SE) as well.

Nathan
 
V

VJ

I am not really sure why you choose this method. There are other ways to do
this. If you have VS 2005, the just build cab files. The cab file can be
copied to any PocketPC location, and just tapped in Pocket PC, and it would
install files. The cab file is same as MSI and can built easily. There is a
article in MSDN for build such right under the Compact Framework section. It
will help you with the details. I have done anything pre WM 5.0 era, so I
may not be 100% sure if this works for those devices. This certainly can be
a back up option to install on newer devices. Vista is tricky, some of the
old technologies or methodologies need elevated privileges to run in Vista,
so you may ask your user to try doing this as administrator from desktop.

VJ
 
N

Nathan

I am not really sure why you choose this method. There are other ways to do
this.

Good. That's part of my question. I have reasons for the install I
have now, but I'm not saying they are good reasons, especially in
light of the big picture.

The reason I had chosen the MSI method were:
1. I need more than one CAB file installed. If they install my
application, it wont' do any good unless they install .NET CF 2 SP1,
plus the .NET CF. It was even worse back in the dark ages when I used
SQL CE.
2. I was desirous of giving end users a one click install. A cab file
is far from doing that (6-7 clicks?), even for one cab file, much less
three. I'm not even sure if you can download the cabs in Pocket
Internet Explorer. More steps means more chances for the end user to
miss something and then give up or contact support.
3. End users would now have to choose the right cab file for .NET CF
based on their device. ppc.cab vs .ARMVI.cab, etc, when I am not
always even sure myself. ActiveSync seems to pick the right one.
4. No place for them to accept the license agreement in a cab
install.

Despite these limitations, I probably will start offering a cab
install, because not being able to install on Vista is not a good
thing. The cab installation has benefit for existing users wanting
updates, though it has a learning curve for new users that might cause
some of them to give up.

I did send a user instructions on running the install as
administrator, and for getting an msiexec log file. His report was
that neither method worked. So I am completely dead in the water for
figuring out why the msi install doesn't work. And that may be true
even if I had a full set of Vista systems nearby to test with.
If you have VS 2005, the just build cab files. The cab file can be
copied to any PocketPC location, and just tapped in Pocket PC, and it would
install files. The cab file is same as MSI and can built easily. There is a
article in MSDN for build such right under the Compact Framework section. It
will help you with the details.

Do you have a link to this article? Thanks.

Nathan
 
V

VJ

http://msdn2.microsoft.com/en-us/library/zcebx8f8(VS.80).aspx

Looks like you can add dependency to the CAB file. Maybe it will help you
deploy the Framework along and any other dependent files. the CAB almost is
like a MSI, and much better than the CAB from 2003 error. You can still
possibly do one click Install.

Vista is a new animal. The deal is you have to support your user, no matter
what they want. It will all be blamed on your product, irrespective of any
windows problem. I totally understand that, coming from Product development
company. The best would this, you get a Vista for 60 Day eval; pick up one,
you can sure crack it in day.

Let me know..

VJ
 
N

Neville Lang

Hi all,

I am in the same boat too. I have a general market Pocket PC app that has
been working fine over the past 3 years being deployed via various desktop
Windows versions, also using a customized MSI approach. In my case I also
need to install some files on the desktop side and to create a directory on
the desktop and copy some files into that directory during the installation.
I also write some entries into the desktop registry too. All this is
accomplished by my CustomInstaller.

I have had reports that my app does not install onto a Windows Vista
Ultimate (64-bit version). I just recently purchased a new laptop with
Windows Vista Ultimate (64-bit) on it and I am currently trying to track
this problem down.

My MSI was created in VS .NET 2003 and is installed via the VS generated
Setup.exe bootstrapper. The app is also unsigned but I would not expect that
give this sort of problem in Vista. The error I get when simply running this
Setup.exe (with my MSI) on Vista Ultimate (64-bit) is: "The installer has
encountered an unexpected error installing this package. This may indicate a
problem with this package. The error code is 2869."

The error code does not reveal very much. Scanning the internet did not show
up too much either on this topic except that one post indicated that the
Setup.exe must have an embedded manifest in it. I do not know whether the
Setup.exe produced by VS .NET 2003 has this in it or can do it. Another post
indicated that VS 2005 generated Setup.exe can add a manifest.

I have not yet moved my app to my VS 2005 Pro on my WinXP (32-bit)
development computer, even though I have VS 2005 Pro installed there.

My next thought was to simply install VS 2005 Pro onto my Vista Ultimate
(64-bit). What I found was that VS 2005 keeps giving an error during its
installation. It comes up with "Setup Failed. The following component failed
to install: MSXML 6.0 Parser x64". Has anyone here been able to install VS
2005 Pro onto Vista Ultimate (64-bit) version? I have since passed this
problem onto Microsoft tech. support so I am waiting a reply.

I am now held up in trying to resolve my initial problem for one of my
customer's Vista Ultimate (64-bit) version.

I am open to any ideas.


Regards,
Neville Lang
 
G

Guest

Hello Neville:

I have similar problems with a very simple app on 32 bit Vista, Visual
Studio 2005, etc. I would appreciate a note if you get an answer. Thanks in
advance.

-Dave
 

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