Deploying a .net2/sqlce app

Hi!
note: new in mobile development but experienced .net developer
Can you give me a guidance on what do I need to install in a wm2003 device to deplory a .net 2.0 app which also uses sqlce 2005
Are some specific dll's enough
I would like to create a complete CAB with all the necessary files so that end-user can easilly install/uninstall the application.



Answer this question

Deploying a .net2/sqlce app

  • LeCoop

    I have just finished reading this document. It appears that since all these steps should be performed by writing code, msi does very few things. I think that I will choose to make the installation using innoSetup to avoid the .net dependancy to the activeSynce host pc.
    Now, to get back to my primary question, how can I make my installation package (assume for a moment that I use msi) install .net2 and sqlce to the target device This is not covered in this document.


  • TimSinnott

    so... after having all above in mind:
    for .netcf2 I need:
    • NETCFv2.wm.armv4i.cab (Windows Mobile 5 device)
    • NETCFv2.ppc.armv4.cab (Windows Mobile 2003 device)
    and for sql2005ce:
    • sqlce30.ppc.wce5.armv4i.CAB (Windows Mobile 5 device)
    • sqlce30.ppc.wce4.armv4.CAB (Windows Mobile 2003 device)
    right
    I also found this article: http://msdn2.microsoft.com/ms173409.aspx which helped me understand what all the cabs of sqlserver are for.


  • fewfewfew

    Unfortunately, you can not do that. License does not allow you to break NETCF/SQL Mobile CABs apart and you can not have CAB in a CAB as only one instance of CAB installer is allowed.

    You can install SQL Mobile, NETCF and your application CABs one by one via AS:

    http://msdn.microsoft.com/library/default.asp url=/library/en-us/dnnetcomp/html/deploy_cf2_apps_cab_msi.asp



  • Andy Tischaefer - MSFT

    ok! I'm almost done. I created an InnoSetup script that deploys my application and invokes ceappmgr.exe with the ini file.
    What I'm not sure of, is which other cab to include for .net framework 2 and sqlce. I can see several cabs in <Program Files>\Microsoft Visual Studio 8\SmartDevices\SDK but I don't know what to include.
    I think I have read somewhere in the documents you recommended that I have to include several of them if I want my application to be deployed in wm2003, wm5, windows ce and the other versions of windows mobile.


  • Karlo

  • dwallersv

    Thanks for all your help Ilya.... but I really don't understand. There are about 30 cab files for sqlserver and 7 for .netcf2!!! Am I suppose to create .ini files for all these cabs my self and include all of them in my setup package for application to work


  • Ernesto Vasquez.

    I believe this particular sample uses the framework. You could compile against whatever version you like or you could do it with native code or script instead to avoid framework dependency.



  • i_hate_printing

    You should only include files for devices you support. In case of generic application installed by end user via AS that most likely would be PPC 2003 and WM 5.0 so you need just 2 CABs for NETCF and 2 CABs for SQL Mobile. If you developing for custom embedded CE device, you probably just need one CAB because hardware is usually predetermined in that case (not to mention these devices rarely have AS support). Most likely applications for generic CE devices would be either added to device image or delivered on some flash card with automatic install feature.

     

    Forgot to mention: SQL Mobile has several components like SQL engine itself (required), QA, and replication support. If you're using them, they should be installed via separate INI each.



  • John Long

    Thanks for your help Ilya. That's what I have been looking for. I would create an msi file anyway.

    I have another question though. Is .NET Framework 2 required in the desktop computer



  • Paulo Serra

    Sounds about right except SQL Mobile CAB for WM 5.0 has 'phone' in the name: sqlce30.phone.wce5.armv4i.CAB



  • Tominator2005

    You would need to add required NETCF and SQL Mobile CABs to the MSI, create INI file for each and invoke CeAppMgr.exe for each component (application, NETCF and SQL Mobile). Better way to go would be to register INIs with CeAppMgr.exe first as described here:

    http://msdn.microsoft.com/library/default.asp url=/library/en-us/mobilesdk5/html/wce51conRegisteringWithApplicationManager.asp



  • Deploying a .net2/sqlce app