Thank You Laxmi.
The issue is one of (a) unexpected coupling causing us to think that the
install was wrong, and (b) an unwanted extra 2MB of flash being used for no
apparent reason.
The readme file containing the instructions you copied is a very big one.
Not all of us read all the content of all the files !
Also, the section these instructions are in is simply titled 'sql compact',
'integration ...', 'adding support for ... 3.5'.
If you have just read that the SP has support for 3.5 then it seems of no
import.
Perhaps this kind of thing would be better titled 'Changing dependancy from
CF2.0 to CF3.5'. That kind of title is much less ambiguous.
Anyway, I would have preferred if the install had looked for the existence
of 3.5 before it decided to use 2.0. I would describe what has been
implemented as a 'hard-coded dependancy', which is sure to trip up quite a
few people.
It is difficult enough working out which service packs should be deployed on
what products without these kind of things.
Remember that we are developing code in vs2008 to deploy onto ce6 using
vs2005 !
Service Packs and QFEs for all those are seemingly developed by 3 different
teams !
regards
phil
Post by Laxmi Narsimha Rao Oruganti [MSFT]My friend Balasubramaniam Bodedhala who worked on Platform Builder updates
SQL CE v3.5 SP1 runs perfectly fine on both .NET CF 2.0 and .NET CF 3.5.
Since, not all devices would have .NET CF v3.5, we made a decition to chose
..NET CF v2.0 as the automatic dependancy in Platform Builder. We also were
not sure when .NET CF v3.5 is going to get integrated into Platform Builder
as .NET CF v3.5 for for PB was not available when SQL CE v3.5 SP1 released.
We did clearly mention on how to remove .NET CF v2.0 and have .NET CF v3.5
in the release notes.
http://www.microsoft.com/downloads/details.aspx?FamilyID=b478949e-d020-465e-b451-73127b30b79f&DisplayLang=en
<ReadmeContent>
· Users can add support for .NET CF v3.5 in two ways. In
sqlcompact.bat under "%_WINCEROOT%\public\cebase\oak\misc\" change the
following lines from "if not "%SYSGEN_DOTNETV2_HEADLESS%"=="1" set
SYSGEN_DOTNETV2=1" to "if not "%SYSGEN_DOTNETV35_HEADLESS%"=="1" set
SYSGEN_DOTNETV35=1". Or from the catalog items view in PB remove .NET CF
v2.0 and select .NET CF v3.5.
· .NET CF v3.5 is available as a Platform Builder 6.0 update. More
information for .NET CF v3.5 is provided here -
http://support.microsoft.com/kb/947561.
</ReadmeContent>
I hope that clears up the confusion.
Thanks,
Laxmi
"Phil H"
Post by Phil HWe are OEMs Paul, so finding these little 'opportunities for improvement' has
become a regular occurence !
phil
Post by Paul G. Tobey [eMVP]I gave up on including the SQL CE actually IN the OS myself. For those
people who need it, installing the latest version is a better choice.
The
installer for SQL CE allows it to be placed on a storage card, if that works
best on your device, and this avoids the problem of tying the device closely
to a given version of the database, which seems to change more-rapidly than
device operating systems typically get updated. If all of your users use
all devices with SQL CE, of course, that's dumb and the fix you found there
is the best you can do...
Paul T.
"Phil H"
Post by Phil HWell, I've found the solution if anybody is interested, but it is very
annoying.
This guy describes the bug, and this is the only thing that I could find
http://www.sparkcontest.com/forum.aspx?g=posts&t=110
Essentially there is a link left in to cf2 even after you have installed
sqlce sp1
clipped from his post in case it is dropped ...
C:\WINCE600\PUBLIC\CEBASE\OAK\MISC\sqlcompact.bat
Change all instances of "SYSGEN_DOTNETV2" to "SYSGEN_DOTNETV35".
Change all instances of "SYSGEN_DOTNETV2_HEADLESS" to
"SYSGEN_DOTNETV35_HEADLESS".
This will now ensure that .NET 3.5 is a dependency instead of .NET 2.0.
Please try harder guys.
The embedded world cannot afford 2MB baggage !
Post by Phil HI'm upgrading a platform to use SQL Compact for CF3.5
We previously included all the files manually, but I've upgraded everything
I can find and removed all the manual file entries.
All the dlls seem to get copied to the image fine.
However, the image was 2MB larger than expected, and I found that SQL
Compact is correctly dependant upon CF3.5, but the Compact Managed Provider
is still dependant upon CF2.0 !
All help gratefully received, as I have spent most of the day browsing for
posts about anything like this.