12-17-2018 10:41 AM
Hi all - for reference I am running LabVIEW 2017 SP1, 32bit, on a Windows 10 machine.
I've run into a frustrating issue with PPLs that I haven't quite narrowed down. Not sure if it is a bug or an issue with the way I'm doing things.
Essentially we have a project that's compiled into an executable, and we call a lot of VIs from a number of different PPLs in a folder 1 level below the exe - Let's call the folder "data". Many of the PPLs in this folder have dependencies on other PPLs in the same folder, but this all works fine. The problem I'm seeing is with the installer build for the application.
The folder of PPLs is included with the executable build in the "Always Included" section. Then in the installer build, all of the files in this folder are designated to be placed in a folder called "data", one level under the exe to preserve the expected hierarchy. On a fresh install, this seems to work 100% of the time - we install, and all files appear where they are expected. The issue arises when overwriting an old install - sometimes, the installer deletes the existing version of the PPL from the previous install but does not replace it with a new one. Then when a user attempts to run the application, it is of course unable to locate files from that PPL. Typically when this happens it will be 1-2 PPLs that are lost in this way.
From what I can tell, this only happens with PPLs that I have modified recently. I am having a hard time getting to the bottom of it and wanted to see if anyone out there has some insight. One thought is that it may be occurring when the PPL in the installer is older than the one in the existing install, which isn't a typical condition but has occurred due to a need to roll back a PPL. I have however tried rebuilding the problem PPLs and still see the issue frequently.
Glad to provide more info if helpful. Thanks for reading 🙂
12-17-2018 01:10 PM
Adding an update from some additional troubleshooting. We are using SVN for revision control, so what I did was check out a much older version of the project from over a year ago. Almost all of the PPLs in the project have been updated since that time. I first ran our most recent installer (with all up-to-date PPLs) and then one I built from the old version of the project. In doing this, almost all PPLs were deleted and not replaced. To me this points to a need for any PPL in the installer to have been built at least as recently as the existing installed version of itself.
This causes issues when trying to roll back to a previous version of a PPL, for example in our case when an issue was found with the most recent one. I would think that if the installer version is higher, it should replace all the files irrespective of their individual build times. However this doesn't appear to be the case. Not sure if I would classify this as a bug per-se but it sure is annoying.