cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Repackaging Oracle Client 8.17

CChong
By Level 11 Flexeran
Level 11 Flexeran
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.
(15) Replies
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.
If you can email me the ism, inc and nir/isr files at praveenl@installshield.com, I can have a look at it.
Did you solve the Problem ? Please inform me....
CChong
By Level 11 Flexeran
Level 11 Flexeran
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.
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.
CChong
By Level 11 Flexeran
Level 11 Flexeran
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.
CChong
By Level 11 Flexeran
Level 11 Flexeran
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
😎 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.
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...
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.
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?
CChong
By Level 11 Flexeran
Level 11 Flexeran
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.
CChong
By Level 11 Flexeran
Level 11 Flexeran
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
CChong
By Level 11 Flexeran
Level 11 Flexeran
I've had some problems in creating services. The best way is going directly to the registry
CChong
By Level 11 Flexeran
Level 11 Flexeran
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
[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 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.