Problem creating PDA install

  • Thread starter Donny Ray via DotNetMonster.com
  • Start date
D

Donny Ray via DotNetMonster.com

I have 4 programs that I have created and maintain for the company I work for. All of our clients run iPaq PDAs and up until recently all ran the 5000 series (5450, 5550, or 5555). These programs all store their data in a SQL CE database, and due to the size that some of these DBs can reach and for the sake of making sure they didn't lose data if(when) they let the battery run down I decided to install the programs to the storage card. Everything ran absolutely fine until Symbol stopped making the sps3000 sled type scanner jackets. At that point we re-evaluated our options and decided to switch to an iPaq hx4705. These PDAs run the windows mobile OS, and the Storage card folder is no longer \Storage Card but has been changed to \SD Card. Programatically that was no big issue, but with the installs it is creating me some havoc. So I guess my question(s) are as follows.

1. Is their anyway to setup the cab file with a macro for the storage card folder so that it will automatically install to whichever one is present?

2. This is the track I am on now. I create 2 cab files. One for the older version PDA and one for the new, each specifying the correct path to the storage card. I take these 2 cab files and put them into one cab file. Now, I need to create a setup.dll that will check to see which path is correct \SD Card or \Storage Card and activate the proper .cab file. I have tried over and over to create this setup.dll following all the instructions I have found and cannot get it to run on this PDA. I am creating it in eVC++ and creaing it for the right platform. But when I include it in the cab and specify it as the setupdll, it will not run on the PDA. I immediately get a Setup failed message. What I have got to successfully work at this point....I created a setup.exe instead of the setup .dll that performs the same action. It checks to see which path is correct and starts up the correct .cab file. The only problem with this is it adds an extra step for the end user to perform on install, and honestly we try to keep as many steps out of their hands as possible because most of our clients aren't the most computer literate people. So if I can't figure out how to create the setup.dll, is their any way I can have the cab file automatically run my setup.exe after it finishes installing, or if not is their anyway I can send a command from the desktop PC to the PDA to start my setup.exe on the PDA after it has finished. I am using installshield express to build the final setup, and have the option to run something PC side if their is something I can run from there that will cause the setup.exe on the PDA to run.


Hope that's not all too confusing. Any help will be greatly appreciated.
 
C

Chris Scott

Hi,

1. Not that I am aware of, however, if you run the setup from the PC (and
not run the CAB directly on the device), ActiveSync will always ask where
you want to install the application (main memory or storage card) and that
becomes the destination directory.

2. I've done many setup DLL's and never had a problem getting them to
execute on the device. Have you put message boxes into the DLL to see when
it is getting called or not called? I finally gave up and modified a Today
DLL tester that I use to also run a setup DLL through it's paces in order to
debug the things. The calls are all publicly defined and if they are
exported properly it's a trivial task to use another application to at least
test that it's working.

Another option would be to install your application as it is today and then
put the database on the storage card as part of the rules within the
application if that's possible (as long as it's not too big at the time of
install to fit in main memory for a short time).

You could also have 2 installs this way: one for the applications and one
for the database and for the database one use the DLL option to place it
where you want it.
 

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