08-23-2013 04:26 AM
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)?
10-31-2013 07:59 AM
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:
Where more than one application using InterOp is installed on the PC you can have the following scenarios:
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?
10-31-2013 08:56 AM
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.