Rob Tiffany has a blog post here with links to the download and other required bits like SQL Server Compact 3.5 Service Pack 1 for Windows Mobile and Visual Studio 2008 SP1.
Synchronization Services for ADO.NET 1.0, which released with Visual Studio 2008, enabled synchronization between a server database and a SQL Compact 3.5 client database running on a desktop. The information at Rob Tiffany's blog provides details on how to obtain this functionality for device application development.
Download the documentation for Microsoft Synchronization Services for ADO.NET here. There is an article titled Introduction to Occasionally Connected Applications using Sync Services for ADO.NET that provides a nice overview of the Synchronization Services architecture as well as a Webcast titled "ADO Synchronization Services" available on MSDN.
Check out TechDays in Atlanta September 23rd - 25th. Registration is now open. Oh, btw, I am speaking on these topics:-)
8:30 AM - Developing Applications for Windows Mobile - Rob Cameron, Microsoft
Attend this talk to find out what types of applications you can build for Windows Mobile as well as the tools and technologies to get started.
9:45 AM - XNA Game Studio Development for Zune - Rob Cameron, Microsoft
XNA Game Studio can create games for Xbox and Windows. With XNA Game Studio 3.0 game creators can now build games for the Zune music player. Come learn about the tools and technologies to get started.
Love to see you there!
Windows Vista includes a technology called Windows SideShow® that allows the PC to drive a variety of secondary display devices as well as receive commands from secondary devices. Here is a link to end-user information on Windows SideShow. Here is a link to developer info on Windows SideShow.
Given that the majority of Laptops and Windows Mobile Phones have Bluetooth capabilities, it just makes sense that Windows Mobile should be a Windows SideShow®–compatible device, especially in remote-control applications such as controlling Windows Media Player or a PowerPoint presentation. The Windows SideShow for Windows Mobile Developer Preview makes this happen. Here is the three step process to set things up:
- Setup a Bluetooth Connection between your Windows Mobile device and Vista
- Download and install Windows SideShow for Windows Mobile Dev Preview
- Configure Windows SideShow
The instructions below seem long but it is straight-forward to setup. I'm just trying to be extra thorough with steps showing how to pair a Windows Mobile device with Vista over Bluetooth:-)
Note: This release is not compatible with computers running Toshiba Bluetooth drivers. See the “Troubleshooting” section at this link for more information.
Note: Be sure to install .NET Compact Framework 2.0 on your Windows Mobile 5.0 device if it is not already installed.
Note: After installing SideShow on Windows Mobile 6.1, the Home screen reverts to the standard Home screen. You can switch it back to the Sliding Panel in Settings | Display but you won't see the SideShow home screen status. (You can still launch SideShow from Start | All Programs).
Note: Make sure Bluetooth is enabled for your Vista machine and Windows Mobile device.
1. Pair Your Windows Mobile Device with Vista
You first have to pair your Phone to your Laptop if you haven't done that already. Go to Control Panel, type Bluetooth in the Search box, and then click Change settings for a Bluetooth enabled device. Select Options and click Allow Bluetooh devices to find this computer to make Windows Vista discoverable by your Windows Mobile device.
On the mobile phone go to Start | Settings | Connections | Bluetooth | Bluetooth and select Add new device...The computer name should appear, if not on the first time, retry. Click Next on the Windows Mobile device and enter a Passcode. Enter anything you want, 8 or more digits are recommended and then click Next on the device. Now go back to Vista and you should see a balloon pop-up like this:
Click the pop-up and the below window appears.
After entering the passkey click Next and then Finish (Recommend turning discovery off).
If it doesn't work the first time, retrying once or twice usually does the trick. Click Back on Vista in the Wizard and re-enter the passkey but don't click Next. On Windows Mobile try again on the Add new device.. screen, re-enter the passkey, click Next on the device, and then click Next on Vista.
Once the device is successfully paired with Vista, you must enable the Windows SideShow service for the device in Windows Vista by going to Control Panel | Bluetooth Devices | and select "Change settings for a Bluetooth enabled device". Click the Devices tab, select your Windows Mobile device, and select Properties. Click on the Services tab and enable Windows SideShow.
2. Download and Install Windows SideShow for Windows Mobile (Dev Preview)
You can download the Windows SideShow for Windows Mobile Developer Preview here. Once you download the Windows SideShow for Windows Mobile Developer Preview copy the WindowsSideShowForWindowsMobile.CAB to the My Documents folder (or a storage card) on your Windows Mobile device connected via the Windows Mobile Device Center. Use File Explorer on the device to navigate to the location and then select the file WindowsSideShowForWindowsMobile.CAB to install. (On Windows Mobile Standard or non-touch SmartPhone, File Explorer will be under Start | All Programs | Scroll Down to and select Applications and File Explorer should be in there. You will probably have to use the soft buttons to navigate up to a storage card in File Explorer.)
After installing Windows SideShow for Windows Mobile Developer Preview go the home or today screen or in the Start Menu | All Programs | Windows SideShow to launch Windows SideShow on the device. When it launches you will see one of the following messages:
- "Not connected"
- "No gadgets are turned on"
If it says "Not connected", that means either Bluetooth is not turned on for either Windows Mobile or Vista, or it means that the device is not paired with Vista, in which case follow the steps above to configure Bluetooth pairing.
3. Configure Windows SideShow
One the Windows Mobile device is paired with Vista and Windows SideShow for Windows Mobile Developer Preview installed, launch Windows SideShow on the device by going to Start | All Programs | select Windows Sideshow to launch. Click Connect. It will prompt for who is the primary user, click Finish. It should say No gadgets are turned on which means now it is time to set up some gadgets in Windows Vista!
Note: if Connect fails, that means either that the device is not paired with Windows Vista or that Windows SideShow is not enabled for the device in the Bluetooth configuration. Go through the Bluetooth pairing steps above to enable Windows SideShow.

