tl;dr: Most of customers have old system - windows XP. How (or what it best way) to handle this situation and ensure GUI app which will communicate with embedded hardware. What you would do?<p>Long story: I am cooperating with guys from small local "startup". They developed embedded device for coffee-shops, restaurants etc. My job was to create Windows app as interface with their device. I decided for C# and .NET 4.0. due to .NET classes. (C# is much closer to me than Java)<p>Recently they observed that most of new customers have old system - windows XP, which is currently end-of-life. Coffee shops and restaurant use virtual cash register running on windows XP. App is running fine on Windows 7 and higher. XP is not able to deal with app.<p>Coffee shop/restaurants bought computer 10 years ago with pre-installed system, then installed virtual cash register. They don't have any motive for upgrade since it works without any issue. New system (7,8 etc) require new hardware, then new virtual cash register etc etc. Cost of upgrade is huge in terms of returned value.<p>Question is: How to handle situation to have:<p>> windows app as interface for embedded hardware<p>> to be able to use windows notifications and .NET classes<p>> running universally against wide range of windows (also unsupported but working) systems? <-- main issues and the most problematic.<p>From my experiences and brief investigation are possible solutions:<p>> Java (personal aversion)<p>> C/C++ (lot of coding in comparison to C#)<p>> web app with embedded browser-frame to some windows form (just idea, no experience, don't know what issues can expect from this)<p>What do you think? Appreciate your thoughts and insights.