Compartilhar via


Windows Vista and smart device development

Folks using Beta 2 and later CTPs of Windows Vista for device developers would have run into some rough weather over one or more of the following issues. Rest assured - we're aware of this (and some of these have already been fixed internally)  and by the time Windows Vista goes gold, the device development story will be squeaky clean and we can retire this blog post to that big blog graveyard in the sky.

But in the meanwhile, here are the issues you might run into and the workarounds for those. As always, if this doesn't work for you, please post to the forums and newsgroups where you can flog us in public :-)

Installing Windows Mobile 5 SDKs on Windows Vista

To get Windows Mobile 5 SDKs to install on Visual Studio 2005 on Windows Vista, you need to turn of UAC first. You can do that from ControlPanel->UserAccounts->ChangeSecuritySettings. Do remember to turn it back on once you're done installing!

SQLMobile databases created on XP or older OSs (and device emulators) do not work on Vista and vice versa

This is a bug that I personally care about a lot because I was the first person to investigate this bug when it was reported by a tester internally (and I spent 2 nights in the debugger trying to figure it out). :-)

Unfortunately, there is no good workaround today. To make SQLMobile databases created on XP work on Windows Vista, you'll have to recreate them or create them on Windows Vista from scratch. However, this will only help you in the IDE. On the emulator or on devices, you need to use databases created on Windows XP.

I know very well how painful this is (I was the PM for the feature after all :-)) and I owe you an explanation on why this is so. The reason is that Windows XP and Windows CE 4.2 and 5.0 sort strings a certain way (which we use when we call CompareStringW) but Windows Vista sorts strings another way. This sort order is reflected in the .sdf file and hence databases which use one sort order won't work with the other sort order.

Rest assured again - we re-engineered some things to make this work and you'll see this fixed in SP1. For those curious, SqlMobile now detects when the sort order is different and compensates for it.

Cannot create native C++ projects

If you try to create a native C++ Smart Device project, you would have repeatedly try to finish the ‘New Project’ dialog but wouldn’t have been able to get it to work.

This problem is due to the New Project dialog not playing nice with the changes in Internet Explorer 7 (the New Project dialog for native projects is actually a glorified web browser control).

The workaround is simple - Open the registry entry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\PreApproved
Add a new entry and name it
{D245F352-3F45-4516-B1E6-04608DA126CC} 

Again this is something we have fixed for Visual Studio 2005 SP1.

Cannot debug/deploy over ActiveSync

When you  debug/deploy from VS2005 to any WM device, it says Active Sync not installed. Active Sync ships as Windows Mobile Device Center in Vista. A fix is needed in Visual Studio so that it can understand this.

To fix this, open the  registry entry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services 
Add the following entries                                                                                                                               
MajorVersion (DWORD) = 4
MinorVersion (DWORD) = 0
[Do not install Active Sync 4.1, as its already present in Vista as Windows Mobile Device Center. ]

Device Emulator Manager UI gets corrupted on repeated aborts/connects

The time-tested technique of stopping and restarting the Device Emulator Manager should fix this.

Bugs with no workaround yet

The following issues have no workaround unfortunately. We will get them fixed as soon as we can.

• “Not enough storage” error occurs when you open Property Pages in Visual Studio Japanese.
• Cannot Cradle the Emulator in Vista. Yes – we know how painful this is :-(

Sriram Krishnan

Comments

  • Anonymous
    July 02, 2006
    I have VS2005, Vista Beta 2. Made changes to registry and efectivly resolved ActiveSync not installed. Now I get class not registerd. Stuck again.

  • Anonymous
    September 27, 2006
     There was an announcement made this week about Visual Studio 2005 SP1 and support for Vista. In a nutshell,...

  • Anonymous
    September 27, 2006
     There was an announcement made this week about Visual Studio 2005 SP1 and support for Vista. In a nutshell,...

  • Anonymous
    September 27, 2006
    PingBack from http://e-fuze.com/blog/?p=49

  • Anonymous
    September 29, 2006
    After cleaning my house, I needed to go through the painstaking process of getting my dev environment...

  • Anonymous
    October 26, 2006
    ตอนนี้ Vista ก็จวนจะถึงกำหนดคลอดแล้วนะครับ หลังจากถูกฟูมฟักมาหลายปี และในครั้งนี้ก็เป็นปรากฏการณ์พิเศษ

  • Anonymous
    November 20, 2006
    Hereby I join the happy crowd running Vista RTM. So far nearly everything is running. Including Virtual

  • Anonymous
    November 21, 2006
    PingBack from http://isdepartment.wordpress.com/2006/11/20/some-troubles-developing-for-mobile-devices-on-vista/

  • Anonymous
    November 28, 2006
    the required ActiveSync proxy ports are not registered

  • Anonymous
    January 16, 2008
    ตอนนี้ Vista ก็จวนจะถึงกำหนดคลอดแล้วนะครับ หลังจากถูกฟูมฟักมาหลายปี และในครั้งนี้ก็เป็นปรากฏการณ์พิเศษ

  • Anonymous
    January 16, 2008
    ตอนนี้ Vista ก็จวนจะถึงกำหนดคลอดแล้วนะครับ หลังจากถูกฟูมฟักมาหลายปี และในครั้งนี้ก็เป็นปรากฏการณ์พิเศษ