views:

81

answers:

4

I have an application for Windows Phone 7 that I need to bundle up and send to several doctors for a content review. Ideas on how this might be done? I can't expect the docs to install the full SDK, but if I could bundle the emulator with it that might work, or if there's an easy way to convert the app to a Windows EXE that would as well. All suggestions welcomed!

+1  A: 

Dot NET code using MS libraries is partially upwards compatible and most runtime classes present on a mobile device are also available on desktop Windows (see MSDN docs for details). So create a copy of your source code, ask visual studio to create a desktop .exe from it, it'll tell you it can't for several reasons, and you will need to recode some sections of it, resize the frame window etc. to make it work.

If one is careful about what methods one uses, I have managed to actually use the exact same .EXE file on the desktop without problems!

Sanjay Manohar
That's not really a possible solutions since there are WP7-only libraries involved, like Microsoft.Phone. Also, WP7 applications are more restricted compared to regular Silverlight apps, so it might cause compatibility problems as well.
Dennis Delimarsky
This is incorrect. There is currently no way to product a stand-alone executable from a WP7 project.
Matt Casto
that's not entirely true. you can create a seperate silverlight project that uses the same code, and use #if's to swap out sections. It isn't *easy* to target both, but it is *possible*
John Gardner
+5  A: 

While the theory is that since it's SIlverlight it should just run on the desktop. Years of Compact Framework development have taught me that this theory is almost never correct and getting it to work is often a real chore.

Microsoft has not yet delivered a stand-along WinPhone emulator (no idea if they will, but they did for WinMo) so for now that option is off the table. Getting your end user to install the stand-alone emulator is a fair bit of work anyway.

To be honest, my experience has been that just doing a Camtasia capture of the developer screen while you step through the app is one of the easiest ways to get ideas across to these types of groups. No, the end result isn't interactive, so they can't clock on buttons themselves, but if you walk through the feature they want to see, you can usually answer 95% of the questions this way.

When you need to address that other 5%, my experience has been that it's easiest to just send them a physical device with the app installed.

If they are (or have ready access to someone who is) fairly tech-savvy, shipping a Virtual PC image of a PC with the emulator installed and the app installed on it sometimes works.

ctacke
Both excellent suggestions. Thank you!
fatcat1111
A: 

You simply cannot present the application without the SDK, since Windows Phone 7 applications rely on a completely different subset of .NET Framework and require an emulator to run XAP packages. Although you might say that it's the same Silverlight, don't forget about Microsoft.Phone and derivatives - you need the SDK in order for those libraries to be properly handled.

Also, you cannot convert a WP7 application to a Windows executable due to difference in platform architectures.

What you could do is simply allow the doctors to test your application through TeamViewer or similar products.

Dennis Delimarsky
A: 

i think a "killer app" for winphone7+silverlight would be a desktop browser based emulator. want to try the app? just have the store run the emulator in the browser. (yeah, lots of technical hurdles, limited multitouch etc, but it would be pretty slick!)

John Gardner
The only limitation would be fact that the hardware platform as such is closed and it will be hard to blindly emulate it's capabilities. Although, the idea of the C64 Silverlight emulator by Pete Brown comes to mind (http://silverlightc64.codeplex.com/) here.
Dennis Delimarsky
except that there already is an emulator as part of the dev platform. I'm not saying that someone ELSE should write an emulator, i'm implying that microsoft should "web-ize" the existing one :) wouldn't really work with games that require access to the hardware, though...
John Gardner