Visual Studio 2008 SP1 Beta and Updates
12 May 08 07:08 PM | jameslau-MS | 1 Comments   

Today, we release the Visual Studio 2008 Service Pack 1 Beta. This service pack is particularly important for Visual Studio extenders because they can test it and report any compatibility problems with their extensions.

You can find the downloads are at the following locations:

The download pages:

· Visual Studio:  http://www.microsoft.com/downloads/details.aspx?FamilyId=CF99C752-1391-4BC3-BABC-86BC0B9E8E5A&displaylang=en

· .NET Framework:  http://www.microsoft.com/downloads/details.aspx?FamilyId=8C36ACA4-E947-4760-9B05-93CAC04C6F87&displaylang=en

· Visual Studio Express:  http://www.microsoft.com/downloads/details.aspx?FamilyId=BDB6391C-05CA-4036-9154-6DF4F6DEBD14&displaylang=en

· Team Foundation Server:  http://www.microsoft.com/downloads/details.aspx?FamilyId=DCB535BE-C32E-474C-9F64-282A2849ACC5&displaylang=en

For those who are using the VS Shell products, we are making new redistributable packages available for SP1 Beta as well. They can be found here:

· VS Shell (integrated mode) redistributable package: http://www.microsoft.com/downloads/details.aspx?FamilyID=945c2c2b-3dae-460d-8c6d-09b5a3c40f0a&DisplayLang=en

· VS Shell (isolated mode) redistributable package: http://www.microsoft.com/downloads/details.aspx?FamilyID=fd340c29-2ef8-4984-96ed-f42e441223fd&DisplayLang=en

More about the VS Shell SP1 Beta

So what's new in VS Shell SP1 Beta redist packages? The biggest change is that we have dramatically decreased the size of the redist package by over 130 MB. Instead of including the entire .NET FX 3.5 redistributable, we now include the .NET FX 3.5 web bootstrapper. The bootstrapper will figure out wether the client machine has .NET FX 3.5 installed and does nothing if it's already there. If it's not already there, it will download and install for you. The large download size has been the biggest piece of feedback from VS extenders since RTM and we hope that you will like the work that we have done in SP1.

Upcoming...

In a few days, we will be shipping VS 2008 SDK 1.1 Beta. This release is meant to be the release that matches VS 2008 SP1 Beta. Mostly, it will be minor updates, but it will enable you to develop on the latest platform (even if it's in beta form).

More details to come when the new SDK release becomes available!

 

- James

Launch event wrapping up
27 February 08 05:41 PM | jameslau-MS | 1 Comments   

I just finished with my Chalk Talk session, and the launch event is winding down. Folks are heading over to the Launch party at 7 pm, but I will be flying home tonight.

My session went well. Typically, chalk talks don't get much attendance, and I was expecting 20-30 people. But in this case, every single seat in the Chalk Talk area was filled with folks putting extra seats at the back and a bunch of folks standing for the entire session. I spoke about the VS Gallery, the VS SDK and using the VS Shell. The attendees were very engaged throughout the session, had great questions and seemed to have enjoyed the material.

 

P1060088

 

Thanks for coming!

- J.

Introducing Visual Studio Gallery
27 February 08 05:07 PM | jameslau-MS | 0 Comments   

If you missed Soma's blog post from this morning, we are launching the Visual Studio Gallery today. This is the one-stop shop where you can find all the Visual Studio extensions to install, and you can also publish your own Visual Studio extensions to the community.

This launch is very exciting for our team, as we view this as a key part of continuing to build a rich 3rd party ecosystem. Moving forward, we are looking into ways to enable to more seamlessly discover, download and install experience extensions within Visual Studio.

You can visit the Visual Studio Gallery here.

HEROES happen {here}
26 February 08 10:35 PM | jameslau-MS | 2 Comments   

I am in L.A. today and tomorrow, to attend and speak at the Visual Studio, SQL Server and Windows Server 2008 launch event.

I feel very lucky to be able to participate in this historical event. This launch wave is the largest one ever for any developer / IT Pro based products. If you are not in L.A. right now, don't worry. You can still participate through the virtual launch experience.

This launch is also very exciting for the VSX team because we will also be launching something tomorrow. I won't give it away right now, but if you check our team blog tomorrow, you should see the announcement.

I am giving the following session tomorrow at L.A. Convention Center. Hope to see you there!

Title: "Extend Your Development Experience with the New Visual Studio 2008 Shell"

Location: 502AB-2

Time: 2:45 - 3:45 pm

Abstract: The Visual Studio 2008 Shell enables developers to build custom tools based on the Visual Studio IDE. Whether you are looking to build an "Express" edition for your programming language product or you want to build development tools for embedded systems, the Visual Studio Shell can help you cut costs and focus on your areas of expertise. In this session, we will show you how to build your own instance of the Visual Studio Shell, and highlight the new extensibility features in Visual Studio 2008.

 

Heroes Happen Here

 

- James

Bill Gates visits University of Waterloo
21 February 08 09:44 PM | jameslau-MS | 2 Comments   

Not that this has anything to do with VSX directly, but I came across a news bit about Bill visiting my alma mater earlier today.

You can view more photos and read more about his visit here.

Personally, I think he looks pretty good in the U of Waterloo sweat shirt ;-)

