Problem: How To Bundle the SatForms PocketPC runtime engine with your app
Solution: Satellite Forms 7 introduces a new way to bundle the PocketPC runtime engine with your application, enabling you to create app installations that are more simple, robust, and professional. This new improved installation approach is supported only when using the PDB device database format on PocketPC, and is not available when using CDB device database files.
Updated for Version 8: With Satellite Forms 8 there is a new capability to use an integrated runtime engine, which removes the need to install the runtime engine SatForms80.exe file separately from the application EXE file.
The previous approach, still supported in SatForms 7 and requried when using CDB database files, was to install the SF PocketPC runtime engine centrally in the \Windows folder on the PDA, and use that runtime engine for all of the SatForms apps installed on the device. A runtime engine installer is included in SatForms for this purpose. This approach does work fine if all of the SatForms apps on the device are created using the same version of Satellite Forms, but can be problematic when there are apps written with different versions of Satellite Forms.
The new recommended approach in SatForms 7 is to bundle the required SatForms runtime engine files directly with your application files, together in your application folder. Using this new approach, your installation becomes more robust, as your app will not be affected by other older SatForms applications being installed on the same PDA. Your installation can be more simple, because you can now use practically any method available to install your complete app onto the device, including simply dragging and dropping a folder from the desktop to the PDA, using the SatForms CeRdkInst utility, installing from a CAB file, or using a full installer like that created by EzSetup, PocketSetupInstaller, NSIS, InstallShield, etc. Your installation becomes more professional, because the Satellite Forms runtime engine is not listed separately in the Remove Programs list on the device, and so it presents a more complete, unified appearance to the end user.
How It Works
To make the bundled runtime approach work, you must do two things. First, you must create an icon for your application as per the instructions in the Satellite Forms help, so that when you compile your PocketPC application, both a .PDA and .EXE file area created. If you do not create an icon for your project, the .EXE file will not be created, and the bundled runtime approach will not work. Second, you must copy the SatForms70.exe and DvSddi_PPCPDB.dll files from the \Satellite Forms 7\Runtime\PocketPC folder to your application folder on the PocketPC.
When the user taps on the app.EXE file to launch your app, it will search for the SatForms70.exe file in the app folder. If the SatForms file is found, then it is used to directly run your application.
If the SatForms file is not found, it will then try to launch your app via the PDA file, using the app that is registered to handle the PDA files (the SF runtime installer registers the runtime engine to handle PDA files when it is installed -- this is the approach used in previous versions).
We've added another article entitled How To Create an Installer for your SatForms 7 PocketPC Application that describes the complete step by step approach for creating a single-EXE installer for your SatForms 7 PocketPC PDB application using the bundled runtime method. Following this approach, you can create a simple, clean, professional looking installer for your PocketPC application.
Keywords: bundle, runtime, PocketPC, Windows Mobile, install, setup, deployment
KB ID: 10043
Updated: 2010-06-22
Satellite Forms KnowledgeBase Online