Home
Reply
Super Contributor
Posts: 236
0

Re: CATIA V5 Configuration Requirement in R24

Hello TTC,

 

The PATH need to include location to InterOp dlls on both "developer" and "end user" machines.

 

Regards,

Yogesh

TTC
Contributor
Posts: 11
0

Re: CATIA V5 Configuration Requirement in R24

Hello,

this means that from R24 Spatial forces all customers to do so for their deployment?

 

In previous releases, we have put all acis, trans and direct release DLLs straight into our bin folder (separating the x86 and x64 of course).

This bin folder is where our translator exe lies as well.

For CATIAV5 we have copied the lib3dx folder "as is" into as a subfolder into the biny folder, which worked fine until now.

 

Regarding CATIAV5 translation with R24 on an "end user" machine, there is no other way than adding the <iopInstallDir> into the PATH system variable (either once during Setup or when every time calling the translator.exe)?

 

Thank you.

Visitor
Posts: 3
0

Re: CATIA V5 Configuration Requirement in R24

This is an extremely serious regression to the InterOp library.

 

"The PATH need to include location to InterOp dlls on both "developer" and "end user" machines."

 

With this single sentence you have broken application issolation for anybody that links InterOp functionality into their executable.

 

Look at the options you have for this on Windows:

 

  • Modify the PATH variable during installation. Global to all software products on the machine.
  • Use the 'App Paths' mechanism to modify the PATH variable at startup of the application. Local to the application, with some caveats. 

Where more than one application using InterOp is installed on the PC you can have the following scenarios:

 

  • Both applications modify the 'PATH' variable during installation. Assuming they each append their paths to the variable's value then the first application to be installed will win. The second application's development team spend a huge amount of time tracking down why a model fails to import becuase it is loading an older version from an application that has nothing to do with them.
  • Each application uses a different method. The team that used the 'App Paths' approach can be affected by the less than careful team and again can waste time/money diagnosing problems introduced by another product. Worse still they cannot provide a fix otther that saying 'do not install the other product if you wish to use ours'.
  • Both applications use the 'App Paths' mechanism. Alright they are now issolated from one another better hope a third application doesn't get installed that modifies the global 'PATH' variable.

Why do I have a problem with this if I can find a solution?

 

Well 'App Paths' only allows for the setting of an application's environment using its file name. If a product allows multiple installations, e.g. V1.0 and V2.0 to be installed then it is only as good as a global variable. Whichever product gets installed last will win in this scenario.

 

Seeing as I develop a product that allows multiple installations and is often installed with other products that use InterOp, what I am to do?

I could use delay DLL loading with a linker switch, set my folders at application startup but I would still have to handle scenarios where the Windows DLL loader finds InterOp dlls on another path (un-load them and then remove that folder location from the path variable). This seems like a lot of effort that every InterOp developer should be doing to in order to obtain issolation.

 

Why not get the calling application to set the paths containing the DLLs?

 

TTC
Contributor
Posts: 11
0

Re: CATIA V5 Configuration Requirement in R24

Hello Matt,

 

Many thanks for your reply.

As far as I know, this problem applies only to the R24GA Version-

From InterOp R24SP1 you can either use the environment (PATH) or put your translator executable in the

\iop\NT_VC10_DLL\code\bin resp. \iop\NT_VC10_64_DLL\code\bin folder without changing the environment (and prerequisite's the presence of the unchanged \iop\lib3dx folder with all sub-folders (See also the release notes for R24SP1).

 

After feedback from spatial support, we have decided to skip the deployment of our product with R24GA integrated.

 

Regards,

 

TTC