LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Exe developed in 32 bit Windows XP not working in 64 bit Windows Vista

Solved!
Go to solution

Am using LabVIEW 8.6 demo version downloaded from internet and Windows XP 32 bit OS. I developed an application and created an exe which communicates with a USB smart card reader. That exe file works fine with that USB device in Windows XP 32 bit OS.

 

But, when i used that application exe in Windows XP 64 bit OS, and also in Windows Vista 64 bit OS, the application is not working. The communication with the USB smart card reader is not at all establishing. The USB device will take appropriate 32 bit driver and 64 bit driver automatically when updating on various OSes.

 

How to resolve this? Shall i have to install any 64 bit drivers for LabVIEW?

 

Thanks,

Mathan

0 Kudos
Message 1 of 14
(6,173 Views)

Mathan,

 

Have you tried installing Visa drivers for Vista? Make sure you install a recent version which has support for Visa 64 bit (http://joule.ni.com/nidu/cds/view/p/id/1071/lang/en) . NI has very limited support for XP 64 bit so you may not be able to do much there.

 

 

 

 

Amit

 

Message 2 of 14
(6,116 Views)

Dear Amit,

 

Thanks for the suggestion. I will try that one now and let you know if there are any problems.

 

Thanks,

Mathan

0 Kudos
Message 3 of 14
(6,108 Views)

Dear Amit,

 

I forgot to mention that am not using any VISA functions in my application. My USB device has its own device drivers and in my application am calling the dll using Call Library function node and control the device. Any suggestions?

 

Thanks,

Mathan

0 Kudos
Message 4 of 14
(6,104 Views)

Am using a USB Smart Card Reader. The application that i developed just contains establishing communication with the smart card reader. For that am using winscard.dll. Just used 3 functions - scardestablishcontext, scardlistreaders and scardreleasecontext in the mentioned order. The application works fine for Win XP 32 bit, but when run under the Vista 32 bit and Vista 64 bit, the scardestablishcontext function returns a value of 2 instead of 0 (Returning a 0 will indicate pass). In the meantime scardreleasecontext returns a value of 6.

 

Am struggling with this for two days. Kindly help asap.

 

Thanks,

Mathan

0 Kudos
Message 5 of 14
(6,085 Views)

Mathan,

This is more of an MSDN issue! Couple of things you can try

 

1. Run the build application in elevated mode Vista (Right click and click run as administrator)

2. Check services.msc and make sure the Smart Card service is running.

 

Let me know.

 

Amit

Message 6 of 14
(6,065 Views)

Dear Amit,

 

Thanks for the attention. I have tried both the option you told, "Run as administrator" and checked "Services" and smart card services are running. Even i tried restarting the device, but the same result. Maybe as you told, this maybe more of an MSDN issue. I don't know how to proceed.

 

Thanks,

Mathan

 

[Edit: From somewhere in MSDN forum or others, i tried the below suggestion too, but in vain. Same scenario. I lost myself in VISTA.]

 

1. Right-click on the key HKLM\SOFTWARE\Microsoft\Cryptography\Calais and select Permissions...
2. Click Add.
3. Click Advanced.
4. Click Locations.
5. Click on the computername and click OK.
6. In the window 'Select user or groups', click on Find now.
7. Select LOCAL SERVICE.
8. Click OK.
9. In the window 'Select user or groups', click on OK.
10. In the window 'Permissions for Calais', click on LOCAL SERVICE and make sure 'Full control' , 'Read' and 'special permissions' is allowed.
11. In the window 'Advance Security Settings for Calais", deactivate the options 'Inherit from parent the permission entries that apply to child objects...'
12. When the window 'Security' appears, click Copy.
13. In the window 'Advance Security Settings for Calais", activate the option 'Replace permission entries on all child objects with entries shown here that apply to child objects' and click OK.
14. In the window 'Security' click Yes
15. In the window 'Permissions for Calais', click OK.

Message Edited by mathan on 01-28-2009 10:15 PM
0 Kudos
Message 7 of 14
(6,039 Views)

Can you check and see what exact error you are getting? i.e.what does the error code returned mean? Based on that you can easily get support on the MSDN forums.

 

Amit

Message 8 of 14
(6,015 Views)
Yes, i checked the error code and searched the MSDN forum, but results didnt helped me. I thought people here might have faced some similar problems like this and i thought i will get some clues to solve my problem and that's why i posted here. Anyway thanks for all your suggestions.
0 Kudos
Message 9 of 14
(5,989 Views)
Solution
Accepted by topic author Mathan

Its often the simple thing we miss Smiley Happy

 

Actually, my application developed in WinXP, always took dll from the "data" folder and not from the c:\windows\system32 folder. In Vista Winscard.dll is different from the one in the WinXP. That makes the difference. Now the application works when i manually copied the winscard.dll from system32 directory in WinVista to the application 'data' folder.

 

Is there anyway to do this without copying? That means, i need the application to load the dll from the system32 directory instead of 'data' folder? Hope i was clear? Smiley Surprised

 

Thanks,

Mathan

0 Kudos
Message 10 of 14
(5,936 Views)