To enable gadgets for your Windows Mobile device, go to Control Panel and enter SideShow in the Search box. Click Turn gadgets on or off to bring up this screen:
if Office PowerPoint Remote is not in the list, click Get more gadgets online to download and install it. Once Office PowerPoint Remote is enabled, Windows SideShow on the Windows Mobile device automatically updates with a message "Office PowerPoint Remote - No presentations are open."
Open a couple of presentations on Windows Vista in PowerPoint and Windows SideShow on the device is automatically updated:
When multiple presentations are open on the computer, you can scroll through the list of presentations by navigating left or right on the device. To begin a presentation, click on Office PowerPoint Remote and then select on the desired presentation:
Clicking on the presentation on the Windows Mobile phone opens the presentation in presentation mode on the Windows Vista machine. On the Windows Mobile device, the screen updates with the current slide information.
Scroll down and you can see what the next slide is about to aid in making smooth slide transitions:
To change slides, navigate right on your mobile phone's hard navigation button. To go back, select Back or navigate left on your mobile phone's hard navigation button. You can also see your slide notes to help keep you on message:
To switch presentations, click the Menu with the right soft key and select End Presentation and the screen with the available presentations appears.
I hope that you find the Office PowerPoint Remote gadget as useful as I do. Be sure to check out the other available gadgets online.
IE 8 Beta 1 demonstrated some very interesting features like Web Slices but it was definately a beta. I uninstalled a few weeks ago because I found myself always in compat mode and I had issue debugging with Visual Studio 2008. The uninstall seemed to work fine---I didn't have any issues:-)
I downloaded Beta 2 yesterday. Debugging works fine with VS 2008 and in general IE 8 Beta 2 seems to work much much better so far. You can download IE 8 Beta 2 here. Here's a link to the developer center and more information at the IE developer team's blog.
My teammate Michael Scherotter, aka Synergist, is holding a free half-day Silverlight and WPF Workshop in NYC on 9/3/2008. Check out this
link for more details.
In case you were wondering or were not aware, SQL Server Compact 3.5 SP1 does not ship with Visual Studio 2008 SP1 and is only available as a Web download here.
SQL Server Compact 3.5 SP1 for devices Windows Installer (MSI) file contains the CAB files and the DLLs for installing SQL Server Compact 3.5 SP1 on the Windows mobile devices.
For a great example on how to use SQL Server Compact 3.5 in a Windows Mobile line of business application, check out the Windows Mobile Line of Business Solution Accelerator 2008. Currently, the LOB Solution Accelerator 2008 is the best guidance available for building LOB solutions on Windows Mobile.
Interested in learning more about Windows Mobile and Windows CE? Come ask the experts at the monthly chats listed at this link. Scroll down the list to find the next Windows Mobile and Windows CE focused chats. The Windows Mobile focused dev chat is usually around the second Tuesday of the month. The Windows CE focused dev chat is usually around the last Tuesday of the month. Check them out!
When you download SQL 2008 Express, the version available currently does not have tools like SQL Management Studio. The tools will be available soon but if you are like me and cannot wait for the tools to become available, you can use Visual Studio 2008 to perform a lot of tasks. Visual Studio 2008 Server Explorer allows you to connect to SQL Server 2008 Express RTM and attach databases, view objects, etc.
However, let's say you need to grant access to a database to an account so that your web application can use SQL Server 2008 Express. The account that would need access to SQL Express is the account configured for the worker process in IIS. Here are steps to grant read/write access to a database to a user in SQL Server 2008 Express using the command-line interface:
First, connect to SQL 2008 Express using SqlCmd by opening an command prompt (admin command prompt for Vista) and typing this command: (assumes you went with the default named instance)
SqlCmd -S .\SQLExpress
Type this command to create a database user and then hit Enter:
CREATE LOGIN [machinename\useraccount] FROM WINDOWS
Type GO and then hit Enter.
Type this command to switch to the desired database and then hit Enter:
USE Databasename
Type GO and then hit Enter.
Type this command to add the login as a user in the database and then hit Enter:
CREATE USER dbusername FOR LOGIN [machinename\username]
Type GO and then hit Enter.
Type this command to add the username to the reader/writer role in the database and then hit Enter:
sp_addrolemember 'db_datawriter','dbusername'
Here is a screen shot of the command-window running these commands:
You could type GO once at the end to execute all of the commands as a batch but I went one at a time to make sure I had each command correct.
I had an opportunity to attend HostingCon at the Navy Pier in Chicago this week. Microsoft was a Platinum Sponsor and had a pretty large booth that included an XBox 360 setup with Rock Band. The hosting community is a fun bunch of folks so it was a great time to have folks come buy, discuss some technology, and play a little Rock Band. Some of the Google folks came over and played Rock Band with a few Microsoft employees. Everyone walking by seemed to get a big kick out of that photo opportunity:-)
I staffed the booth for Silverlight and Expression Studio, which drew a lot of interest from the hosting community. I also had an opportunity to present on Microsoft's web platform (Windows Server 2008/IIS 7 as the platform, Windows Live Services such as Silverlight Streaming, and ASP.NET/Silverlight as the user experience) with my teammate Tito Leverette on Wednesday morning. Hosters have traditionally had to support both the Windows and Linux platform. Part of that need is because of the lackluster performance of PHP on Windows. With FastCgi baked into IIS 7, PHP performs MUCH better on Windows than in the past.
Part of my demo was showing a PHP application running on IIS 7 with .NET forms authentication and a .NET HttpModule that dynamically adds a copyright to images. the HttpModule was based on this coding walk through.
Here is a screenshot of QDig running on IIS:
This is the standard version of QDig that you can download from the Internet running on the unmodified Windows version of PHP. QDig was my quick test app to see if I could get things working, which actually was pretty easy to do.
Next I tried out Wordpress, which was also pretty easy to setup as well but to make it interesting I added .NET Forms Authentication as well as the ImageCopyright HttpModule described above. Here is a snapshot of the .NET features that can be configured into a virtual directory:
Here is a screenshot of my .NET Users database for the WordPress directory:
The membership database is stored in SQL Server but is completely configurable. Here's a screenshot of me logging into Wordpress with Forms Authentication:

