"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]


Reply via email to