I am new to Windows CE programming.
I have Visual Studio 2008 and Visual Studio 2005. I have found the following SDK for Windows Mobile
http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en
Please help me in deciding if this is the correct one, or please feel free to redirect me the correct one
Thanks in advance
Sujay
If you are targetting a Windows CE device (and not Windows Mobile), then each device has it's own specific SDK. If you are not using a device specific functionality, you create a C# for Windows CE 5.0 application and it will work on every Windows CE device that has the .Net component included in the image.
Don't mix Windows CE and Windows Mobile. Windows Mobile 5-6.5 is based on Windows CE 5.0, but has a standard SDK (different SDK's for different versions of the Windows Mobile at use). Windows CE, as I mentioned, is used in specific solutions and you should get the SDK form the OEM.
If you need a Windows CE Emulator get it here
http://www.microsoft.com/downloads/thankyou.aspx?familyId=a120e012-ca31-4be9-a3bf-b9bf4f64ce72&displayLang=en
and to setup the Emulator look at this guide http://www.hpc.net/chat.asp?ObjectID=97662
Edit: The hpc.net link is now dead so here is what was found on the page using the wayback machine. https://web.archive.org/web/20070428121320/http://www.hpc.net/chat.asp?ObjectID=97662
Connecting the CE 5.0 Emulator to VS2005
This uses the network method and saves the emulator state. It does not use activesync, communications ports or a null modem cable.
Start the emulator using a shortcut command that is something like this:
"C:\Program Files\Windows CE 5.0 Emulator\Emulator_500.exe" nk.cem
/video 640x480x16
/Ethernet virtualswitch
/sharedfolder "C:\CE5SharedFolder"
The shared folder appears on the emulator as \My Device\Storage Card. Using the shared folder, copy the following files to the \My Device\Windows\ folder on the emulator. These files are located on the host at \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\x86, or similar
Clientshutdown.exe
ConmanClient2.exe
CMaccept.exe
eDbgTL.dll
TcpConnectionA.dll
Select Emulator -> Start Menu -> run -> \Windows\conmanclient2.exe.
Get the IP address of the emulator by double-clicking on the T networking symbol bottom left. If it has no ip address try installing Microsoft Loopback Adapter on the host, check for Virtual Machine Network Services, or other host networking hacks. (This is the difficult bit).
To check that the emulator is responding, on the host type Ping at a DOS prompt.
To get "Save State" working on the emulator, shut down the emulator using the "Save State" option. Then navigate to Host -> My Documents -> My Virtual Machines
The saved state is in the folder that is named with a curly brackets string similar to {06A8A448-EB8B-4E0B-8A88-451412A10C66} say, and known as a GUID. Attempt to rename this folder so that you can highlight and copy the GUID string itself (not the folder).
Then add an option, which is similar to /vmid {06A8A448-EB8B-4E0B-8A88-451412A10C66}, to the emulator shortcut command above.
The shortcut should now start the emulator from its saved state. It is a good idea to back up the saved state folder.
On the host select Visual Studio 2005 -> Tools -> Options -> Device Tools -> Devices
Then select Windows CE 5.0 Device -> Properties -> Configure
In the "Configure TCP/IP Transport" dialog box, select "Use specific IP address", and then type the emulator IP address you found above.
Close the dialog boxes.
Select Emulator -> Start -> run -> \Windows\cMaccept.exe and connect to the emulator from VS2005 within three minutes.
Run your application from Start Debugging in VS2005 and VS2005 should deploy the two cab files nectcfv2.wce5.x86.cab and system_SR_enu.cab first (this may take some time), and then your application.
Close your application in the emulator (I've had trouble using the Stop button on the host).
Shut down the emulator using the "Save State" option.
You may need to re-run cMaccept each time you restart the emulator or VS2005, but the cab files should not need to deploy again, and the emulator ip address should remain the same.
To avoid cMaccept navigate host -> programs -> Microsoft Visual Studio 2005 -> Visual Studio Remote Tools -> Remote Registry Editor
In the "Select a Windows Device" dialog box that appears highlight the "Windows CE 5.0 Device" option
In the emulator run cMaccept and then immediately click OK in the Remote Registry Editor
Highlight Windows CE 5.0 -> HKLM -> System
Right click in the right hand pane and select New DWORD value.
In the name field type (exactly and without the quotes) "CoreConOverrideSecurity" and set its value to 1
Close the editor. Shut down the emulator with Save State.
First off, Sujay, I'll assume you didn't mean Windows CE explicitly. I'll assume you meant programming for handheld devices running a Microsoft operating system. CE hasn't been used for five or six years. The devices are all running Windows Mobile. 6.5 is the most popular now.
You do not need an SDK to program for Windows Mobile in Visual Studio. It is already baked in. If you want to get the latest tools to develop on Windows Mobile 6, then yes, the location you specified is perfect.
Here's another great place to get high-level info: Windows Mobile Development Center
I think you can use C# and create smartdevice project,
and use c# for making apps,use unmanaged code by improting DLL's..
for more sample just see "Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CPP"
here u get some samples.
Related
I am using Microsoft Visual Studio 2008 for development for Motorola WR41N0, which has Windows CE 7.0 operating system. As program was initially used on Windows CE 5.0, I just changed settings to fit to new operating system. Everything is going ok, except debugging. I am able to set breakpoint and it stops on it, but I am unable to make steps (F10 key). I made a build for older device Motorola WT4090 with Windows CE 5.0 and it was running ok and I was also able to debug in steps. Then I switched devices and it deployed older version on new device. Its graphical interface didn't start, but I was able to debug start routine in steps. After rebuild and redeploy I wasn't able to debug in steps again. Please give me some advice what to do, thank you.
If you are developing using C/C++ you may need to install those patches on your VS machine:
http://www.microsoft.com/en-us/download/details.aspx?id=11935
http://support.microsoft.com/kb/2483802
(should be the same fix, but it's not easy to understand this on MSDN...)
I'm working on Visual Studio 2012 running on Windows 8 (32 bit), developing Windows Store app with C++
The app runs smooth on "local machine". But when I try to run it on the simulator, Build and Deploy succeeds but the simulator keeps loading forever! (dots coming from left and leaving at right)
When I close the simulator from the taskbar, VS gives me the following error: Unable to start the simulator. Cannot process request because the process (####) has exited.
I've been searching everywhere for a solution for a week now. The possible solutions I found were:
1. Changing the fDenyChildConnections registry.
2. Checking the "Automatically use my Windows logon name and password (and domain if any)" checkbox from the security tab of the network.
3. Updating graphics driver.
4. Disconnecting all networks.
5. Restarting VS/making new project.
6. Launching simulator from C:\Program Files\Common Files\microsoft shared\Windows Simulator\11.0\Microsoft.Windows.Simulator.exe
7. Updating VS.
The problem is still there. Does anybody have a solution?
I performed a clean install of Windows 8.1 x64 and the simulator is running smoothly. I guess running 32 bit windows on a 64 bit architecture was the cause of this issue.
Try to see if "Remote Desktop Services" is enabled, if no enable it as manual and start it.
I had the same issue and the reason was lack of Hyper-V. I installed Hyper-V and the simulator worked.
I have built and deployed Dvorak SIP sample from C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CPP\ATL\dvoraksip location. The sample successfully deploys and registers and when I click on Dvorak from the SIP icon at the middle of the tray it is opened in Windows Mobile 5 emulator and some other devices except Pidion BIP-1300-GSM which is running Windows Mobile 5.0.
What is the reason?
I should mention that it is always deployed and registered successfully.
UPDATE
I put DebugMessage in all of the methods.
When I Deploy Dvorak, methods in dvoraksip.cpp are called on device like what happens on Emulator.
When I click the icon in tray in Emulator methods in dvorak_implementation.cpp are called correctly but nothing is called on Pidion device.
I don know what possibly went wrong on your side. There are some pitfalls when using this WM653 sample on Windows Mobile 5. When you switch to WM5 in VS8 configuration manager, the deployment settings have to been adjusted:
Do you have WM5 SDK installed within VS2008 too?
In VS8 ensure that you link ATL statically:
Here is my updated VS2008 project/solution of DVORAK SIP sample using WM5 SDK: http://www.hjgode.de/temp/dvoraksipVS2008_WM5SDK.zip
I tested that on a WM5 device (no Pidion, an Intermec CK60 running WM5):
I have seen that you posted the same question at social.msdn and who knows where too. If the pidion still does not work like a WM5 device, you should consider changing the model.
As an alternative you may use Richard Boling's NumPanel example of a SIP.
Here is the VS8 solution for WM5SDK: http://www.hjgode.de/temp/BolingNumPanel.zip
We develop C++ code primarily on a headless linux x64 server with VI. We are provided with windows desktops and I was wondering how others in similar situation work? Do you just use windows to remote into linux box or is there a way to develop on windows.
Two solutions that come to my mind are:
Run a linux VM on windows desktop.
Cygwin. (not sure about it).
Any others?
There is a VIM port for windows. As an everyday user I can say that the experience is seamless, except for using windows path separators.
There are other options to consider:
MSYS supplies you with a set of GNU tools compiled natively for windows, including a shell, ssh/scp
MinGW gets you a Windows port of gcc.
UnxUtilx is another set of GNU tool ports, but with no recent activity.
As others have mentioned, putty gets you ssh/scp, purpose-built for windows.
The only C++ app I currently develop is Qt based and cross platform so I tend to develop in Windows using Visual Studio and then test on linux. For testing on linux I mostly use putty, vi and make but if I need to use a debugger I use nemiver and xming with putty exporting the x session to the PC for xming to render.
Do you just use windows to remote into linux box or is there a way to develop on windows. -- yes mostly I do that.
winscp is a tool that lets you do your text-editing locally in your editor of choice, whether it be emacs for windows or gedit or notepad, and save remotely.
When I worked in an environment like that, I installed Cygwin/X and putty on my windows box. You use putty to connect to the Linux box with the Connection --> SSH --> X11 --> "Enable X11 forwarding" turned on. You
Install Cygwin including Cygwin/X http://x.cygwin.com/ — download the installer, make sure the xinit package is selected in the things to install, and hit go!
Install PuTTY http://www.chiark.greenend.org.uk/~sgtatham/putty/ and enable X forwarding in your session settings. PuTTY will automagically set your DISPLAY environment variable correctly.
Start your X server on Windows (Start -> Programs -> Cygwin/X -> XWin Server ) — you may want to copy this to your Startup group so it runs whenever you log in.
Use PuTTY to connect to your *nix box and fire up an X Windows program — remember to "amp it off" http://www.catb.org/jargon/html/A/amp-off.html.
You can use whatever X programs are available on the Linux machine seamlessly on your local client desktop. You can do it with Eclipse or gvim or kate.
Another thing I've had good luck with is using Samba on the Linux box to share my source tree, and then mapping a drive in Windows to that share, using native Windows tools to edit it.
I have created a ATL COM workspace for a WIN CE device. The COM dll generated by the workspace is compatible for the Win CE device processor. Debugging in the Win CE device is very time consuming as it involves (copying the files through ftp, registering the COM in the device using telnet and debug the dll through remote debugging)
Is it possible to convert the workspace by changing some projectsetting to build it to run in my PC?
What other options are available to reduce the debug time?
You can go to the Configuration Manager and add a new configuration for Win32 or x64. You may choose to copy settings from your WinCE project, but adjusting them to work on the PC will not necessarily be easier than starting over. You just have to decide for your particular case.