Develop WPF, Silverlight, Windows Phone 7 in Windows 64bit OS? - wpf

I am buying a new PC and wuld be getting a 64-bit Windows 7 OS in it (with 16gigs of RAM).
I was wondering if it will be OK to develop WPF, Silverlight and Windows Phone custom applications/controls in the 64-bit environment.
I know i can set the AnyCpu setting to get the project built, but would it work well if someone were to use my say WPF or Silverlight control in their WPF application that was being built in 32bit windows environment or run in that environment?
Any caveats, issues or limitations? Would it work well at all or should i have to get the machine with 32-bit windows just to develop, and forgo the 13GB odd RAM :( because 32 bits cannot access it?

Go for the 64 Bit for christs sake. There are only a hand fulll of Windows developers who still run on 32bit! I have been developing in .Net for 4 years on a 64Bit machine! One drawback is that the edit and continue Feature doesnt work on 64Bit. But I couldnt live with 3GB RAM anymore...
If needed you can still work on a virtual 32bit pc inside your 64Bit...
See http://www.microsoft.com/windows/virtual-pc/

Related

What processor architecture should I choose for an app destined to run on Windows? x64, or ARM?

I am creating a WPF / XAML app. When I try to drag a Bing Map control onto my WPF form, I get:
I then tried to build the project, and got these two msgs:
Warning 1 Project "Platypus" depends upon SDK "Bing Maps for C#, C++, or Visual Basic v1.0"
which supports apps targeting "Windows 8.0". To verify whether "Bing Maps for C#, C++, or Visual Basic v1.0" is compatible with "Windows 8.1", contact the SDK author or see http://go.microsoft.com/fwlink/?LinkID=309181.
Error 2 The processor architecture of the project being built "Any CPU" is not supported by the
referenced SDK "Bing.Maps.Xaml, Version=1.0". Please consider changing the targeted processor
architecture of your project (in Visual Studio this can be done through the Configuration Manager) to one of the architectures supported by the SDK: "x86, x64, ARM".
What processor architecture should I choose for an app destined to run on Windows? x64, or ARM?
UPDATE
So I changed the project to x86, and now when I go to the Designer, it tells me, "Design view is unavailable for x64 and ARM target platforms."
UPDATE 2
So I tried the "fix" here, but it didn't help - I still see that same message.
I guess using the x64 is good since you are trying to build a desktop application. ARM is actually an architecture for embedded systems. Desktop computers have two architecture x86 which is know as 32bit and x64. x64 architecture can support more RAM and x86 only supports 3GB of RAM so you can get more power. But if you built it on x64 Architecture, x86 can't use it.. and if you built it on x86, x64 can use it. You make the choice.

Application that works on pc and mobile

I have to create an application with metro design on vs2010 and windows 7.
The application should work both on pc and device without internet.
Initially i though of wpf but i do not know if it works on Mobile.
Please let me know how i can develop once such standalone application for
both device and PC also
Unfortunately, there is not a single platform that targets both PC and Phone...although, the presumption is that Windows Phone and Windows Store applications are moving toward a unified foundation.
Windows Store applications unfortunately don't run on Windows 7. Only Windows 8 and above, but the advantage is they work with the desktop version as well as the tablet version of windows.
If you want to target windows 7 and say windows phone as well, your best bet is to use portable class libraries to create a common "core" for the application. And use WPF for the desktop which has a lot in common with XAML for Windows Phone.
If you want to target windows phone 8, you have to use Visual Studio 2012 or above.
Pretty old question, but in case anyone is still blindfolded, there is UWP.
Furthermore, if you want to have XAML and C# deployed as native apps in a variety of platforms (UWP, Droid, iOS, WinPhone), be sure to check out Xamarin, which now belongs to Microsoft, and follows the awesomeness of open-source MIT just as the entire .NET does now.

Win XP 64 bit and .NET 4.0 issue

I'm developing a WPF with WCF app on .NET 4.0, the machine in which is being developed is a Windows 7 64 bit SP1. The app has already been installed in several machines with different configurations (Win XP, Vista, 7, and even POS), summing up to a total of around 20 different machines.
Yesterday I went to install it on a new customer, and the app just crashed with no error message (probably due to my several try catches along the code). The only message that showed was something like: The App stopped working, Windows is trying to find a solution.
Tried different configurations and nothing, until I noticed that the client machine is a Win XP 64 bit, which I believe I've never came across until now.
I searched the web, and read somewhere that there was a compatibility issue with Win XP x64 and .NET 4.0. I don't know if this is the case.
Do I have to downgrade my app to .NET 3.5?? Or do I have to create a 64 version, or is it the client machine that has a problem?? I can't recreate the issue on my PS, even with Win XP installed on virtual machine, so I'm flying blind.
All you need is to install Windows Imaging Component, which is mentioned in .NET Framework download page,
http://www.microsoft.com/en-us/download/details.aspx?id=17851
Important: Make sure that your computer has the latest Windows service
pack and critical updates. To find security updates, visit Windows
Update. If you are installing on XP 64 bit or Windows 2003 you might
need to install the Windows Imaging Component. The Windows Imaging
Component 32 bit can be found here . The Windows Imaging Component 64
bit can be found here .
Anyway, you should debug the crash as #Daniel Hilgarth recommended, as that can tell if WIC is the culprit.

Can the ARM version of Windows 8 only run Metro (WinRt) style apps?

See also: Is there any way to write a WinRt (Metro) app that will also work on Windows 7 and Vista?
I am trying to understand how to target both Windows 8 on Arm and Windows 7, given that Windows 7 cannot run WinRT apps. And as I understand it, apps can only be installed on ARM version of Windows 8 from the App Store.
So can Windows 8 on the Arm run none WinRT apps?
The definitive answer is out now. There will be a desktop, but you will not be able to install desktop apps. "WOA does not support running, emulating, or porting existing x86/64 desktop apps." All apps will come from the store and will have to abide by the Metro style app guidelines.
The only desktop apps appear to be Office (which seems to ship with the OS) and built-in apps like the control panel, Explorer, IE, etc. Everything else will be a new Metro-style app written against the Windows Runtime.
See this Building Windows 8 blog post for details.
"No legacy apps" is not the same as "no Desktop apps" though.
Nothing I've seen suggests that there won't be a regular Win32 with COM, IE, MSHTA, etc. on ARM along with an Explorer Desktop.
You may simply need to recompile C++ or .Net after some tweaking or "retargeting." Things like HTAs may even port with close to zero effort as long as they don't use any custom COM libraries. I'm surprised anyone ever expected any x86 code to run on ARM, even under some sort of WOW emulation. Microsoft has been pretty clear about that.
Whether it makes any sense to do much of this (desktop apps on ARM) is another matter, even if you can. The ARM-based devices are likely to be quite resource-constrained, which is the purpose in having them in the first place: cheap and portable.
Microsoft has made no statement about whether or not desktop apps will be supported on Arm processors. They have shown Microsoft Office running, but have not said whether that will be supported on the final platform.
For now the only statements have been about Metro style apps and those will be supported written in any language.

Testing DirectX applications in Virtual PC?

I would like to test my WPF applications using Windows Virtual PC under Windows 7. In my C# code, I'm checking the WPF tier and if it's less than 2, I disable a DirectX call. In order to test on Windows XP, I'd like to use Windows Virtual PC but it seems to only run in software mode. Thus, the tier is always <2.
Any ideas on how to enable DirectX to work in Virtual PC?
Virtual PC 2007
It seems that 3D acceleration is not supported by Virtual PC 2007 but I just found a blog's article where the author found a solution to enable 3D acceleration on Windows 7 client. The trick should work only with both host and client running Windows 7.
Here is the link. Hope it helps.
VirtualBox
VirtualBox, since version 3.0, provide support for 3D acceleration with DirectX 8/9.
Unfortunately it is not very stable and in addition Visual Studio crashes when developing WPF applications and 3D acceleration is enabled.
A ticket has been opened and it says that they are working on a fix
VMware Workstation
Also VMware Workstation provided experimental DirectX support since release 5.5. But reading through their forum topics it seems that WPF development works with 3D acceleration enabled only with VMare Workstation 7 and later.
I didn't try myself but it seems promising. On the product page you can see Aero 3D working on Windows 7 and a screen shows also Half-Life!
From this page:
VMware Workstation was the first to
support 3D graphics in virtualized
environments and is now the first to
support Windows Aero in Windows Vista
and Windows 7 virtual machines. Run
even more 3D applications with support
for DirectX 9.0c Shader Model 3 and
OpenGL 2.13D graphics in Windows
virtual machines.
Evaluate the trial and let us know...
Sorry, even latest Virtual PC doesn't support hardware DirectX redirection.
You can try VMWare Workstation 7.1. They claim to support DirectX up to 9.0c, which is enough to get you to tier 2.
VMWare 7.1.3 does support DirectX but only if you are using the 8 subset rather than a full 9.0c implementation. As a result, while the dxdiag will run properly, actually using a tool that requires a full 9.0 implementation is hit or miss - i.e., you have to run it to see if it works. I have tried various games and development tools which state the exact same requirements and run properly on a system with 9.0 installed, but under VMware - some of them work, and others die immediately - so it seems they are correct and only the 8 subset is working at present - so if you don't need 9.0 you're good to go, but if you do, you're DOA.
So the support isn't fully stable - but it's worth a try if you have no other option.

Resources