Hello,

I am supposed to repackage (capture) the Oracle 10g client installation. Does anyone have a prior experience of this activity? Thanks to share.

regards,
Tushar Singh
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Community Chosen Answer

3
Don't capture it!

You're better off creating a response file and then writing a wrapper to call the setup.exe with the response file

To record a new response file:
setup -record -destinationFile <response_file_name>

To start OUI and specify the response file, enter the following command at the command line in the directory where the executable file is installed:
setup.exe -responseFile <filename> <optional_parameters>

We have used the following optional parameters:
-silent (performs a silent install)
-nowait (removed the need to press enter at the end of the silent install)
Answered 06/17/2008 by: timmsie
Fourth Degree Brown Belt

Please log in to comment
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

1
Whoever asked you to re-package it has obviously never done it.

Oracle Client is a bear: it *has* been done but it is certainly not for the faint-hearted. The concensus is, if you need an MSI for your deployment, create one which is simply a wrapper for the Oracle installer.

See here http://www.appdeploy.com/packages/detail.asp?id=759 for notes, etc.
Answered 06/17/2008 by: VBScab
Red Belt

Please log in to comment
2
ORIGINAL: VBScab
Whoever asked you to re-package it has obviously never done it.
Oracle Client is a bear: it *has* been done but it is certainly not for the faint-hearted. The concensus is, if you need an MSI for your deployment, create one which is simply a wrapper for the Oracle installer.
See here http://www.appdeploy.com/packages/detail.asp?id=759 for notes, etc.


Then again, some of the more senior packagers swear they wouldn't let the Oracle installer touch their machine. According to them the main difficulty in repackaging it is scripting around all the possibilities for Oracle_Home for workstations that have Oracle on them already.
Answered 06/17/2008 by: aogilmor
Ninth Degree Black Belt

Please log in to comment
0
ORIGINAL: aogilmor
Then again, some of the more senior packagers swear they wouldn't let the Oracle installer touch their machine. According to them the main difficulty in repackaging it is scripting around all the possibilities for Oracle_Home for workstations that have Oracle on them already.
That's true, accounting for Oracle_Home *is* the major challenge. Most clients I've worked for have separately-scripted handling for that. However, I've never encountered issues with OUI that would preclude its use. Maybe I've just been lucky :)
Answered 06/18/2008 by: VBScab
Red Belt

Please log in to comment
0
I have had much success re-packaging muliple versions of Oracle Client for my environment ranging from 8.1.7.3 up to most recently 10.2.

There are a few key things that make the packaging process as well as the ongoing support effort much easier.

-Create a package to manage the tnsnames and sqlnet files for all version.
-Create a package that contains all of the Oracle Home registry information for ALL versions.
-This will allow clients to run multiple version of the Client on one machine.
-Don't include the the ORACLE_HOME environment variable in any packages as this will lock the machine down to the specific client.

Before the capture:

-Install the packages containing your tnsnames and Oracle Home information prior to capture. This way the OUI will detect the other version and assign a new Oracle Home location.
-Start the OUI prior starting your capture. This way you won't capture all of the temporary garbage from the OUI.

We have been using this process for many years because our environment requires us to keep multiple versions of the Oracle Client available due to vendor support issues.
Answered 06/27/2008 by: bigherrm
Senior Yellow Belt

Please log in to comment
0
Just a word of advice, If at all you are capturing the application and are using ODBC tables for driver installation , Keep in mind that the foriegn key refference File_ by ODBC table should be in File table as Short File name.
For more information refer to http://msdn.microsoft.com/en-us/library/aa370547(VS.85).aspx .[:)]
Answered 06/27/2008 by: blacklisted_packager
Orange Belt

Please log in to comment
0
come on Ian where's your sense of adventure.

BigHerrm
Don't include the the ORACLE_HOME environment variable in any packages as this will lock the machine down to the specific client.

you can include this with a little CA, by setting the Oracle_Home\Home0 to something a little more dynamic such as Oracle_Home\Home[OracleID] you can use a CA to populate a dynamic value at installation time. I have posted about this numerous times here and in Wise forums due to the necessity to have all items in MSI's.