Filed under:
Upgrading VS 2005 Packages to VS 2008: A more Advanced Guide
13 February 08 12:40 AM | jameslau-MS | 5 Comments   

Since I made the last blog post on upgrading, I have received some good feedback that it was useful for basic scenarios. Unfortunately, there are some scenarios that sometimes the steps that I presented didn't work because of hard dependency on Microsoft.VisualStudio.Shell.dll.

In this blog post, I will talk about how to upgrade your project if you cannot simply replace the Microsoft.VisualStudio.Shell.dll with Microsoft.VisualStudio.Shell.9.0.dll.

Things You Need to Do to your Project File

  • Unload your package project file inside Visual Studio and edit the project file directly.
  • Add <Reference Include="Microsoft.VisualStudio.Shell" /> back to your ItemGroup element. (Well, this is not really a step to help you make this work. This is more why you need this to be using this guide in the first place!)
  • In the PropertyGroup element near the end of your project file, set UseVS2005MPF and RegisterWithRanu to true and false respectively. You will also need to set the TargetRegistryRoot property. Your file should look something like this:

image

  • Next, save the project file and close it. Then, right-click on the project file and choose to reload the project.
  • When the project is loaded up again, right-click on it and choose Properties. Select the Debug tab and remove "/ranu" from the Command line arguments field. Your Debug tab should now look like this:

image

At this point, you have told the build target that you want to use the 8.0 version of the MPF DLL. When you do that, we automatically use the matching 8.0 version of regpkg.exe to register your package. Of course, that's the version that we shipped with VS 2005 SDK, and it didn't support normal user package development, so we didn't support RANU (run as normal user). So then, you need to set RegisterWithRanu = false. Finally, setting the TargetRegistryRoot is pretty straight forward. So with your updated package project, you will need to make sure you are running VS as admin in order to make it build successfully because it will now attempt to register the package under HKLM, just like we used to do in the VS 2005 SDK. But before you go and restart VS in admin mode, you first need to create your experimental hive under HKLM. If you remember, in VS 2008, we no longer create the experimental hive under HKEY_Local_Machine. We actually create the experimental hive under HKEY_Current_User and do smart detouring in order to enable package development for normal users. But now that you are going back to the old world, you will need to do everything as admin.

  • Run a command prompt as an admin. Then, go to the directory where your VS 2008 SDK is installed and run "vsregex getorig 9.0 Exp".

image

  • Once this command is finished running, you can close VS and restart it in admin mode. You can do this by right-clicking on the VS icon and choose "Run as Administrator".

Now, you should see your package build successfully and a new instance of VS should launch happily with your package registered!

It's getting late; if I have missed anything, please let me know and I will update this post.

- James

Upcoming Book on VSX
05 February 08 01:33 PM | jameslau-MS | 4 Comments   

I got pinged by Keyvan today. He and I have never met before, but he told me that he is in the process of writing a book on VSX, and would like our team to review it. My response is: OF COURSE!

