I was attempting to deploy an application to one of our test servers and ran into the issue that dblgen12.dll was missing. After adding this to the bin folder of my application I was dismayed to find out that this did not solve my issue. Following a little bit of digging I was able to gleam that dblgen12.dll was expected to be in the C:Windows folder or some where in the %Path% variable.
While this does make my application work it does create other issues. Every application on the server would need to be using the same version of the dataprovider. This isn't always possible and requires extra effort when it comes to deployment, something that we'd like to avoid.
Has anyone been able to come up with any workarounds for this?
EDIT - using V 22.214.171.124244
You might find that the application executable directory is a good option. It is not recommended to use the Windows directory structure as its intent is for system level components rather than application binaries.
Please review also the file search algorithm used by SA components for a complete set of locations used by SA to locate required files. See http://dcx.sybase.com/index.html#1201/en/dbadmin/da-install-s-5107108.html.
Note that there are other deployment files that may be required by the .NET provider. See http://dcx.sybase.com/index.html#1201/en/dbprogramming/deploying-adonet-deploy.html for details.
Workaround: If you have the luxury of using a shell script to start it (myprogram.cmd) you can start your app as the 2nd line and modify your path in the first to point to your app bin file.
set path=c:program filesmyapp;%path%
answered 28 Aug '13, 11:00