1

I have a 32bit Application to Install on Win10 (x64 OS). All my Oracle functionality works from within the debugger. Oracle.ManagedAccess driver is correctly registered in the VS Projects and the application works as expected from within the debugger. However, when I build my WiX-Based install pack and run the installed application I get the following error:

enter image description here

What am I missing here? In the previous VS2013 incarnation of the code as recently as last month using the ODP.NET driver 'Oracle.DataAcess', the application worked fine when installed. I'm at a loss as to where else to take this. Any assistance most welcome.

Paul Johnson
  • 213
  • 3
  • 14
  • Just a couple of links for now: [Application launch debugging](https://stackoverflow.com/questions/53512998/desktop-applicaton-not-opening-after-installation-in-client-system/53530377#53530377). Come to think of it, [this dependency scan answer might be better](https://stackoverflow.com/a/51940598/129130)? And a direct link to: [How the Runtime Locates Assemblies](https://learn.microsoft.com/en-us/dotnet/framework/deployment/how-the-runtime-locates-assemblies) - does **`Fuslogvw.exe`** tell you anything? – Stein Åsmul Aug 05 '19 at 14:35
  • Sorry, I should add that the Oracle client, in order to comply with Corporate policy has been upgraded from Oracle 11g to Oracle 12c. Also the Oracle version is not the full-blown client but rather the client-lite with relevent developer components added (such as .Net Oracle.ManagedAccess). – Paul Johnson Aug 05 '19 at 15:29
  • [Found something here](https://stackoverflow.com/a/44584308/129130), maybe have a look. Not really familiar with this I am afraid, but it should affect assembly binding. – Stein Åsmul Aug 05 '19 at 15:33
  • It sounds like wix didn't put Oracle.ManagedDataAccess.dll somewhere in the path on the target system (or possibly Oracle.ManagedDataAccessDTC.dll as well if using distributed transactions). An Oracle client isn't required on the target system either when using the managed driver. – topshot Aug 08 '19 at 16:33
  • Since the driver was installed as part of the VS2017 ODK, and worked in the debug environment it is my expectation that the managed access driver should by incorporated in the std assembly binding for the solution as it is referenced in all relevant assemblies within the solution. This is ceratinly how the Unmanaged driver has worked for the last 8 years :-/ There is certainly no instruction to the contrary in the help text for the driver. – Paul Johnson Aug 12 '19 at 09:34
  • @Stein Asmul - So much for expectations... Added tOracle.ManagedDataAcsess dll to the product.wxs file. Problem solved. – Paul Johnson Aug 13 '19 at 09:10
  • Would that be a file installed to the GAC? I would have a look there to verify. – Stein Åsmul Aug 13 '19 at 16:36

1 Answers1

0

Based on input from Stein Asmul, I jave resolved the problem. Solution simply involved including the Oracle.ManagedDataAccess.ddl in the product.wxs depositing the file in the application folder solved the problem.

Paul Johnson
  • 213
  • 3
  • 14