Install .Net CF 3.5 cab file on NAND Flash RRS feed

  • Question

  • Hello,

    I have a target device with Windows CE 5.0 and .Net CF 2.0. I want to install .Net CF 3.5 cab file on it. If I launch wceload, it installs the cab file but the .Net CF 3.5 DLLs are copied into \Windows directory and registered into the GAC. If I make a cold boot of my device, on the reboot the DLLs aren't in the \Windows directory. How can I install .Net CF 3.5 Dlls on a NAND Flash (there is one on my device) an register them in the GAC so on next cold boot the .Net CF 3.5 is already installed correctly ?

    Thanks, Paolo.

    Wednesday, August 25, 2010 3:23 PM

All replies

  • You may try to move those DLL to a directory in NAND and add it to your path (HKLM\Loader\SystemPath).

    If this is not working you may try to mount your NAND as the filesystem root using the MountAsRoot flag in its storage manager profile.

    Valter Minute
    Windows Embedded MVP
    Thursday, August 26, 2010 8:06 AM
  • I have started trying to install CAB file manually into a folder on NAND Flash. When I click on CAB file, I select as destination path NANDFlash\Folder and not the default path \Windows. After installation, I found all GAC registered managed assemblies in NANDFlash\Folder but the native DLLs (mscoree3_5.dll, ...) into \Windows folder.

    I have the following idea :

    Using platform builder installation, assembly under %WINCEROOT%\DOTNETV35 and information into reg/bib files under %WINCERTOO%\PUBLIC\NETCFV35, can I make a new .Net CF 3.5 cab file that install the framework into NAND Flash ? Or native DLLs must be into \Windows folder to work properly ?

    Thanks, Paolo.

    Thursday, August 26, 2010 8:31 AM
  • DLLs must be in the path. If you add your NAND flash path to the registry key I explained in my previous reply, it should work.
    Valter Minute
    Windows Embedded MVP
    Thursday, August 26, 2010 9:34 AM
  • I have moved mscoree3_5.dll, netcfagl3_5.dll and netcfd3dm3_5.dll under \NANDFlash\CF35 (my folder) where there are GAC registered managed assemblies also. Then I have added the following key HKLM\Loader and the following value to it SystemPath=\NANDFlash\CF35....but it doesn't work...the application throws an exception on startup !

    Thursday, August 26, 2010 9:44 AM
  • I have to reboot the target after setting SystemPath....but after reboot I have to reinstall .Net CF 3.5 CAB into NANDFlash\CF35 !! The folder is empty !! Who has deleted the files under NANDFlash\CF35 !!??

    After the CAB installion, some values like "\NANDFlash\CF35\GAC_mscorlib....." are created under \HKLM\SOFTWARE\Microsoft\.NetCompactFramework\Installer\Assemblies\Global and I see the GAC registered managed assemblies under \NANDFlash\ I understand that the installation works fine. If I reboot the device, the register values disappeared (I think that they don't go into hive registry) but someone delete the assebmlies file on the NAND Flash !

    Why ?

    Thursday, August 26, 2010 10:11 AM
  • "Someone"?  There are two possibilities; your BSP deleted them or your BSP didn't actually write them to flash.

    If we assume that you have your platform is set up correctly to write to flash, then it may be that you have it set to format the flash on every boot.

    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG

    Eurotech Inc.
    Thursday, August 26, 2010 11:48 AM
  • On the flash there is the application that starts automatically every boot...I use the flash to do some test, copying file etc etc...and when I reboot the device, the files are still there, the application starts and works fine.

    Besides, I have copied native DLLS mscoree3_5.dll, netcfagl3_5.dll and netcfd3dm3_5.dll into \NANDFlash\CF35 folder together with GAC registered assemblies that are copied when I install the cab file. After reboot, the native DDLs are still there....the GAC files are disappeared !!

    Thursday, August 26, 2010 12:05 PM
  • I have noticed this strange behaviour...

    After install .Net CF 3.5 under NANDFlash\CF35....I delete the following files under \Windows folder :

    Microsoft .NET CF 3.5.GAC

    Microsoft .NET CF 3.5.unload

    If I try to start my application it crashes because the compact framework isn't load properly...and after clicking OK on the error message...the GAC registered managed asseblies under NANDFlash\CF35 are deleted !!! Besides, the registry values under the key HJKLM\SOFTWARE\Microsoft\.NetCompactFramework\Installer\Assemblies\Global are deleted !

    So this is the same behaviour that I have on reboot, because the file Microsoft .NET CF 3.5.GAC and Microsoft .NET CF 3.5.unload aren't in the \Windows folder...

    Thursday, August 26, 2010 1:07 PM
  • It seems that mounting your NAND flash as the filesystem root is a better option in this case.
    Valter Minute
    Windows Embedded MVP
    Thursday, August 26, 2010 3:22 PM
  • But for doing this I have to modify the windows ce image and deploy it on the devices that are on the market....I want to avoid it. If I have to deploy a new image, I prefer to include .Net CF 3.5 inside it directly.
    Thursday, August 26, 2010 4:15 PM