Using different Oracle clients in M.App Enterprise
In order for M.App Enterprise to access an Oracle database from it's .NET built server components, the so called ODAC components are necessary to be installed along with the Oracle Database Client software.
Starting with Oracle Database Client 12c Release 2 there was a change in deployment of those components.
This makes an additional step necessary when installing M.App Enterprise. (Only regarding Oracle of course)
Up until now the Oracle Database Client's setup took care about deploying the Oracle.DataAccess.dll into the Global Assembly Cache on a Windows machine. This now has to be made in a manually step.
BUT this additional step has also an advantage. It makes M.App Enterprise independent of the Oracle Database Client that is used on the customers environment. (Oracle Database Client 12 Release 1 or higher)
For Oracle Database Client 12c Release 2
Open a command line (with Administrative privilege) and execute the following lines
(First 2 lines are just comments)
REM set absolute path to the Oracle Client home
REM in this example it's 'C:\app\client\user\product\12.2.0\client_1'
set Oracle_x64=C:\app\client\user\product\12.2.0\client_1\odp.net
set OraProvCfg_x64=%Oracle_x64%\bin\4\OraProvCfg.exe
"%OraProvCfg_x64%" /action:gac providerpath:%Oracle_x64%\bin\4\Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.112.Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.121.Oracle.DataAccess.dll
For Oracle Database Client 18/19c
Open a command line (with Administrative privilege) and execute the following lines
(First 2 lines are just comments)
REM set absolute path to the Oracle Client home
REM in this example it's 'C:\app\client\user\product\18.0.0\client_1'
set Oracle_x64=C:\app\client\user\product\18.0.0\client_1\odp.net
set OraProvCfg_x64=%Oracle_x64%\bin\4\OraProvCfg.exe
"%OraProvCfg_x64%" /action:gac providerpath:%Oracle_x64%\bin\4\Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.112.Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.121.Oracle.DataAccess.dll
"%OraProvCfg_x64%" /action:gac /providerpath:%Oracle_x64%\PublisherPolicy\4\Policy.4.122.Oracle.DataAccess.dll