Setting up a Smart Device Project in VS 2012 with CF3.9 - visual-studio-2012

I currently need to work on a Compact Framework Project again. I used to do this some time ago with VS 2008, however I don't have a license for this anymore. I do have licenses for 2012, and it really seemed like good timing for me given the recent announcements (Get started developing for Windows Embedded Compact in Visual Studio (Compact 2013)).
I downloaded and installed Application Builder for Windows Embedded Compact 2013
And install the Embedded Compact 2013 Update 5 (full setup).
Unfortunately after these steps the Project Templates still won't show up.
My current understanding is that the template will only be visible when I also install the SDK.
The SDK provided for the Windows Embedded Compact 2013 product that you are targeting. Typically, this SDK is provided by an OEM.
However, I don't have a device for development, I used to use the emulator for this and they used to be available in Visual Studio without big fuzz.
I tried to find an emulator using my preferred web search, but without any success.

Using Windows Embedded Compact 2013 (WEC2013) it's impossible to develop a Net CF 3.9 application without an SDK.
There isn't a default SDK. In general, when you have an embedded system, it isn't general purpose but it has specific features that the OEM exposes with a custom SDK. In this way, avoiding standard SDK, who develop application can't use feature that there won't be on the target hardware.
The only way you have to start develop is to install Platform Builder and using built in CEPC BSP to create a CEPC image for a virtual machine and an SDK for it.
After installing this SDK you can use your virtual machine with CEPC image to run your application. In this way you can create an "emulator" for a x86 system with WEC2013 on it.
Paolo.

Related

Convert .net project 4.5 framework to windowsCE (smartDevice) project which supports development in 2008

I have written code in C# .net framework 4.5. Now, the client says he wants it in Windows CE. So I have downloaded VS 2008 and created a smart device project with Windows CE option and framework 3.5. I have used the files as is and build. The solution gives lots of error on build.
Eg of error is - Background worker in .Net 4.5 is not supported in WinCE 2008 project
Any pointers how this can be achieved? Its a huge code so rewritting whole code will cost a lot. Quick pointers are highly appreciated.
I have tried removing the references from old proj and tried including dll from VS 2008 dlls. E.g. System.Data.SQL is not present in 2008. Background worker is not present in VS2008
Check out the Smart Device Framework, it provides a port of the Background Worker for the .NET Compact Framework. It may give you some alternatives for other pieces of code you're porting over:
https://github.com/ctacke/sdf
The missing SQL Server library is a difficult one to answer without more details, but you will need to decide on how you wish to access data. Is there going to be a local database or will you need to retrieve data from the SQL Server database through some type of service?
SQL Server Compact and SQLite are popular databases used on Windows CE, so those are some options if you need to create some sort of local database.

How we can create Wince 6.0 setup in windows 10?

Is it possible to create Wince Setup in Winodws 10? If yes ther how,
Actually I want to build Eboot source code and create image for that.
how can we build this source code in windows 10.
Generally to build Windows CE source code you need Platform Builder.
This is a plugin for a specific version of Visual Studio.
CE6 - VS2005
CE7 - VS2008
CE2013 - VS2013/VS2015
If you plan to build for CE6 you'll have to install VS2005. I don't know if this is possible. For sure VS2008 works.
You can use a virtual machine running an older version of windows or, if you already have a WINCE600 folder backed up you can install VS2008 and Platform Builder and choose that folder as your CEROOT folder. This is not officially supported by MS (and will never be), but works for me and other people that needed to use old CE versions on a new PC.

Working with Direct X and VS2012

