Win XP 64 bit and .NET 4.0 issue - wpf

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.

Related

Windows forms app (visual studio 2010) compatibility issues

My task is to make a simple application that connects to the internet (using Wininet) and downloads a text file. It then displays the data in a listBox widget. The requirement was to make a GUI based application, so I used Windows Forms in Visual Studio Express 2010.
The application runs fine on my PC, however I realized that it runs only on my PC. I installed .Net 4 and Visual Studio 2010 redistributables on another PC and it worked fine there. Now, the person for whom I'm making this wants maximum compatibility on windows PCs. I'm totally stuck here.. should I switch to an older version of VSE?
From what I could search, using /MT instead of /MD would cause the application to link statically, however my app also uses /CLR and these are incompatible.
Any ideas?
Note: I've previously made a similar app (downloading and displaying) with console output and it works perfectly fine everywhere.
Dependens on what is meant by "maximum compatibility on windows PCs". If you can bundle the required redistributables, your program should run (as you found on the second PC), as long as the windows on the PC is capable of executing the binaries (e.g. not a 32 bit PC trying to execute 64 bit binaries)
I have been in your situation.
I can give you my free .NET-application-runner (RunNetApp.exe) that automatically installs .NET Framework 4 before running your application for the first time. If the framework is already installed on target machine, it only runs your application.
I also suggest changing application's framework to ".NET Framework 4 Client Profile". It's setup is about 40MB (in comparison to 200MB of full ".NET framework 4").
Is it helpful?

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

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/

WPF is running well on development machine, but cannot run on other machines

I've got a problem with an wpf application.
I programming a wpf application with sharpdevelop 4.1.8000, it complied successful and is running well on the development machine.
When I copy the files from bin\debug to other machines (include the third part dll I used in project), the tool can't startup. I got a exception, the exception component is System.Windows.Markup.XamlParse. I don't know why this happened.
So I need your help. By the way, the development machine is win7 x64 enterprise, the version of .net framework is 4.0. The deployment machine were win7 x64, too.
Check your xaml namespaces, did you reference something that is in the GAC of your develop machine but bot present on the other client. Happened to me using a behaviour from System.Windows.Interactivity, worked on my dev machine because i had Blend installed but which wasn´t the case on the client.

Does not recognize Silverlight 4.0 Install

I am running Win 7 64-bit. I a running IE 9 beta (9.0.7930.16406 )I upgraded to Silverlight 4.0 and for some reason now it does not recognize that I have it installed when I go to Silverlight required web sites.
In my control panel – it clearly states that I have 4.0 installed. I uninstalled and reinstalled this as well. However when I go to sites that require silverlight it does not recognize that have Silverlight installed. And of course when I try to click on install Silverlight I get the following error: "The same version of silverlight is installed"
Interesting information – I was able to create another account on my computer and get things working. So this is something tied to my login ID. And yes I am admin on this box.
Any ideas?
Are you launching the 32-bit or the 64-bit Internet Explorer process? Silverlight only works in 32-bit browsers.

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