***Note: I also posted this in the database forum ****

Creating a setup program for the last project I worked on was a nightmare. I tried three different setup packages, and none of them individually could create a reliable installation that would work on all Win platforms (95, 98, and NT - didn't try 2000). The setup packages were InstallShield Express 2.13, the PDW (everyone's favorite), and Visual Studio Installer 1.1.

The project used VB6 w/SP4 to connect to an Access 97 database (DAO 3.5), along with Crystal Reports 4.6 (the one that ships on the VB6 CD). For what it's worth, the FSO (Scripting object) was also used.

An InstallShield installation would go smoothly, but when the application ran, the error 429 (ActiveX could not create object) would come up. The Visual Studio installer could not register the Crystal Reports OCX during the install, and would also produce the 429 error when the app was run (I thought it was supposed to take care of that!). I was reluctant to let the PDW continue after it produced the message "Some system files are out of date - you must reboot to continue" - I had been burned by that a while back with the VB5 setup program (a user's machine was hosed); they may have fixed this in the VB6 PDW, but I'm not going to take that chance.

Although not an ideal solution, what finally worked was using a COMBINATION of two of these tools. I found that if I run the InstallSheild setup first, then uninstall the app, then install using the VSI or PDW setup on top of that, the app runs fine. But yecch - who wants to make the user run two install processes?

Any thoughts on what could have been done to make this smoother and not "confuse" the installers? Should I have used an Access 2000 DB instead of 97? Should I have accessed it via ADO rather than DAO? Should I have used the latest version of Crystal Reports? Or does none of that matter? Any opinions on what you can do to test and make sure you have a bullet-proof install?

I appreciate your input on this issue.