Click here to Skip to main content
Click here to Skip to main content

Packaging and Deploying Pocket PC Applications and SQL Server CE 2.0

By , 12 Nov 2005
 

Introduction

This article is about making a package containing a Pocket PC application and SQL Server CE. The package will be of type MSI. When you click it, it will first install SQL Server CE 2.0 and then it will install the Pocket PC application.

When I first started to make this package, I got a lot of help from this article.

Therefore, before you read any further, go through all the steps in the article above, and then return to this article.

Overview

If you are reading this, I believe you have a solution containing three projects, like the picture below:

Sample screenshot

Now, you have to go through the following steps:

  1. Making a new .ini file with the installation information about SQL CE.
  2. Add SQL Server CE CAB files to your Setup project.
  3. Add your new .ini file (from step 1) to the Setup project.
  4. Add a new event handler to the CustomInstaller project.

Road Map

Step 1: Making a new .ini file with installation information about SQL CE

Make a copy of your existing .ini file in your main project. Rename the new file to whatever you want. I called it Sqlce.ini.

Replace all the code in Sqlce.ini with this code:

[CEAppManager]
Version = 1.0
Component = Ordbog

[Ordbog]
Description = SQL Server CE
CabFiles = sqlce.ppc3.arm.CAB,sqlce.ppc3.mips.CAB,sqlce.ppc3.sh3.CAB,
           sqlce.ppc3.x86.CAB,sqlce.wce4.armv4.CAB,sqlce.wce4.x86.CAB

Attention!!! Replace “Ordbog” with the name of your main project.

Step 2: Add SQL Server CE CAB files to your Setup project

Right click your Setup project and choose Add >> File. Select the following files one by one:

  • sqlce.ppc3.arm.CAB
  • sqlce.wce4.armv4.CAB
  • sqlce.ppc3.mips.CAB
  • sqlce.ppc3.sh3.CAB
  • sqlce.wce4.x86.CAB
  • sqlce.ppc3.x86.CAB

You can find these files here: Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\[Processor type].

Step 3: Add your new .ini file (from step 1) to the Setup project

Right click your Setup project and choose Add >> File. Select the .ini file from step 1. Your solution should look something like this (picture below):

Sample screenshot

Step 4: Add a new event handler to the CustomInstaller project

In CustomInstaller.cs, add this new event handler next to the two other event handlers:

this.BeforeInstall += new InstallEventHandler(CustomInstaller_BeforeInstall);

Next, add this snippet:

private void CustomInstaller_BeforeInstall(object sender, 
                                      InstallEventArgs e)
{
  string arg = Path.Combine(Path.GetDirectoryName(
               Assembly.GetExecutingAssembly().Location),"Sqlce.ini");
  RunAppManager(arg);
}

Rebuild the CustomInstaller project.

Before the changes in the CustomInstaller take effect, you sometimes will have to remove the old reference in the Setup project to the CustomInstaller assembly and replace it again. You have to do the same in the Custom Actions in your Setup project.

Next, rebuild your Setup project and install your package to your Pocket PC.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

JacobEgholm
Web Developer
Denmark Denmark
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionApplicable to VS2005?memberdebrachelle18 Feb '07 - 9:28 
Is this also applicable to VS2005?
AnswerRe: Applicable to VS2005?memberJacobEgholm18 Feb '07 - 21:39 
I have upgrade the application to VS.NET 2005 and it works fine. The only change I remember is that I have added a CAB project to the solution. This project builds CAB files from the 'Ordbog' solution. The MSI project then takes the CAB files and makes the MSI installer.
 
Jacob Egholm

GeneralRe: Applicable to VS2005?memberdebrachelle18 Feb '07 - 21:46 
thanks for the info. will it be fine to add the NETCFv2.wm.armv4i.cab? So the user wont need to make 2 installs.
GeneralRe: Applicable to VS2005?memberSatyam15july23 Jul '07 - 6:51 
i am using visual studio 2005
can u please help me how to generate cab files for different processor?
thro Visual studio 2005
in Vs 2003 there is a option for generating cab files for different processor,but how in VS 2005
i am developing a pocket Pc Application.
Thanks
sathish
 
my mail id is
 
ksathish@virtusa.com
 
ksathish_vellore@yahoo.co.in

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130523.1 | Last Updated 12 Nov 2005
Article Copyright 2005 by JacobEgholm
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid