Question Compile in 64bit?

TheDeathly

Well-known member
Joined
Oct 21, 2009
Messages
50
Programming Experience
1-3
Well, im working a chat program, and my main problem right now is 64bit. it works flawlessly with 32bit. I just cant figure out how if even possible to compile in 64bit... Any help?
 
i hear what your saying, the OCX is allready registred but the error message it saing a COM component is not registred? do you get this error when you run it your self?, as far as i have read the same error code here 0x80040154 can be a number of reasons MCI, MS office installed incorrectly and the most common an OCX not registred correctly, have you tried running the APP as admin if you on vista as i use XP my self, if your still having probs try MSDN and look up the error code 0x80040154 im sure you'll find out soon :)
 
well, for winsock. there has to be a registration key in the registry. thats in there, it may be reading it wrong. It is vista, ill try admin .but when i cross compiled, if you re look in the picture, the first few lines it has .netz so its almost being emulated by it. and it may not have the programming to emulate that kind of stuff. but im not too sure. ill give admin a try. ive had this problem before but its an EASY fix on xp. vista is stubborn. 32bit vista is easy to fix. but 64... hard
 
it seems that way, and i wouldnt blame your programming either, as vista is fo full of security holes and bugs i wouldnt be suprised if it was down to that. M$ doing on over us again.... lol
 
could it matter about .net version? i did it on 3.5 and he has 2.0... im not sure if that would matter.. i could sorta see why
 
having diffrent .net versions could be the case, lack of functions in one compared to the other, possibly looking for routines that dont exsist in his, but it just depends on how much coding has gone in to you program on your side of things, i should imagine quite extensively, it's an area worth looking in to :)
 
I'm afraid you're not reading what's already been posted. As we have already said, if your application relies on libraries that are only available in 32-bit then you MUST compile your app in 32-bit as well. Compiling in 64-bit specifically is the exact opposite of what has already been recommended.

Here's the thing. You compile the app on your 32-bit system for Any CPU. That means that on your 32-bit system it will run in 32-bit mode and on your friend's 64-bit system it will run in 64-bit mode. The problem is, Winsock is only available in 32-bit. As such, your app works on your 32-bit machine because it's a 32-bit application accessing a 32-bit library. On the 64-bit machine though, it's a 64-bit app and there is no 64-bit Winsock, hence the error message, so the app fails. What you need to do is compile the app in 32-bit so that it runs as a 32-bit app on the 64-bit machine and it will then successfully access the 32-bit Winsock.

Having said all that, you shouldn;t be using Winsock in VB.NET anyway. Ifyou'd used the System.Net classes in the Framework instead of that old VB6 ActiveX control then you wouldn't have had this problem at all.
 
winsock is dated yes, but it still has it's use's, but yeah System.Net would have been the better approach.
 
could it matter about .net version? i did it on 3.5 and he has 2.0... im not sure if that would matter.. i could sorta see why
This matters, VB 2008 it compiles for .Net 3.5 by default, which means target system must have .Net 3.5. Using a proper deployment installer will install the correct .Net also, but if you just send the exe then target system must install .Net 3.5 manually before using your app. In VB 2008 you can change the .Net version to build for, this is done in Advanced Compile Options where you set Target framework.

The configuration platform discussed already is still valid. I also agree it would be better to ditch the old winsock control and look into the new .Net tools in System.Net namespaces.
 
Alright, i was going to switch to TCP client but im already so damn far into this thing. i guess it wouldnt be THAT hard to switch. but its going to take alot. and if it makes it work on 64bit then i should use it. when i give him the full program compiled on 32bit with any cpu, it just says "Chat Client has stopped working" and doesnt even display a error message. so when i compiled in 64bit it actually got a little farther and displayed a error, but since theres no 64bit winsock, that defeats the purpose of anything... I guess system.net it is..
 
{Bump}

I have a similar situation to this. I'm programming in VB.Net in VS05. The program has been installed on dozens of XP and 32-bit Vista machines but won't load on a 64-bit vista machine. The only message I get is that "IRIS Scan has stopped working". I don't think it is getting to the point of running any of my code.

I first compiled for Any CPU but then switched to x86, with no change. After reading everything above, it seems that the program is trying to run in 32-mode but that some of the 32-bit libraries are missing.

I had some unused references that I cleared out (MS Internet Controls and OLE Automation) and now I am using just one third party OCX that is registered and then I am referencing some of the System.x objects in the .Net framework.

I'm going to try again after getting rid of the unused references, but since the error message ("IRIS Scan has stopped working") is so vague, how do I tell what is missing if I still have problems?

Greg
 
Back
Top