Deploying .NET CF 2.0 with applications

G

Guest

Folks,

I have an application which is dependent on version 2 of the CF, and I'd
like my installer to deploy the CF along with the application. I have a
general idea of what is required, but the only documentation from Microsoft
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfdepl.asp)
isn't really helpful because it refers to earlier versions of Visual Studio
and the CF, and includes code that isn't at usable any more. I'd really
appreciate a brief summary, from someone who has done this recently with VS
2005, of how to go about this.

Thanks very much,

Matthew Fleming
DermVision
 
G

Guest

Thanks. I've read this, but its not clear how the procedure it describes
addresses the CF 2.0 dependency. In fact I followed this procedure to create
a cab file, which I moved to the Windows Mobile 2005 Pocket PC emulator. I
clicked on the cab file, which installed the application, but when I tried to
run the app it failed because of no CF 2.0 on the emulator. I didn't get to
the second half of the described procedure, creating an msi so that the cab
can be installed via
ActiveSync. Does this somehow automatically handle the CF dependency? I
don't see how-?

Matthew Fleming
 
I

Ilya Tumanov [MS]

No, it does not. You need to add CABs for all dependencies into your MSI,
add INI files for each dependency and repeat deployment process N+1 times
for N dependencies you have plus your application.


--
Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

*** Want to find answers instantly? Here's how... ***

1. Go to
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compactframework?hl=en
2. Type your question in the text box near "Search this group" button.
3. Hit "Search this group" button.
4. Read answer(s).
 
G

Guest

Thanks. Where do I get a CAB redistributable for the CF 2.0? Will one CAB
work on all devices?

Matthew Fleming
 
I

Ilya Tumanov [MS]

No, one CAB won't work on all devices. CF 2.0 CABs are described here:
http://blogs.msdn.com/netcfteam/archive/2005/10/11/479793.aspx

By default VS would put them under "%ProgramFiles%\Microsoft Visual Studio
8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\<version>\<cpu>

--
Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

*** Want to find answers instantly? Here's how... ***

1. Go to
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compactframework?hl=en
2. Type your question in the text box near "Search this group" button.
3. Hit "Search this group" button.
4. Read answer(s).
 
G

Guest

So is there any way of adding the CF CABs to the installer in such a way that
the correct one will be chosen for the installation target?

Matthew
 
G

Guest

Yes, but I was hoping to provide my users with a single installer that would
install my application and all of its prerequisites, including the CF v. 2.0.
I could refer them to the MS webpage containing the CF redistributable MSI,
with instructions to download and run it if necessary, but they might not
know what to do because they might not know whether they already have the
right CF runtime or not. Perhaps this complication is unavoidable. How do
other people handle the problem?

Matthew
 
G

Guest

Modify your INI file for ceappmgr.exe to include the CF cabs as well as your
own app cabs.

-Chris
 
G

Guest

Can I just include the CF cabs for all the possible targets, and the
installer will automagically know which one to use?

Matthew
 
G

Guest

Yep. It's not really automagic - the CAB files hold info on what targets
they are for, so when a device connects, ActiveSync queries it's processor
type, CE version, etc. and looks to see if it has a CAB that matches those
variables.

-Chris
 

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