there are pro's and con's to both ways.

MSI is simply a pain in the butt to do.
RSP doesnt support ref counting uninstalling breaks any other versions of Oracle on the machine.

I like to package it just for kicks, I actually use it as an example in my training sessions. Its a great app to show how to use CA's, CustomActionData, AppSearch all in a single package, dynamic registry entries in a single app.
Answered 06/30/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
Setting the ORACLE_HOME environment variable will work if you only intend to use 1 version of Oracle Client on the machine at a time. Otherwise all versions will look to whichever ORACLE_HOME is set. My environment has users that run multiple versions concurrently on the same machine so I don't include the environment variable at all.

Another option used in the past was a vbscript attached to the command line of the application shortcut that would set the variable prior to launching the application dependent on Oracle. This worked but was found not to be neccessary as the variable is not needed if the homes are set in the registry.
Answered 07/01/2008 by: bigherrm
Senior Yellow Belt

Please log in to comment
0
not entirely correct Bigherrm

You can put the registry in as a variable and toggle the variable value based on found versions of Oracle. The original Oracle installer simply enumerates installed versions of Oracle and increments new versions by 1 during installation. You can mimic this functionality with some smarts within your msi's.

If you want more information I can provide code.

cheers,

john
Answered 07/01/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
Yes, I would definitely be interested in seeing it.

We keep all the OraHome information in a seperate MSI and do not use the default names tha the OUI uses for the home directories. This process has worked quite well over the years. But I am always open for new ideas.

Thanks
Answered 07/01/2008 by: bigherrm
Senior Yellow Belt

Please log in to comment
0
Hi,

I have managed to take a capture of the Oracle Client 10g, however, ended up with wierd problems.

1. It has bundled JDK 1.4.2.1.4 but the dlls do not register until i install a JRE separately.
2. On 'some' machines, i encounter an error that OraOLEDBpus.dll - could not find module. I have used the registry instead of the ODBC driver in packing up the contents. For some computers, it works fine. I tested on 4 computers, on 2 it works well, and on the other two, results in the error.

I have invested more than 4 days on the packaging activity for this software, but it still seems i am banging my head over closed walls and hearing some ticking clocks! :-(

Can anyone help me out with this strange thing??

regards,
tushar.
Answered 08/04/2008 by: matrixtushar
Purple Belt

Please log in to comment
1
I'll bet you have these files in the SelfReg table? Bad idea...

There is a whole bunch of JRE/JDK files which contain the DLLRegisterServer entry point but which do not contain any COM information. Those prefixed 'NPJAVA' are the chief culprits but there are others. Either use the utility provided by your authoring tool (e.g. WiseComCapture) or simply attempt to register the offending files manually using RegSvr32. For those that fail, remove them from the registration process or, better yet, don't use SelfReg at all. Instead, extract the COM information to .REG files and import those into your project, electing to use the advertising tables if prompted.
Answered 08/04/2008 by: VBScab
Red Belt

Please log in to comment
0
Bingo VBSCab!! The problem seemed to be of the self reg which was creating the havoc. Similarly, my other problem gets solved with the same solution. The files sqora32.dll and sqoras32.dll are not being copied before the OraOLEDB10.dll tries to register. Therefore, it cant find the module.

The solution that i have applied is msiexec /Y key in the execute deferred section that will take care of the registration process.. This package, truely is complex. Its gone for user validation though, and it was until the delivery date i was fighting a way out of the booming errors that blew my head off like a bomb...

You are the messiah man!!
:-)

cheers,
tushar
Answered 08/04/2008 by: matrixtushar
Purple Belt

Please log in to comment
0
Oracle Client 10g - A repackager's Diary!
----------------------------------------------------

Getting past the walls of Oracle Homes
---------

A repackager's nighmare to package any version of Oracle client seems to be looming at the fact that their media must support the presence of multiple oracle homes on the single computer. Well, the challenge seems to be quite similar to me, as shared by many of the professionals in this field.

