Happy and honored to be going to TechEd Hong Kong again this year

Happy and honored to be going to TechEd Hong Kong again this year

I have to say – TechEd Hong Kong has been one of the best conferences I’ve ever been
to.  The hospitality shown by the people from Microsoft is really second to none. 
Hong Kong is a beautiful city to visit and the people (not just from Microsoft) were
very accomodating.

 

This year, not only do I get to hang out with my old friend Bob
Beauchemin
– I also get to bring Shannon with
me this year. I am sure we’ll have a blast.

And – I get to do talks on WF/WCF (one of my current favorite topics). BAM (always
one of my favorite topics) – and its integration in BizTalk Server R2. Plus – I get
to do two talks on new features in Orcas and ASP.NET!

Should be a great week in
Hong Kong
if you are in that area of the world – sign up!


Check out my BizTalk
R2 Training.

Day 1 – Guidance Automation

Be sure to run Visual Studio as an administrator.  Failure to do so causes a bunch of little problems. 


Problem 1
After creating the Guidance package project type. I immediately tried to build and got “Error 1 ‘PostBuildEvent’ failed with error code ‘1’ ‘Unspecified error’ %ProjectPathHere% GuidanceSetup.vdproj %project name here%Setup”


Solution 1
The project path had a space in it and I was getting the error ‘C:\Users\neilth\Documents\Visual’ is not recognized as an internal or external command, operable program or batch file.” in the output window.  I just moved the project to a path that had no spaces.


Discovery 1 – I’ve been playing with the solution and project template vstemplate xml files.  I can easily change them around to rearrange the structure of the solution this factory will generate.  I also found that it’s real easy to just right-click on the guidance project, register it and then open VS and create an instance of the solution that this guidance package generates. This seems like the most approachable feature of the guidance automation so far.


Problem 2 After adding another project to the solution template, and including a folder for it under projects. I get “An exception occurred during the binding of refrence or execution of recipe Restiers. Error was: action register failed to execute: Failed to process package. See the guidance package development output window for mrore information about the error..You can remove the reference to this recipe through the guidance package manager.


Solution 2 – The ProjectType element in the vstemplate for the new class library project was incorrect.I changed the project type to General, it then worked fine. I also saw some references to using CSharp as the project type.  I found that the SampleLibrary template uses CSharp as the project type, so that’s good enough for me.


Discovery 2– Good forum is at http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=78&SiteID=1


Question 1 – Hmm.. where to I find the schemas for all of these xml files that I’m working with?


Discovery 3 – It’s a good idea to dload the other service factories (Web Service, Smart Client, Mobile Client etc) and use the shortcuts in the start menu to install the source code for the guidance package


 Hmmm…progress slowed right down as soon as I started trying to explore existing guidance packages.  Perhaps they are a bit too complex to fully understand at this point.

Guidance Automation

I downloaded all the guidance automation (toolkit/extensions) way back when the Services Factory was released.  At the time it was just a bunch of prerequisites so I could get to the “real stuff” (a.k.a. the factory).


 Since then I have realized that I may be more interested in the guidance automation capabilities than the factory itself.  I spent all last night pouring over the guidance automation documentation and I realized that this is an incredibly powerful tool, especially for architects and lead developers.  I have spent a lot of time (i.e. 5 years) on many code generation technologies for pattern implementation and framework adoption.  The hard part is always keeping it integrated with visual studio, and having automated guidance that is flexible enough to be easily maintained as the underlying technology layers change and patterns become more mature.  I think that this guidance automation is a quantum leap ahead in that space, and I intend to put it under the microscope for the next several months. 


My first impression of the documentation is that it was certainly written for developers and I had to read it several times before the concepts really started to make sense.  I’ve also been playing with the meta guidance (guidance for writing guidance) which I am very glad to see.  Using guidance can be hard enough, writing guidance is even harder.  I will add another TAG to this blog and chronicle my experiences with the guidance automation.  If my enthusiasm for this offering continues and I don’t get buried in client work, I intend to release a number of incremental items to this blog exposing this guidance and making it approachable.


If you have requests centering around these packages or have problems you would like to share, let me know and we’ll see what we can come up with.


 I’m excited! How ’bout you?

PDF IFilter – non Adobe, 64-bit support

We’ve got a decent PDF IFilter from found on the MS
IFilter
Blog.

The IFilter team have been busy and while this IFilter is by a third party, I believe
it has under gone some internal MS testing.

One of the things I’ve had trouble with in the past has been Native
Adobe Compression within PDFs.
In the later versions of PDF writer/distiller
etc. when outputting a PDF, one of the options is to select the amount of compression
(a slider bar from memory).

I was onsite and noticed that out of the 400 PDFs in our ‘test’ folder, around 50
were not being properly indexed (only filename, filesize, location etc were ‘extracted’).

All of these 50 documents had PDF compression set to ‘high’ (there were 4 different
compression settings)

You may or may not have to add the work around below – Foxit have updater
their installer.

—- snip ——

Long awaited 64-bit PDF IFilter finally available.

Finally we have a 64 bit PDF IFilter – surprisingly the solution is not from Adobe
or Microsoft, but from a company called Foxit Software.The
IFilter is compatiable with the following Microsoft products: Windows Indexing Service,
MSN Desktop Search, Internet Information Server, SharePoint Portal Server, Windows
SharePoint Services (WSS), Site Server, Exchange Server, SQL Server and all other
products based on Microsoft Search technology.

 There’s one simple workaround to get the filter running on 64 bit MOSS 2007.
The steps are given below.

1. Install Foxit 64bit PDF Ifilter. http://www.foxitsoftware.com/pdf/ifilter/

2. Add a pdf extension in MOSS search settings

3. Open regedit, locate [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.pdf]

4. Change the default value to {987f8d1a-26e6-4554-b007-6b20e2680632} .

5. Recycle the search service: net stop osearch
                                             
net start osearch

6. Start a full crawl to index your pdf documents 🙂

10 Million Live Internet Streams for Live Earth!

I was just reading this piece on Live Earth. I started watching the C4 broadcast time-shifted on Vista Media Center over the weekend. I still got frustrated by the constant ad’s that were the same every 10 or 15 minutes (crunchie or smokefree anyone?) and also I got the feed through Sky from C4 and although it was broadcast in widescreen HD internationally I got a cropped letterbox picture that appeared to have been made analog and then back to digital 🙁

I tried the live stream at http://liveearth.msn.com but I was a bit frustrated by picture quality when I scaled to fit full screen on my TV although the sound quality and consistency of the stream was excellent (It’s a shame that Silverlight and LiveStation wasn’t ready in time), 10 million active live streams would have been a great test for p2p!

That said there is a great collection of videos available ondemand from the concerts, my favourites Crowded House, Smashing Pumpkins, Chris Cornell, David Gray, Jack Johnson and of course Yusuf.

User_Agents tell a story

Years ago we struggled when clients surfed to web pages, to try and get any sort of
information out about them.

To get more info, we would present a little page with some client script to determine
(‘mine’ being the operative word) their capabilities (cookes, script, even had access
to Navigation History etc etc)

I was recently contacted by a site and part of the request I was presented with my User_Agent
string
for my initial request.

HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1;
.NET CLR 2.0.50727; .NET CLR 3.0.04506; Tablet PC 2.0; InfoPath.2; FDM)

Who can determine the most out about this machine?

So your default User Agent strings *do* tell alot about the software you’re running.
We can modify this, but you run the risk of websites etc. not interacting fully with
you (and I know how much we all love our Ajax!)

The Case of the Missing Template Cache

The Case of the Missing Template Cache

Just a quick note on add-ins and the VS2005 Project Templates Cache. I have a collection of custom solution templates which i have quite happily been using both directly in Visual Studio as well as through add-ins (programmatically accessing the location of the cached template on disk). One thing i just ran into was the issue that when i installed GAT and GAX (Feb 07 CTP), the entire cache disappeared. (it could also have something to do with installing Resharper 3.0 – but i doubt it cos i have come across a couple of posts where people have had all the standard and custom templates disappear after installing the WinFX extensions -at least mine didnt disappear – they just couldnt be accessed programmatically).

Anyway, i tried reinstalling them using the devenv /installvstemplates command but that didnt work either. Those of you who have created add-ins would recall that the cache is in the Environment.SpecialFolders.ApplicationData folder and the installvstemplates command usually rebuilds that folder. When i ran the add-in VS just complained helpfully that “the index did not fall within the range” :-).

It appears that the solution/workaround to this issue is to do the installvstemplates as above, then open VS and add a new project/solution making use of your custom template (but dont do this via the add-in – just use the regular menu options of the IDE). This seems to kick-start VS into life and the ProjectTemplatesCache folder gets rebuilt nicely and the add-in should start to work.

I have no idea why this happened, but if you get stuck with this issue, hopefully the steps above will help you.