12-15-2015 12:39 PM
We have a "standard test shell" that looks up part numbers and calls driver vi's based on the part name (Part 1234 -> 1234.vi). The "standard test shell" calls the driver vi by reference. Prior to running it, the help path property for that vi is assigned. This path is relative to the driver location (<...>\1234\1234.vi has help files in <...>\1234\Documents\1234.htm). When run in the development environment, the context menu shows the Detailed Help link and when that is clicked, the appropriate help file is brought up in the browser.
This structure is stored in a project file. The project is built into a standalone application, with all of the driver folders included as source files. When the standalone application is installed on a target machine, the installed application finds the drivers, correctly determines the help file path, and the help files are confirmed present at that path. But the Detailed Help link does not show up in the context menu. This behavior indicates that the <...>\1234\Documents\1234.htm file cannot be found, but we have added log messages that confirm that the file exists. What else can be keeping the standalone applicaton from showing the Detailed Help link?
12-15-2015 02:39 PM
I assumes you took the relevant measures to account for path differences between the development and standalone environments.
(Hard to troubleshoot without more details....)
12-17-2015 08:26 AM
Yes, I have added logging to the executable and confirmed that the files exist at the expected paths.
The driver is at C:\program files\BTE\drivers\vi\D1131H08\D1131H08.vi
The help file is at C:\program files\BTE\drivers\vi\D1131H08\Documents\D1131H08.htm
The driver is called by reference using its path. The help file path is determined by stripping the filename, then adding "Documents\"<part>.htm. A log message reporting the vi's help file property gives the proper path name when running the installed application. Copying and pasting that logged path into Windows Explorer opens the html file.
The only thing missing is the "Detailed Help" link in the context help popup that would let the user open the html file.
12-17-2015 10:08 AM
Here are some snippets/screenshots to help you understand.
Context-help-working-dev-environment shows the context help on the right, and the html output from clicking on Detailed help link on the left.
The logged file paths are:
Driver dir/help path
d:\Labview Projects\BTE\drivers\vi\D5574H126\D5574H126.vi
d:\Labview Projects\BTE\drivers\vi\D5574H126\Documents\D5574H126.htm
On the target machine, the context help is missing the Detailed help link.
The logged file paths there are:
Driver dir/help path
C:\Program Files\Siemens BTE\drivers\Labview Projects\BTE\drivers\vi\D1131h08\d1131h08.vi
C:\Program Files\Siemens BTE\drivers\Labview Projects\BTE\drivers\vi\D1131h08\Documents\d1131h08.htm
In help path snippet.png you can see how the path is built relative to the driver vi, and how the log messages are generated. The UPDATE DIRS subvi calculates the path based on whether it's an executable or development environment.
In driver log help path snippet.png you can see how the driver vi is logging its help.path property. In all cases this matches what the calling vi has logged.
I should mention that we did run into a problem when creating the installation: the htm file caused an error that broke the installation unless we checked out the entire project from Perforce so everything was writeable. Perhaps there is a clue in that.
12-21-2015 11:18 AM
Hi gizmogal,
I have a few clarifying questions and next steps for you to try:
Please let me know the answers or results for each of these!
12-21-2015 12:25 PM
I See a few opportunities:
What does "Handle" do with the error tool? (and why 7000? just asking because its an unusual error code)
The VI Reference in your attached help path snipette is "This VI" to the property node! Did you sanitize that or, did you really mean to pass in a referance to the calling vi?
And (Last but not least) What is the text in this property of the vi?
without that help path datum..... can we help you help the help?
12-23-2015 08:57 AM
The questions you are asking are all related to the temporary code I put in to confirm that the paths are calculated properly. The help path is programmatically determined and therefore does not have to be set up in the VI.
It turns out, though, that this is a bug. From NI:
"After much review, it appears that the lack of Detailed Help in exe's is expected behavior, like we were afraid of, and there doesn't seem to be a way to override it currently. However, I have mentioned the desire for this feature to my colleagues, and you can add an additional request for that functionality here: http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas"
This in spite of the LabVIEW help statement "Note If you link from VIs to HTML files or compiled help files and you use your VIs to build a standalone application, you must include the files as source files when you build the application".
So... Off to find an alternate solution.