Hi
All the coders out there. I need a suggestion.
I have windows xp installed on my computer and i need to develop application for windows vista.

I would prefer to use .net framework 2.0 and visual studio 2005.
Instead of .net framework 3.5 and visual studio 2008.

Well, selection between .net framework is not a problem. It's ok if i could just use any of them. But i need to develop it on windows xp machine and would expect to implement it on windows vista or higher version of windows.

How can i do this?
Please help
Thanks

If you write an application targeting the .net framework it will work across XP, vista, and windows 7 no problem. the 32/64 bit crossover might give you trouble if you use a lot of windows interlop. but other than that This is one of the things .net was made for, all .net languages work together perfectly, and all .net enabled versions of windows run the .net applications equally well.

happy coding.

how can we solve the problem of 32/64 bit platform and if they if have different cpu as X86 or x64,

Every application under .NET gets compiled to IL (intermediate language) This is some sort of assembly language, yuo can see how it looks if you use the ILDASM tool. This IL gets executed by the JIT(just in time) compiler who translates it into native instructions for the cpu at hand.
As Diamonddrake already pointed out, if you are not doing anything "fancy", IMO very little can go wrong.

how can we solve the problem of 32/64 bit platform and if they if have different cpu as X86 or x64,

As I understand it, unless you target specifically for the x64 processor, you really don't need to worry about whether your app will be running on x86 or x64 machine. As always though, pay attention to any x64 details when referring to any documentation...

I have ran all of my apps on both XP and Vista, and the only issue I have had with 32/64 bit is on one of my apps I imported a few methods from user32.dll. on 64 bit vista 1 of the methods I imported didn't work. application still ran fine, just didn't perform that method. DdoubleD is right. Just compile for "any processor" its the default. and it should work fine, but its always a good idea to test the program on 64 bit before releasing it as 64 bit compatible.

Thank you guys, you have been really helpful.
I was thinking the same.

But one thing is for sure that to run applications developed in .net correspondig versions of .net framework must be installed on client computer.

It is true, isn't it?

If it is true then i think i am having the problem is that client doesn't have the corresponding version of .net framework installed on his computer, that is why he is not able to run the application on his computer.

what do you say?

The easy way to see if any .Net Frameworks are installed is too look at the \WINDOWS\Microsoft.NET\Framework folder. Any versions that are installed will appear as folders inside (such as v1.0.3705, v2.0.50727, v3.0, etc.)

If that Microsoft.Net folder doesn't exist, then no version is installed.

As a side note, if you plan on having your software run on Vista, to make your life easier (and your users' harder, unfortunately) do not write anywhere in the Program Files tree, the root of the C: drive, or the HKEY Local Machine tree of the registry. Stick to HKEY Current User, and become best friends with System.Environment.GetFolderPath(Environment.SpecialFolder.<etc>)

the system must have a equivalent or newer version of .net installed. not necessarily the same version.

and yes, as the previous person stated. the UAC in vista forces applications to automatically be ran as if the user does not have admin rights even if they do. there are ways around it. but the best practice is just to play it safe.

Thank you guys, you have been real helpful

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.