Notice that the logon page is a .aspx. the page is very simple to create, consisting of a couple of ASP.NET server controls (Login and LoginStatus):
<%@ Page language="c#" %>
<form id="Form1" runat="server">
<asp:LoginStatus runat="server" />
<asp:Login runat="server" />
</form>
Once logged on, you can see the Copyright notice written over any images on the page pointed out with the red arrow in the figure below.

If I scroll down on the page, there is another blog post with an embedded iFrame that points to a basic Silverlight video player showing a video I uploaded to the Windows Live Silverlight Streaming Service:
For more information, check out the IIS.net web site for details on how to set this up or drop me an email via my blog.
This is a follow-on webcast to part one that covered Visual C++ 2008 located here. In this webcast recorded June 20th, I hosted Bill Dunlap who is a Principal Program Manager for Visual C++. Bill speaks candidly on what's in store for the native C++ developer in the next version of Visual Studio. Here is the abstract:
Visual C++ provides a powerful and flexible development environment for creating Microsoft Windows-based and Microsoft .NET-based applications. In this session, Bill Dunlap (Principal Program Manager for VS native development) will cover Microsoft's commitments to C++, standards support, as well as provide a glimpse of the future of C++ development on the Microsoft platform.
if you have any interest in C++ at all, you will want to check out this recording.
With all of the emphasize on .NET, a C++ developer might not be feeling the love. C++ is still a first class language in Visual Studio 2008. Microsoft is making big investments in C++ starting with the Visual C++ Feature Pack.
On June 13th, I hosted a webcast with Ayman Shoukry, a Lead Program Manager for C++. Here is the abstract:
Visual C++ provides a powerful and flexible development environment for creating Microsoft Windows-based and Microsoft .NET-based applications. In this session, Ale Contenti (Senior Development Lead for VS native development) will cover what's new for C++ native developers in Visual Studio 2008. as well as cover the Visual C++ 2008 Feature Pack.
Link to the webcast is here on my Windows Live Skydrive. Unzip and open default.html to view the recording. (For a look at the future of C++ in Visual Studio, check out part 2.)
Please note that this webcast is not about managed C++. It is focused on the native C++ developer.
I recorded a webcast a while back on what's new in Visual Studio for mobile development. Here's an abstract for the webcast:
Learn how the Windows Mobile developer platform and tools help developers build innovative and secure applications and solutions for Windows Mobile powered devices. This session will provide an overview of Windows Mobile development, highlighting the numerous improvements for the mobile developer experience in Visual Studio 2008 as well as cover new features in the .NET Framework 3.5 including WCF and LINQ.
The recording for the webcast is available here.
Just a quick post before going on vacation... The DevXTra Editor's Blog has an interesting article with the title "Tech Ed 2008---Unifying Everything". First, the article provides a very good and simple explanation on what Tech Ed has for developers versus the PDC that I'll expand on here:
Tech Ed covers technology that is available to developers now, allowing them to brush up on new technologies as well as deepen knowledge on technologies.
The PDC covers technology that is coming down the road. Developers and Architects attend the PDC to understand the future of the Microsoft platform. In past years, the PDC has unveiled Microsoft .NET, Windows® XP, Windows Vista®, and other significant milestones in the evolution of the Microsoft platform.
The DevXTra's blog post has a nice high-level discussion (i.e something you can share with a non-technical manager) on why .NET? or what is the value in the .NET platform? I'm not going to be redundant by paraphrasing the blog post but here is a teaser:
"...all without having to learn a completely new environment or language." :-)
I have spent a lot of time onsite in the trenches with customers who have both the .NET Platform and the Java/Unix platform. Many of these customers are in the telecommunications industry with a heavy focus on Java/Unix.
Given that Unix was born at Ma Bell, I can understand the love but sometimes what I hear folks partial to Java/Unix say about Microsoft and .NET just doesn't make sense. Some folks forget that Microsoft is a business---we are not secretly running all of our servers and front-end applications on Unix and Java while selling Windows and .NET.
We use what we sell. Not only that, we use what we sell when it is in Alpha and Beta before it gets to customers. Does this mean our products are bug free and perfect? Of course not. I worked for six years in Premier Support at Microsoft---I understand where the issues exist and how they can affect customers. (I also know from being onsite with customers that it isn't exactly cheap and easy in terms of services and support to implement mission critical applications on the alternative platform, but I digress...)
Virtualization is a key technology now and in the future for our customers, as well as for Microsoft as a business, to reduce hardware and management overhead while maintaining reliability. In the spirit of living with our products first, it is pretty cool to note that both MSDN and TechNet are COMPLETELY VIRTUALIZED WITH HYPER-V. This has been the case for weeks now, without issue. To put this in perspective...
TECHNET receives about 1 MILLION HITS A DAY and MSDN receives about 3 MILLION HITS A DAY
So to the guy at a large telecommunications company who told me a while back that "no one will ever trust Microsoft to write a hypervisor," I hope that this little effort by Microsoft "eating its own dog food" moves the trust needle a little bit further to the right.
For more information on the implementation, check out this post for more details.
Check out how DiscountASP extended the IIS 7 management console to allow remote administration of customer sites via the IIS 7 Management Console. In addition to enabling remote administration, DiscountASP also extended the IIS 7 manager by adding functionality specific to their web hosting environment for a fully customized experience. Before I describe my experience with their extension below, here is a little background....
Remote Admin and Feature Delegation
This link covers how to configure remote administration and feature delegation in IIS 7:
Configuring Remote Administration and Feature Delegation in IIS 7.0
The steps at the above link are for the web hoster or web farm manager in the corporate environment.
Configuring the Client machine
To be able to manage IIS 7 remotely, you have to download the new remote administration tool for IIS 7.0 that provides end users and administrators with a way to remotely manage IIS 7.0 servers from Windows Vista, Windows XP and Windows Server 2003. Here are links to the x86 and x64 versions available on IIS.net.
After installing the remote administration tool, the IIS 7 manager now looks like the version that ships with Windows Server 2008:
Click "Connect to a site..." in the Connection Tasks section of the Start Page to connect to a remote server. When the Connect to a site wizard appears, enter the server and site name such as www.contoso.com. Click Next and then enter the user name and password provided to you by the web hoster or your web farm administrator. For the corporate environment, this would most likely be your domain user name and password.
Note: Don't click "Connect to a server" because this action requests permissions at the server level and it is unlikely that your web hoster will permit server level access.
Once connected to the site, you have access to settings available to you via feature delegation in IIS 7. For more information, check out the Mix 08 session on IIS 7 that I delivered with Tito Leverette.
Extending IIS 7
With the integrated pipeline, ASP.NET is a first class citizen in IIS allowing extension and customization of IIS to the same degree as what was available in IIS 6 or earlier but required deep C++ knowledge. This link describes the extensibility in IIS 7 with a step-by-step tutorial on how to add image copyright watermarking on all images in virtual directories where the extension is enabled:
An End-to-End Extensibility Example for IIS 7.0 Developers
With the background out of the way, let's check out what DiscountASP has made available to their customers.
DiscountASP IIS 7 Extensions
DiscountASP launched two extensions, currently in beta:
- Web.config backup/restore module - This module will backup your web.config file and restore it
- Feedback module - This module allows their customers to provide them with feedback and suggestions on the IIS Manager.
When you first connect to a web site hosted by DiscountASP, the IIS 7 remote console prompts with this dialog listing the two available extensions:
Checking the checkbox for both extensions and then clicking OK loads IIS 7 Manager with a new area titled "DiscountASP.NET Tools":
I tried out both extensions and they worked well. What's great is that all of the existing IIS 7 delegated features shown in the screen shot above are configurable for the site, with the modified setting values stored locally in the web.config file. This means that DiscountASP would not need to write tools to say modify the Default Document setting.
A big "Well Done!" to the folks over at DiscountASP!