I have a small issue with a teststand installation package. I have wrote some VIs to provide a wrapper around a custom DLL to provide error handling. These VIs use the following call library functions like shown below.
After installing my application some of my VIs are finding my custom DLL in the correct destination directory and other parts are finding this in the Support VIs directory that the deployment creates. The issue is that the DLL must be installed in a specific directory because it uses other files that are in relative directories to this location.
Currently I get around this issue by running the installer and then manualy deleting the DLL file from the SupportVIs dirctory.
Does anyone have any suggestions on how to resolve this issue ?.
Solved! Go to Solution.
The options available for the destination directory are the one listed here:
You can change the Installation Directory using Installer Options
Thanks for your reply. Just to be clear, the deployment is putting the files correctly into the directories as shown in my first post and I can change the folder locations ok, unfortunately it is also putting a copy of the DLL into SupportVIs folder which it adds by itself.
I found this link which I think explains what is going on, basically Teststand puts ALL subVIs that are not directly called from Teststand into Support VIs directory.
I was hoping that there was a setting which would stop it adding this file to the supportVIs folder.
So, what seems to be going on is that your VI sees that DLL as a dependency and wants to keep it with it's VI. I can't find a way in the deployment tool to do what you are asking, however, here's two ideas that might solve your issue another way.
Do you need to have your DLL in that specific location? If not, why not in your VI on your Call Library Function, check specify path on diagram. Then, on your block diagram, you will build a path relative to the VI's location. This way, it's okay if your DLL is in the support VIs.
Another thought would be after the installation is created, you could create a batch file that will run the install and then automatically delete the DLL from the support VI location.