"Junginger, Johann" <[EMAIL PROTECTED]> >I had problems like that once using a similar hardware security key. The >problem as I understand it is that a LabVIEW executable is not a 'true' >executable (people who know better are invited to clarify). My solution was >to use calls to the key from within my (LabVIEW) code to check for the >presence of the key.
Huuu? It is certainly an executable in the sense of the underlying OS. It has a little special layout but a wrapping software not able to handle that is in my opinion flawed. A LabVIEW executable consists of a stub executable and the VIs compressed into an LLB (LabVIEW VI Library) tacked to the end of this. The stub executable is a real executable impersonating the process and its context and then calling into the LabVIEW runtime DLL to actually do the real work, such as loading the compiled VI resources from the attached LLB, executing them, drawing on the screen and all that. What most probably happens here is that the Sentinel wrapper wraps the LabVIEW executable just fine but when extracting it, only extracts the actual stub executable based on its size recorded in the execution header and then the LabVIEW stub being invoked can't find the attached LLB and aborts with the mentioned message. Not sure if Sentinel could solve this easily as extracting the entire executable properly may not work in memory only and then it would have to actually write a temporary file to disk which would allow to circumvent the protection this wrapper is supposed to give. One way NI could solve that, would be to add the LLB as binary resource to the executable itself and load it from there, but that may have quite some speed considerations. Of course implementing the calls to the Sentinel directly in LabVIEW is the better way anyhow and at least for the Sentinel Pro there seems to be a VI library which allows to do just that. If calling into a DLL is not your thing you can also call their command line tool to query the key. Rolf Kalbermatter CIT Engineering Nederland BV tel: +31 (070) 415 9190 Treubstraat 7H fax: +31 (070) 415 9191 2288 EG Rijswijk http://www.citengineering.com Netherlands mailto:[EMAIL PROTECTED]
