Community Tip - When posting, your subject should be specific and summarize your question. Here are some additional tips on asking a great question. X
Hello dear community members,
how do you deal with the fact that the toolkit DLLs you compile depend on other DLLs (e.g. any open source libraries)?
As far as I know, the additional DLLs are only found when starting the auxiliary application in Creo if they are located in the Creo startup directory or a directory of the PATH environment variable.
Or do you know a way for Creo to find the additional DLLs even if they are in the same directory as the Toolkit DLL itself?
Thanks and regards,
Domenic
Solved! Go to Solution.
I use only the extend of the PATH var. For a user it is not allowed to change the PATH var. But if you have other dependencies, it may not so easy to copy this DLL's just to your Toolkit DLL folder, because this DLL's may depend on other DLL's as well. PTC is doing this in the PSF file. So I would use this technic as well.
Just modify the PSF in the same way.
Here one line of the PTC psf (ProEngineer Startup File)
This statement will add a new path for dynamic loading of PTC's DLL's.
ENV=PATH+=%PRO_DIRECTORY%\%PRO_MACHINE_TYPE%\deflib
I do not copy my required DLL's, because this is more effort. This is a simple way of doing.
I hope that helps to solve your issue.
I'm setup the PATH environment variable. Why is not suitable for you?
Maybe I misunderstood your question 🙋
Here is more
https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order
If you didn’t read this already 😅
Usually you install Toolkit apps by referring to the protk.dat or creotk.dat of the app in the config.pro.
And in the *.dat file again the path to the Toolkit DLL is noted.
That's all you need to install a Toolkit app.
If you now deliver a Toolkit app that requires other (e.g. open source) DLLs in addition to the Toolkit DLL, all DLLs are conveniently located in the same directory.
Now, in my opinion, it would be nice if you didn't have to additionally extend the PATH environment variable to install the Toolkit app, but the fact that all DLLs are in the same directory would be sufficient.
@DomenicLaritz wrote:
Now, in my opinion, it would be nice if you didn't have to additionally extend the PATH environment variable
Yes, it is good opinion. But, I don't know any alternatives ways for Toolkit apps.
Looks like @RPN trying to explain for us something. But I don't understand how to use posted information in MS web site 😁.
I use only the extend of the PATH var. For a user it is not allowed to change the PATH var. But if you have other dependencies, it may not so easy to copy this DLL's just to your Toolkit DLL folder, because this DLL's may depend on other DLL's as well. PTC is doing this in the PSF file. So I would use this technic as well.
Just modify the PSF in the same way.
Here one line of the PTC psf (ProEngineer Startup File)
This statement will add a new path for dynamic loading of PTC's DLL's.
ENV=PATH+=%PRO_DIRECTORY%\%PRO_MACHINE_TYPE%\deflib
I do not copy my required DLL's, because this is more effort. This is a simple way of doing.
I hope that helps to solve your issue.
That's how I'm doing it at the moment.
The disadvantage I see in this approach is that you must not forget to adjust the PSF file if the folder name of the Toolkit app ever changes.
This happens a lot with my Toolkit apps because I usually include the version number of the app in the folder name.
Therefore, I would have been comfortable if the Toolkit DLL primarily just looks in the same directory for the rest of the dependencies.