SQL CE installation in PPC

G

Guest

I have a PPC application consuming a SQL CE. I want to generate a msi file as
the installer of the PPC Application. I want to install the SQL CE
automatically when installing PPC application. Is there any way to do that?
 
A

Andreas Wolff

Am Tue, 2 Nov 2004 20:21:01 -0800 schrieb BlueMoon
I have a PPC application consuming a SQL CE. I want to generate a msi
file as
the installer of the PPC Application. I want to install the SQL CE
automatically when installing PPC application. Is there any way to do
that?

Yes.
First you have to include the SQL CE cab files into your setup project.
Next step is to call the CeAppMgr.exe Tool (comes with Active Sync) during
your setup, setting the cab files as calling parameter (eg: ceappmgr.exe
"sqlce.cab"). You can find the path to active sync directory in the
registry.

Best regards
Andreas
 
E

Ercan Turkarslan [MSFT]

Hi,

CeAppMgr requires an INI file which also contains the names of CPU specific
CAB files. You need to call the CeAppMgr twice with different INI files in
order to setup SQL Server CE or .NET CF along with your application.

There is an article in www.CodeProject.com which also refers to an MSDN
article. If you follow these two articles together and make the following
changes in the CustomInstaller sample code in MSDN article.

Link to MSDN Article is:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/h
tml/netcfdeployment.asp

Link to CodeProject Article is:
http://www.codeproject.com/netcf/PackagingAndDeployingPPC.asp

Here is the modification that you need to make in CustomInstaller DLL
sample in the MSDN article:

RunAppManager(Path.Combine(arg, "NETCFSetup.ini"))
RunAppManager(Path.Combine(arg, "MyApp.ini"))

The following change is required with in RunAppManager.
' launch the app with Wait for Exit
Process.Start( String.Format("""{0}""", appManager),
String.Format("""{0}""",
arg)).WaitForExit()

Thanks

Ercan Turkarslan [MSFT]
Microsoft Mobile Devices Developer Support

(e-mail address removed)


This posting is provided "AS IS" with no warranties, and confers no rights.
 
G

Guest

I have tried as what you described. But the installer still can not install
the SQL CE into the device. The message is "There is no compatable software
to install into the device".
What I did is(VB.NET):
1. Add all the .CAB files for SQL CE into the SETUP project (like
sqlce.wce4.armv4t.CAB).
2. Add the following code into the Installer_AfterInstall function.
Dim argSQLCE As String =
Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "SQLCE.ini")
Dim arg As String =
Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "Setup.ini")

' run WinCE App Manager to install .cab file on device
RunAppManager(argSQLCE)
RunAppManager(arg)
3. Modify the RunnAppManager function as following:
Process.Start( _
String.Format("""{0}""", appManager), _
String.Format("""{0}""", arg)).WaitForExit()

4. Then I rebuild the setup project and install into the device.
My own application can be instlled correctly, however the SQL CE cannot be
installed. Is there anything to do with the CAB files I added to the setup
project?
Hope to receive your answer soon. Many thanks.
 
E

Ercan Turkarslan [MSFT]

Hi,

It looks like there is a problem in SQLCE.ini file.

The following KB article is about troubleshooting WinCE App installations
via CeAppMgr.

http://support.microsoft.com/default.aspx?scid=kb;en-us;181007

For test purposes you can change your Process.Start method with the below
code snippet. This will let CeAppMgr display more information which may be
helpful.
Process.Start( _
String.Format("""{0}""", appManager), _
String.Format("/report ""{0}""", arg)).WaitForExit()

Putting space character(s) between CAB files, placing unnecessary new lines
in your INI file cause errors. "/report" command line helps you figure out
these kind of problems. This parameter will also display the processor type
in each cab file you specified in your INI file.

I am sorry for my late response.

Thanks

Ercan Turkarslan [MSFT]
Microsoft Mobile Devices Developer Support

(e-mail address removed)


This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top