It's awesome to see that there are developers in the VSX Community who are doing that. In case you are interested in seeing what else he is working on, check out his web site at http://nayyeri.net/

Of course, I haven't seen the manuscript yet at this point, so I don't know anything about his upcoming book. All I know so far is what the book cover looks like and that is will be published by Wrox. You can even pre-order it from Amazon already!

 

41Rqntv460L__AA240_ 

 

Anyone else is working on cool VSX related projects?

 

- James

Source Code Outliner PowerToy is now available for VS 2008!
27 January 08 12:06 AM | jameslau-MS | 1 Comments   

The popular Source Code Outliner PowerToy has been updated for VS2008. Get it now from MS Download Center!

Upgrading VS 2005 Packages to VS 2008: A Basic Guide
21 January 08 06:27 PM | jameslau-MS | 7 Comments   

Today, I heard several developers in the community experiecncing some trouble upgrading the VS 2005 package projects to VS 2008. So I took a look at what's going on and decided to blog about it here.

Note that I am blogging about all the things that you need to do to migrate a very basic package project. If you use things like ProjectAggregator2, there will be additional steps involved. You can see Quan's blog entry here which discusses more about that issue.

There are several things you need to be aware of when you are porting a VS 2005 package to VS 2008. This blog post will guide you through the process, step-by-step.

If you like things in bullet points and less step-by-step, here is a summary of steps you need to take to upgrade your VS Package project from VS 2005 to VS 2008.

  1. Update build targets in project file
  2. Remove <TargetRegistryRoot> element
  3. Add Shell 9.0 references
  4. Update project debug properties.

Note on version compatibilities

Sometimes I get asked whether the VS 2008 SDK works for developing VS 2005 packages. The answer is probably. While theoretically, it should work, I would advise you against it. The reason is that we didn't do a lot of testing for VS 2008 SDK targeting VS 2005, and you are much better off sticking to using VS 2005 SDK for creating VS 2005 extensions and using VS 2008 SDK for creating VS 2008 extensions. Clean. Simple.

Steps to Upgrading to VS 2008

Step 1. The first thing you want to do is to make a copy of your VS 2005 Project file. For the purpose of this blog, I have just created a default VS Package project called VSPackage1. Go ahead, make a copy of it.

Step 2. Then, on machine where you have both VS 2008 and VS 2008 SDK installed, use VS 2008 to open up the package's solution. The VS Conversion Wizard will ask you to upgrade.

ProjectConversion

Click Next and decide whether you want a backup or not. I would suggest you do that. Then click Next and then Finish. Depending on whether you have VS 2005 SDK installed on that machine, the conversion may or may not fail. If the conversion, you will see an error message like the following:

ConversionError

Either way, you should proceed with the same steps below.

Step 3. Unload the project file if it is not already unloaded. Right-click and choose "Edit VSPackage1.csproj". Update the build targets by

Comment out the following line:

<!--<Import Project="C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Tools\Build\Microsoft.VsSDK.targets" />-->

Add the following in its place:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\VSSDK\Microsoft.VsSDK.targets" />

Step 4. Update the target registry root by commenting out the following:

<!--<TargetRegistryRoot>Software\Microsoft\VisualStudio\8.0Exp</TargetRegistryRoot>-->

We will automatically pick the right target registry root for you.

Step 5. Add Shell 9.0 references by commenting out the following:

<!--<Reference Include="Microsoft.VisualStudio.Shell" />-->

And then adding the following snippet in its place.

<Reference Include="Microsoft.VisualStudio.Shell.9.0" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0" />

This is needed because the VS 2008 SDK determines whether your project needs to create a .pkgdef file at build time depending on whether you have include this reference in your project. .pkgdef files are automatically produced when you build your package in VS 2008. They contain similar information as what regpkg.exe produced for you before for package registration. In fact, we have updated regpkg.exe so that it supports outputting .pkgdef files. Anyway, we can talk more about what .pkgdef file is in another post. But for now, just include these references. If you don't add this reference into your project file, you will get the following error when you try to build your project.

NoRegError

When you reload your project, the VS Conversion Wizard will show up again. This time, your conversion should be successful.

