views:

263

answers:

2

Hi all,

after having my first look into the Visual Studio (2008) installation/setup project template for Smart Devices and wondering how unintuitive this is, and after searching the net for about an hour and paging through my CF books, I still have not been able to find out how I can create a setup package (.cab file, Setup.exe, whatever) that includes my Compact Framework 3.5 application as well as CF 3.5 itself and SQL Server CE, so that the prerequisites get installed if necessary with my application automatically. Can anybody shed any light on this, or can suggest any third-party installer tool, in case this is not possible out of the box with VS 2008?

Thanks, Timo

+1  A: 

As far as I can see, CAB files cannot contain other CAB files (And I'd be pretty annoyed doing an "over the air" install if it including all of CF3.5 and SQL, if I've already got them installed).

Rowland Shaw
Well, for OTA you are certainly right, but my usage scenario does not do this. Devices are docked for software installation. And even for OTA I would imagine that some solution exists for the installer to check if CF 3.5 and SQL is installed or not and to automatically download and install it if necessary. But I guess I will have to implement something myself :-( Thanks for your answer though.
Timo
@Timo fair point, hadn't considered the docked installer options. I know that PC based installer can install multiple CABs - I'll see if I can dig out a reference
Rowland Shaw
A: 

a late response maybe of some use to others still developing wm5/6,,

yes, a cab can itself contain cabs; aka a chained install.

see here:

http://msdn.microsoft.com/en-us/library/bb158796.aspx

http://stackoverflow.com/questions/1119255/windows-mobile-cab-setup-to-detect-net-cf-3-5-and-install-it

& perhaps also relevant:

http://social.msdn.microsoft.com/forums/en-US/vssmartdevicesnative/thread/03b20581-1479-44aa-ba9d-caf1c313c4eb

As for a conditional (for ota or whatever) install, the only way i know of doing so is by poking about in the registry. eg. look here:

HKLM\Software\Apps\Microsoft .NET CF 3.5\

violet313