I have both Visual Studio 2012 Express for Desktop and for Windows 8, and I wanted to create Direct X applications and games. I know that there is a Windows SDK now, and in VS 2012 exp for win8 the IDE is pre-installed with the SDK (I know that from the new Direct3D project). My question is, if I wanted to develop applications for Windows Desktop (using VS2012exp) does it come Windows SDK or do I need to install Direct X SDK? And how do I know if my graphics card support which version of Direct X? Will any Direct X SDK version work with any Direct X version? As you can see I am a newbie at that stuff and any comment would be helpful. Thanks for your time.
If I wanted to develop applications for Windows
Desktop (using VS2012exp) does it come Windows SDK or do I need to
install Direct X SDK?
Yes, with Windows 8 SDK and Visual Studio 2012 (or Windows 8.1 SDK and Visual Studio 2013 preview) you can develop anything:
DirectX applications (both, Windows Desktop and Windows Store)
for any supported target platform (x86, x64, ARM)
for any reasonably modern Windows operating system (starting from Windows 2000/XP)
using any of API versions: DirectX 9.3, 10.0, 10.1, 11.0, or 11.1
Note:
DirectX 9 API is completely different from 10 and 11, and it is obsolete. Use it only if you targeting Windows versions below Vista.
DirectX 11 is more like an improved version of DirectX 10.
So in most cases, you will want to program for DirectX 11.1.
And no, you don't need to install DirectX SDK. It was deprecated (latest version - june 2010). Do not use it in new code. Use it only if you need to compile some old code which uses D3DX stuff (such as ID3DXEffect, ID3DXFont, ID3DXLine, ID3DXMesh, ID3DXSprite), e.g. samples from books or different SDK samples.
And how do I know if my graphics card support which version of Direct
X?
Well, if we talking about your videocard, you can look at your card vendor's or GPU vendor's site. Or any of informational utilities, such as GPU-Z.
If we talking about end-user hardware, since DirectX 10-11 there are feature levels. So even if you are using latest API (DirectX 11.1 at this moment), you can target old hardware (for example, if you using D3D_FEATURE_LEVEL_9_3, newer features, from D3D_FEATURE_LEVEL_10_0 and higher will be disabled).
Note, that to develop for latest feature level you don't need GPU that supports it. You can run and debug application on WARP device (ivery slow and meant for debugging purposes only, not for end-user release). For example, you can have old DirectX 10 card (Shader model 4.0), but target to DirectX 11 (Shader model 5.0)
Will any Direct X SDK version work with any Direct X version?
Latest DirectX SDK (june 2010) supports DirectX up to 11. No DirectX 11.1 support.
I'm a developer in Visual Studio who works with the DirectX tooling (the DX Diagnostic Tool and on the new project templates). You're asking a few different questions in here, but I'll try my best to answer the ones that I can.
1 - What SDKs are needed for DX application development? This link here as the best information on this. Basically as of the June 2010 DirectX SDK the DX SDK was combined with the Windows development SDK so if you install the most recent Windows SDK you'll have the right stuff for developing the newest DX applications.
http://blogs.msdn.com/b/chuckw/archive/2013/07/01/where-is-the-directx-sdk-2013-edition.aspx
This link also has more indepth info specific to the issue of DX Desktop apps on Windows 8.
http://blogs.msdn.com/b/chuckw/archive/2012/03/23/desktop-games-on-windows-8-consumer-preview.aspx
Note here that you can also install the June 2010 DirectX SDK on your machine, that won't hurt anything, we often install it ourselves as it has some useful sample applications to look at even if they are a bit outdated.
http://www.microsoft.com/en-pk/download/details.aspx?id=6812
2 - How do I know what my graphics card supports? I'm not sure if you mean how do I detect this in my DX application at runtime? Or if you mean how do I just look it up quickly for my specific system. To figure out your own GPU it's usually a pretty quick lookup, just find your device name and punch it in online, most stuff released in the last several years supports DX11 so you should be fine here. If you installed the June 2010 SDK that I mentioned above you can use the capability tool mentioned here:
http://www.danielmoth.com/Blog/What-DX-Level-Does-My-Graphics-Card-Support-Does-It-Go-To-11.aspx
At runtime DX has code to use to check if the running graphics card has the ability to use advanced DX 11 features.
http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562(v=vs.85).aspx#check_support_of_new_direct3d_11.1_features_and_formats
http://msdn.microsoft.com/en-us/library/windows/desktop/ff476876(v=vs.85).aspx
3 - Will any DirectX SDK work with any DX version? So here you basically always want to be using the latest DX SDK as you could see with the link on feature levels above you can target lower levels of DX while still coding using the most recent SDK. Just use the most recent SDK and target feature level 9 if you wanted to create apps that run on DX 9 cards.

