PDA

View Full Version : Repackaging Oracle Client 8.17



ericmol
10-18-2002, 02:01 PM
Has anybody been able to repackage the Oracle Client 8.17. For me everything works other than the OBDC driver which bombs at MSI install with a message saying Sqlresus.dll could not found!

Error 1918 Error installing Oracle ODBC Driver,ODBC error 13

The DLL is there.

nicholas_ong
10-18-2002, 02:29 PM
I'm not sure if this is a bug but generally ODBC drivers and DSN settings are not created properly by the API. We're instead creating ODBC drivers and DSN through the registry keys. You should be able to grab all that information from the .nir file.

praveenl
10-18-2002, 05:16 PM
If you can email me the ism, inc and nir/isr files at praveenl@installshield.com, I can have a look at it.

Badzox
10-19-2002, 07:09 AM
Did you solve the Problem ? Please inform me....

ericmol
10-21-2002, 09:12 AM
I just sent some NIR., INCS info, print screens and log files to Praveenl.

In the mean time I was able to create a working MSI by unclicking the Oracle ODBC section in Developer. And by adding the whole "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Oracle ODBC Driver" section from a working PC (installed without MSI) into the RegistryData_machine Component in developer.

The result is an MSI that gives no error at install time. But the list of ODBC drivers in control panel lists a Oracle ODBC Driver with no version number.... Up to now it looks functional ... I will keep you posted.

nicholas_ong
10-21-2002, 09:25 AM
Eric, that will only provide you with the DSN information. Grab also the HKLM\Software\Oracle keys, that will provide you with the proper Oracle ODBC driver information.

ericmol
10-21-2002, 09:52 AM
The HKLM\Software\Oracle keys were already in the project. They were grabbed by the repackager.

Also the HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI keys seem to contain drivers ... not DSNs.

The DSNs are in HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI but we do not configure any DNS in the MSI.

-------

So there has to be more to it...

-------

Also ... the MSI looks ok but after testing with applications that use ODBC... it`s not ok.

Back to square one.

ericmol
10-23-2002, 12:46 PM
I was able to get it to work with the help of Nicholas and Praveen.

Here`s the receipe:

First of all : for the ODBC part of the Oracle Client, it looks like the builtin API of Developper won`t do the trick. So we need to do a bit of manual adjustements.

1) Clean station
2) Snapshot
3) Install Oracle Client
4) tweak - adjust
5) Snapshot
6) Convert INC file
7) Clean up USER section
8) Clean up BAGS, MRU...

Now for ODBC to work
9) Unclick Oracle ODBC client from the ODBC Ressource section (this removes sqora32.dll from the list of files that will be installed by your MSI)

10) Import HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Oracle ODBC Driver section from the snapshot PC
11) Import HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers\Oracle ODBC Driver value from the snapshot PC

12) Import HKEY_LOCAL_MACHINE\SOFTWARE\Oracle from the snapshot PC
13) add SQORA32.dll from the oracle bin directory in the file section.

14) clean up the PATHs in environemnt section

15) build

This should create a nice MSI with oDBC driver fully functional.

Badzox
10-25-2002, 03:23 AM
It worked. Thx !!


P.S: Will Installshield be ever able to fix the problems with ODBC Resources ? I seacherd for a similar Probelm about 2 years...

dschur
10-25-2002, 11:45 AM
All,

Thanks for the great discussion. We're looking into adding an option in the repackager to use registry entries for ODBC, rather than the MSI ODBC tables to help you out in a future release.

nicholas_ong
10-25-2002, 01:47 PM
Dave,

Thanks for being proactive with this. By the way, I've encountered similar issues with creating Services and have had to go through the registry to create them. Have you had similar experiences?

JBarbosa
11-15-2002, 05:52 AM
Originally posted by ericmol
Has anybody been able to repackage the Oracle Client 8.17. For me everything works other than the OBDC driver which bombs at MSI install with a message saying Sqlresus.dll could not found!

Error 1918 Error installing Oracle ODBC Driver,ODBC error 13

The DLL is there.

Hi Ericmol,

I already repackage The Oracle Client 8.1.7 and it seems to work fine with me.
It´s true that generally ODBC drivers and DSN settings are not created properly by the API. To resolve this problem i only needed to check and uncheck the corresponding ODBC resources in the project.

MLeiria
11-15-2002, 05:52 AM
and if the check and uncheck the ODBC Resources doesn't work, you can write directly in the Registry (check for the entries in your inc file).

Manuel Leiria

MLeiria
11-15-2002, 06:02 AM
I've had some problems in creating services. The best way is going directly to the registry

JBarbosa
11-15-2002, 06:16 AM
Originally posted by nicholas_ong
Dave,

Thanks for being proactive with this. By the way, I've encountered similar issues with creating Services and have had to go through the registry to create them. Have you had similar experiences?

I have problems in making services work well, but if you go to your NIR file you will see the entries for your services under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services...
and the project will import that keys, but the services will not work, so i do this:

[1] - Clean all registry entries with this key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services..., in the project

[2] - Then i go directly to the component that have the .exe for the service and in advanced settings of that component i create and configure a new service.

[3] - After that, i choose control services and configure the behavior for that services (like if he is started, automatic, etc)

P.s. Remember to clean the registry entries first, or you will have duplicated services.

It works fine with me.

João Barbosa

WillFa
01-29-2004, 03:44 PM
[Has anybody been able to repackage the Oracle Client 8.17. For me everything works other than the OBDC driver which bombs at MSI install with a message saying Sqlresus.dll could not found!

Error 1918 Error installing Oracle ODBC Driver,ODBC error 13[/B]


The error happens because the running Installer process doesn't update it's environment after adding the variables from the tables. Oracle needs to be in the path for the ODBC driver to install correctly.

In AdminStudio 5.5, it's a simple enough matter to have a custom action with VBScript executing:

Session.Installer.Environment("Path") = Installer.Environment("Path") & ";C:\Path\To\Oracle\Bin"


For Earlier versions of InstallShield using Install Script, there's sample code using SendMessage and WM_WININICHANGE that people can search on.