The case was to have the Reports version 2.5 installed (with Oracle 7 client as the home) and the heavy Oracle 10g client to be installed on top of it. Business case fairly simple as legacy applications need to be hooked on the previous client, where as the newer applications have to make use of the 10g one.

Repackaging this scenario involved the usage of Wise Setup capture (Snapshot). I installed the reports runtime environment first, then followed by the Oracle 10g client. The following were the noteworthy steps:

1. ODBC Driver settings are not captured properly. Removed the ODBC connection settings from the Installation Expert and made the editions in the registry directly under the ODBC key. Details are listed on the page http://community.acresso.com/archive/index.php?t-104522.html.
2. Self Reg cleanup. After starting the installation, i noticed that the JDK that is bundled with the client installation misbehaves. Specially the NPJava* files behaved a little nasty. Thanks to VBScab (see above) i tried out the msiexec /Y option in the execute deferred section to register these files at a later stage.

Seems like the installation is now error free and has been despatched for user validation. Keeping fingers crossed and hoping for the best!
Answered 08/04/2008 by: matrixtushar
Purple Belt

Please log in to comment
0
ORIGINAL: matrixtushar
The solution that i have applied is msiexec /Y key in the execute deferred section that will take care of the registration process..
I *never* register DLLs or OCXs this way, or using RegSvr32, precisely because both rely on the presence of dependencies for success. The correct way is to export the COM information from the file into a .REG, import the .REG and have the information populate the relevant advertising tables rather than the Registry table.
Answered 08/05/2008 by: VBScab
Red Belt

Please log in to comment
0
ORIGINAL: matrixtushar
1. ODBC Driver settings are not captured properly.
I've never had a problem with them being captured but *have* experienced problems with getting the data from the ODBC tables onto the target. As such, I routinely move stuff in the ODBC tables to the registry as you have done. Note also for future reference that there are *some* apps that seek out their settings directly from a 'physical' ODBC.INI, ignoring the Windows API INI calls and the INIfileMapping registry redirection.
Answered 08/05/2008 by: VBScab
Red Belt

Please log in to comment
0
ORIGINAL: jmcfadyen

not entirely correct Bigherrm

You can put the registry in as a variable and toggle the variable value based on found versions of Oracle. The original Oracle installer simply enumerates installed versions of Oracle and increments new versions by 1 during installation. You can mimic this functionality with some smarts within your msi's.

If you want more information I can provide code.

cheers,

john



Having been through the pain of developing scripts to do this very thing I can support the fact that this can be made to work quite well.

A question does however arise if there are more than two Oracle homes defined and an uninstall is performed of the Oracle product that has the current Oracle Home.

What should then become the new current Oracle home following the uninstall?

In my case, I just decrement the home counter and take the previous enumerated Oracle home to be the new one. This may be less than optimal ... opinions anyone ?

Regards,

Spartacus
Answered 08/05/2008 by: spartacus
Black Belt

Please log in to comment
0
hi,

Regarding the multiple homes and retaining one while the application gets uninstalled, is it not possible to make a featured based installation so that only the necessary features get removed and the other home remains there with appropriate environment variables set accordingly...

Maybe just a wild guess... never tried this though..

regards,
Tushar
Answered 08/05/2008 by: matrixtushar
Purple Belt

Please log in to comment
0
"extract the COM information to .REG files"

How can I do this? Thanks! (Trying to capture Oracle 10G + Patch 10.2.0.4 but running into OraOLEDBpus10.dll errors.)
Answered 04/12/2011 by: toco
Senior Yellow Belt

Please log in to comment
0
If you have Wise Package Studio, use the command line utility WiseComCapture. There's a similar tool for AdminStudio whose name I can't recall just now, as I'm remote from my VMs today.
Answered 04/12/2011 by: VBScab
Red Belt

Please log in to comment
0
For AdminStudio, it is RegSpyUi.EXE
Answered 04/12/2011 by: WiseAppPackager
Purple Belt

Please log in to comment
Answer this question or Comment on this question for clarity