odbcwindows-installerdriverwise

When installing an ODBC driver, Windows Installer keeps putting it in SystemFolder


I'm working on an installer that, among other things, installs a web server. As part of the setup, I'm setting up an ODBC driver and data source. I'm trying to put a bunch of utility files, including the third party ODBC driver DLL, into a certain folder, but when I run the installer, it insists on changing that directory to the SystemFolder directory. Why is it doing this, and is there any way that I can make it install the files where I want them to go? Strangely enough, it was actually working correctly up until I added a bunch more files to that particular folder. In case it's relevant, the files that I'm having trouble with are in a merge module.

(I'm temporarily getting around the problems that this is causing by installing the DLL to the SystemFolder, but I'd much rather avoid DLL hell by having it installed where I want it to go, not where Windows Installer seems to think it should go.)

I should also point out that I'm using Wise Installation Studio 7.0 as my development environment.


Solution

  • It would seem that it's not Windows Installer that insists on the ODBC Driver DLL being installed in the SystemFolder directory, but Wise. We found this solution for getting rid of an Error 1918 problem that we were also seeing, which says to take the driver entries out of the ODBCDriver table, and stick them in as Registry entries instead. After implementing that fix, we tried moving our DLL to where we really want it to be installed, and the installer was happy with that.