Step 6. Update the Debugging properties of the project. You can do this by right-clicking the project file and choose Properties.

Click on the Debug tab and update the Start external program field to point to VS 2008 instead of VS 2005. Then add "/RANU" to the command line arguments.

ProjectProperties

Congratulations! Now, you should be able to hit F5 and run your package in VS 2008!

Common Question: Why is there no 9.0Exp hive under HKEY_LOCAL_MACHINE?

In VS 2008 SDK, we have enabled package development for normal users. What that means is that you don't need to be an administrator to develop and test VS packages. That also means you don't need to elevate to admin privilege for your instance of VS if you are running Vista.

We accomplished that by detouring all the calls to read/write from the normal VS registry hive under HKEY_LOCAL_MACHINE to HKEY_CURRENT_USER. So with the VS 2008 SDK, you won't find an experimental hive under HKEY_LOCAL_MACHINE. Instead, it's created under your own current user hive.

There are 2 caveats I have:

1. If you are doing VS Shell isolated mode development, you should still run VS as admin for now. There is a bug in VS Shell isolated mode development scenarios in which the detouring does not work properly, so you should run VS as admin for now if you are creating your own shell-based application.

2. You will need to manually create the Exp hive under current user if another user who did not install the SDK logs onto the machine. During setup, the Exp hive is only created for the user running the setup. If a new user logs into the machine, that hive won't be there. You can easily do this by running "Reset the Microsoft Visual Studio 2008 Experimental hive" under Start > All Programs > Microsoft Visual Studio 2008 SDK > Tools.

 

That's it for now. I hope you find this post useful in helping you upgrade to VS 2008!

thanks,
James

Link to HelpStudio Lite
17 December 07 03:08 PM | jameslau-MS | 1 Comments   

With the most recent release of the VS 2008 SDK, HelpStudio Lite is no longer included in the SDK download. But it is still the tool we encourage you to use for help documentation authoring and you can easily download it directly from Innovasys.

I was doing a search on the download link just to see how easy it is to find HelpStudio Lite. It turned out to be harder than I thought (I used both Google and Live search). To make things easier, here is a direct link to it:

 http://www.innovasys.com/products/hslite/overview.aspx?cpid=vssdk

Hope that helps.

thanks,
James
 

Filed under:
DevTeach in Vancouver, BC this week
29 November 07 10:38 AM | jameslau-MS | 1 Comments   

It's been a weird month for me. I counted that I have only been in the office for 5 days in November! I have spent 1 week in Barcelona for TechEd, 1 week of vacation, short Thanksgiving week and 1 week in Vancouver for DevTeach.

We are at DevTeach in Vancouver, BC this week. Ken delivered the DevTeach keynote on VSX this past Tuesday to a packed hall of developers attending this conference. He did a great job getting the VSX message across, and Universal Thread Coverages covered the event here.

Aaron also did a good job doing an intro talk on VSX yesterday.

I will be presenting the Visual Studio Shell session later this afternoon.

- James

VS 2008 SDK and VS Shell runtimes available!
21 November 07 12:48 AM | jameslau-MS | 1 Comments   

We are finally here! Following right on the heels of the VS 2008 release announcement yesterday, we are now announcing the availability of the VS 2008 SDK 1.0 release and the VS Shell (integrated mode) and the VS Shell (isolated mode) runtimes.

It's really great to get these releases out the door to VSIP partners and the VSX community. You can refer to our team blog for a list of new features in the SDK.

 A couple of important notes to be aware of with the new release:

1. VS Shell Development - if you are creating a VS Shell (isolated mode) based application, make sure you run Visual Studio with administrator privileges. This is required in version 1.0 of the VS 2008 SDK due to a known bug.

2. Run as Normal User in Windows Vista - we have enabled packages development as well as the use of samples in the VS SDK for normal users. We no longer create the experimental hive under HKEY_LOCAL_MACHINE by default. So after you installed the SDK, you can't run "devenv /rootsuffix exp" like how you used to do it with VS 2005 SDK. Instead, you need to run "devenv /rootsuffix exp /ranu" to tell Visual Studio to run the experimental hive under HKEY_CURRENT_USER.

