I am soon going to get VS 2015 Pro. Can I create Smart Device Projects for windows CE Version 5 and 6.
2 Answers
No you can't.
Visual Studio 2010 does not support mobile application development for versions of Windows Phone prior to Windows Phone OS 7.0. The 2015 doesn't support either.
You must use Visual Studio 2008.
Here's some download links, and don't forget about the service pack. Different visual studio versions coexist just fine, right now I have 3 versions installed (2008, 2012, 2013) with no issues so far.
In some cases you can. This blog details how to accomplish something similar using Visual Studio 2012:
http://geekswithblogs.net/WernerWillemsens/archive/2013/09/13/154016.aspx
Quoted from the website:
What follows are the detailed steps you have to follow to transform your Windows CE 6 SDK (hereafter named “MyDevice6 (x86)”) for Visual Studio 2008 to a new SDK (hereafter named “MyDevice6”) for Visual Studio 2012. Although it might look like there are many steps to follow, we are just going to copy a few folders to a new location and edit a few files to create this new Visual Studio 2012 compatible SDK for Windows CE 6 (the same applies to a Windows CE 7 SDK):
Step 1: Property Sheets
- Create a new C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6 folder by copying (and renaming) it from C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice8.
- Rename the files to (“MyDevice8” -> “MyDevice6”)
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.Common.props
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.default.props
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.props
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.targets
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\ Microsoft.Cpp.MyDevice6.wce600.props
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\ Microsoft.Cpp.MyDevice6.wce600.targets
- Open a Text Editor with Admin Rights (write access) to these folders (Run as Administrator)
- Go through all 6 files and rename everything in those files that refers to MyDevice8 to MyDevice6, CE800 to wce600
Step 2: Registry
- Open with a Text Editor C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
- Look up $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Tools\SDKs\MyDevice6)sdk\
This is a reference to a registry key that needs to exist on the system you wish to use for compiling the Windows CE 6/7 Smart Device projects. This key is used by Visual Studio 2012 to recognize your SDK (Windows CE platform configuration). Create this key manually with Regedit.exe. You will also find the “MyDevice8” SDK key there, use it as an example.
- You need to create the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Tools\SDKs\MyDevice6 with (default) REG_SZ data “C:\Program Files\Windows CE Tools\SDKs\MyDevice6\”
Step 3: Folder structure
- Copy the Visual Studio 2008 “CE” folders from C:\Program Files\Microsoft Visual Studio 9.0\VC\ce to C:\Program Files\Windows CE Tools\SDKs\MyDevice6\Sdk
- Copy the “Windows CE Tools” folders from C:\Program Files\Windows CE Tools\wce600\MyDevice6 (x86) to C:\Program Files\Windows CE Tools\SDKs\MyDevice6
Your folder structure should look like:
Step 4: Binary tools folders
- Open with a Text Editor C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
- Adapt the tag as follows (mind the order)
- From $(SdkRootPath)bin\i386;$(SdkRootPath)bin\i386\x86;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);$(VCINSTALLDIR)\bin;
- To $(SdkRootPath)bin\x86_cex86;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);$(VCINSTALLDIR)\bin;
Step 5: C++ Include headers folders
- Open with a Text Editor C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
- Adapt the tag as follows (mind the order)
- From $(SdkRootPath)crt\Include;$(SdkRootPath)crt\Include\sys;$(SdkRootPath)crt\Include\stl;$(SdkRootPath)atlmfc\Include;$(SdkRootPath)Inc;
- To $(SdkRootPath)Include;$(SdkRootPath)wce600\Include\x86;$(SdkRootPath)atlmfc\Include;
Step 6: C++ Libraries folders
- Open with a Text Editor C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
- Adapt the tag as follows (mind the order)
- From $(SdkRootPath)crt\Lib\x86;$(SdkRootPath)atlmfc\lib\x86;$(SdkRootPath)Lib\x86\debug;$(SdkRootPath)Lib\x86\retail;
- To $(SdkRootPath)wce600\Lib\x86; $(SdkRootPath)atlmfc\lib\x86; $(SdkRootPath)Lib\x86;
Step 7: CE Additional Files
- Open with a Text Editor C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
- Rename all “110” files to “90” files in the tags
- Example: msvcr90d.dll|$(SdkRootPath)crt\bin\x86\|temp\$(ProjectName)|0;msvcp90d.dll|$(SdkRootPath)crt\bin\x86\|temp\$(ProjectName)|0;
Step 8: Linker Additional Dependencies
- Open with a Text Editor C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
- Adapt tag in section
- From coredll.lib;%(AdditionalDependencies)
- To coredll.lib;corelibc.lib;ole32.lib;oleaut32.lib;uuid.lib;commctrl.lib;atlosapis.lib;%(AdditionalDependencies)
Step 9: Compiler Preprocessor Definitions
- Open with a Text Editor C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
- Adapt < PreprocessorDefinitions> tag in section
- From UNDER_CE;WINCE;_WIN32_WCE=0x800;%(PreprocessorDefinitions)
- To UNDER_CE;WINCE;_WIN32_WCE=0x600;%(PreprocessorDefinitions)
- Remove /arch:IA32 %(AdditionalOptions)
Step 10: Avoid linker error ” LINK : fatal error LNK1104: cannot open file 'OLDNAMES.lib' “
- Add /NODEFAULTLIB:"oldnames.lib" %(AdditionalOptions) to the section
This will tell the linker to ignore the default library named “oldnames.lib” which has no use in Windows CE
Voila, if you have implemented all the previous steps, your Windows CE 6 SDK for Visual Studio 2008 is converted to a Windows CE 6 SDK for Visual Studio 2012. Once again, this also applies to a Windows CE7 SDK.

- 4,692
- 1
- 41
- 44