Developing applications for Windows Embedded Compact 2013

Today I stumbled over the Application Builder for CE 2013 in Microsoft's download center. As of the description, with this pack I should be able to develop apps that target Windows Embedded Compact 2013 with Visual Studio 2012.
After downloading and installing the Application Builder I found the new framework assemblies in C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsEmbeddedCompact\v3.9, but there are no project templates targeting Embedded Compact 2013 in Visual Studio 2012.
I tried to create a blank WinForms or WPF project and to retarget it to 3.9, but that doesn't seem to be possible as well. There are no online templates that could be installed.
How do I create a CF 3.9 application using Visual Studio 2012?
All I can do here is sigh. Here's the state of things as of this writing (Mid May, 2013) and it could change in the coming weeks and/or months.
The Application Builder does not ship with device templates. Templates, instead, are shipped with the device SDK. Yes, this is different than in the past. It means that to do any device development, you'll need an SDK.
Windows Embedded Compact 2013 is currently not publicly available, so no one can currently ship an SDK. The net effect of this is that, for now, for the general public, the Application Builder install is completely useless.
Once WEC 2013 is public, I don't believe Microsoft will be shipping any "generic" SDKs. I very likely will. Once we have SDKs in the wild, you'll have templates and be able to build projects.
I also downloaded the Application Builder, and found it quite useless, hey where are the compact project templates! (thanks for the confirmation ctacke) after reading this today and discovering the .net assembly folder posted by Gene, I figured I at least try to use the object browser - and found you can browse the objects by using the Windows Embedded Compact 3.9 filter - figure others might want to at least look at what's new like I am attempting to do..
It is possible to create new SDKs from OS Design projects.
Create one from CEPC.
http://msdn.microsoft.com/en-us/library/jj584864(v=winembedded.70).aspx

Where is Windows CE Platform Builder 3.00?

I need to emulate a Windows CE executable on my Windows 7 64-bit machine. Back in the day, I used eMbedded Visual C++ 4.0's bundled device emulator, but nowadays the cool kids want me to use "Platform Builder" and ActiveSync. So I found a Windows CE Platform Builder 3.0 update here, but I can't find the original download, which it requires:
PB not installed: Please install Windows CE Platform Builder 3.00 before
installing this Update.
My problem stems from having installed the Standard CE SDK (STANDARD_SDK.msi) and a Windows CE BSP, which shows up in Visual Studio 2008's "Device Emulator Manager", but I can't connect to or run them. The Pocket PC images work, though.
Where do I find Windows CE Platform Builder 3.00?
Platform Builder 3.0 is really, really old and I doubt any distributors carry it any more. When it was a shipping product, a distributor (Arrow, Avnet, etc) was the only place you could get it, so that's where I'd at least check on the long-shot chance.
That said, I'm not at all sure why you feel you need it. Platform Builder is for generating an OS image. PB is a difficult tool to get to know, and the 3.0 version was unwieldy at best. It's also not going to run under 64-bit. It also can't create an OS that runs on a 64-bit machine. It also cannot create an SDK that will plug into any version of Studio (well it might work in VS 2003 - it's been a long time since I did that).
What it actually sounds like you're after is an emulator and image for that emulator for a basic CE 3.0 device. Microsoft shipped the HPC Pro emulator, which was a 3.0-based device with the EVC tool set, though I've got no idea where you'd find it (short of digging out old MSDN disks).
For what it's worth, the PocketPC 2003 images are CE 3.0-based, so you do have a CE 3.0 emulator today - it's just not a more generic CE build.
Ideally I think you need to tell us exactly what you need. An emulated version of what sort of CE 3.0 OS? What components? Targeting what OS (the old emulator would only do x86, so if you have some ARM or MIPS app, that was never emulated anyway).

Resources