For full details of other known issues and workarounds, please see the readme.html file in the VS 2008 SDK.

 thanks,
James

Great News for VS Extenders and VSIP Partners!
07 November 07 10:29 AM | jameslau-MS | 4 Comments   

What a great week for the VSX community! This week, we made several major announcements that will greatly benefit the VSX community. In a nutshell, here are the major announcements that were made:

  • In response to customers' requests, we are removing the license restrictions with Visual Studio and Visual Studio SDK to enable the use of Visual Studio (include Visual Studio Shell) to build applications that target non-Microsoft platforms.
  • Visual Studio Shell was demo'd at both Soma's keynote at TechEd EMEA and Scott Guthrie's keyonte at DevConnections, illustrating the power of using the VS Shell in other domains.
  • We are providing VSIP Premier members source code access to parts of Visual Studio, to enable our customers to better design and debug their Visual Studio integrations.

I am in Barcelona myself right now. I will be talkin more about how to use the VS Shell tomorrow. See you there!

thanks,
James

Barcelona, here we come!
26 October 07 12:18 AM | jameslau-MS | 3 Comments   

We put on a good show last week at the VSIP Summit & Developer Conference. We had lots of attendees, lots of sessions, and lots of good food :)

We are wrapping up both the VS 2008 SDK on our team, and working with the rest of the Division to wrap up VS 2008 as well. A week from now, I will be flying to Barcelona to attend and speak at Tech Ed EMEA. I just received a mail yesterday from the organizers that they actually want me to repeat my VS Shell session! So I will be doing that session TWICE at TechEd (they haven't even scheduled when the repeat is yet), and then doing it some more at our own Dev Lab which is we are hosting right after the conference on Nov. 9 and 10. I am also involved in a Chalk Talk in TechEd EMEA.

Anyway, here are the sessions, dates and times:

TLA02-IS Discussing Various Scenarios for Customizing Visual Studio - From Visual Studio Shell to Visual Studio Tools for Applications 
Thomas Quinn , James Lau , Steve Cook
The Microsoft Visual Studio Shell offers you a framework for building custom applications on top of the Visual Studio foundation while Visual Studio Tools for Applications (VSTA) allows you integrating Visual Studio into your custom applications. Together with the rich possibilities of building custom graphical designers using Domain Specific Languages (DSL) and much more parts the Visual Studio Shell has to offer, this gives you a tremendous set of possibilities of building and customizing your applications with Visual Studio. If you want to discuss possible usage scenarios – or especially which part of Visual Studio Extensibility (Shell, VSTA, DSL etc.) fits best to your solution – then this discussion is the right thing for you! Bring your own scenarios and discuss them with our architects and developers from the Visual Studio product team! 
Fri Nov 9 09:00 - 10:15 Room 131

 

TLA303 Build your Own IDE with the Visual Studio Shell 
James Lau
Visual Studio Shell is a new offering in the Orcas wave of products. With this new product, tools developers can now easily build their own customized IDE on the same platform that Visual Studio is built on, royalty free. Whether you are looking to build an “Express” edition for your programming language product, or you want to build an IDE for specialized control systems, the Visual Studio Shell can help you cut costs and focus on your areas of expertise. In this session, we will walk you through how to build a custom IDE called Storyboard.NET using the Shell, that allows business analysts to draw storyboards to analyze requirements. You will walk away inspired to build your own IDE on this new platform! 
Thu Nov 8 15:45 - 17:00 Tent 2

 
I hope to see you all there! Please come say hi if you are planning to be at TechEd too. I'd love to meet you and chat more about VSX and potential partnership.

 

Thanks!
James
 

Help with creating your first environment based on VS 2008 Shell (isolated mode)
04 October 07 10:54 AM | jameslau-MS | 1 Comments   

We know that it is a little difficult to use the VS 2008 SDK Aug. CTP to create your first environment based on the Shell. We are working to improve the development experience right now before we ship the final product before the end of this year. Right now, you can refer to this magazine article that I wrote here to help you jump through a couple of hurdles.

 http://www.code-magazine.com/Article.aspx?quickid=0710032

 thanks,
James

More Posts Next page »
Page view tracker