Saturday, May 19, 2007

New SlickEdit Developer Blog

Jason of SlickEdit emailed me the other day letting me know about their new blog, "Hello World" The SlickEdit Developer Blog.

What I liked, hence why I'm blogging about it, is that this isn't a bland marketing or company/product specific blog. It feels like the posts are a view into people working at SlickEdit (i.e. like many of the Microsoft blog's). As you expect there are some SlickEdit related posts, but there seem to be as many posts that are not.

Here are some recent post titles:

  • VSIP: Detecting code window switches in VS 2005
  • do { … } while (false);
  • This is me… [I think I still have my TI 99/4a. ;]
  • How to Write an Effective Design Document
  • What is a Power Programmer?
  • Is Your Editor Working Hard Enough?
  • Key Binding, Command, Menu: The Golden Triangle

Again, why am I posting about this? I guess I thought it was cool to see into the world of an ISV like SlickEdit... Subscribed.

"Fun" Uninstalling Guidance Automation Extensions (GAX) (on Vista)

In order to play with the updated Smart Client Software Factory I blogged yesterday I had to upgrade my installed Guidance Automation Extensions (which I previously installed when playing with Project Glidepath last month).

That's when my fun started.

I spent a good bit of time trying to get the Guidance Automation Extensions to uninstall. So to try to help others, I've tried to capture some steps, related information and links.

Uninstall Summary:

Special Note: Keep the old versions of the install Guidance Extension MSI's around. You may need these to uninstall them in the future...

  • Uninstall all Guidance Packages (like Project Glidepath, Smart Client Software Factory, etc) [Control Panel - Add/Remove Programs worked for me here)
  • Uninstall Guidance Automation Toolkit [I didn't have this installed, so I was good]
  • Uninstall Guidance Automation Extensions (GAX) [This is where my problems started]

If can't uninstall GAX, due to a "2769" error or like in my case a blank/empty dialog with no text just an ok button;

  • Double check to make sure you have all the Guidance packages uninstalled.
  • Try launching an elevated CMD prompt, and then using the original MSI run, "msiexec /x GuidanceAutomationExtensions.msi"
  • If that still doesn't work, in the same elevated CMD prompt, repair the GAX install. "msiexec /fa GuidanceAutomationExtensions.msi"
  • NOW try to uninstall it via the elevated CMD prompt, "msiexec /x GuidanceAutomationExtensions.msi"

For me the repair step was the magic step. Once that was done I had no problems uninstalling GAX.

 

Venting Note: I know that GAX/GAT are in a CTP status, and I know MS is working on this, but having to go through this much work to play with Guidance Packages is a major roadblock for me. Before I can push/roll Guidance packages at work, I'm going to need to see some easier way of rolling out new versions of GAX and Guidance packages... I can't imagine what a pain it would have been to upgrade GAX if I had had a number of Guidance packages installed (like Web Service, SCSF, etc, etc).

I really like the idea and concept, but I think I'm going to go slow on Guidance stuff for a while and let it bake a bit (i.e. wait for RTM, etc).

But that doesn't mean I'm not going to play with it at home though... ;)

 

Additional Information and Links

[Uninstall Log File Snip - For Search Engine Indexing]

...

MSI (s) (5C!B0) [08:02:44:662]:
Error 1001.
DEBUG: Error 2769: Custom Action _36E5DCE7_976B_42A9_8FBB_BE543209DC4A.uninstall did not close 1 MSIHANDLEs.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: _36E5DCE7_976B_42A9_8FBB_BE543209DC4A.uninstall, 1,
Action ended 8:02:44: InstallFinalize. Return value 3.
Action ended 8:02:46: INSTALL. Return value 3.
Property(S): UpgradeCode = {28FA2806-320E-4482-995E-71AD04E0A2A1}
Property(S): _36E5DCE7_976B_42A9_8FBB_BE543209DC4A.uninstall = /installtype=notransaction /action=uninstall /LogFile= /Host="VisualStudio" /Installer="Microsoft.Practices.RecipeFramework.VisualStudio.RecipeFrameworkInstaller, Microsoft.Practices.RecipeFramework.VisualStudio" "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\Microsoft.Practices.RecipeFramework.dll" "C:\Users\Greg\AppData\Local\Temp\CFGADE4.tmp"
...

[/Snip]

Tom Hollander's blog - Guidance Automation Extensions and Guidance Automation Toolkit: February 2007 Community Technology Preview

"...

Installing and Uninstalling the Guidance Automation Extensions

You cannot install the Guidance Automation Extensions if you already have an earlier version installed. Before uninstalling the Guidance Automation Extensions, you must first uninstall all guidance packages, including the Guidance Automation Toolkit. If the guidance packages were installed from a Microsoft Windows Installer (MSI), you can use the Add or Remove Programs tool to uninstall them. If the guidance packages were registered using the Register Guidance Package recipe in the Guidance Automation Toolkit, you should open each guidance package in Visual Studio and run the Unregister Guidance Package recipe.

If for any reason you are unable to uninstall any guidance package cleanly, you can manually remove it from the list of installed guidance packages. This list is stored in a file that is typically located in C:\Documents and Settings\All Users\Application Data\Microsoft\Recipe Framework\RecipeFramework.xml. If you open this file in a text editor, you will see a <GuidancePackage> element for each guidance package still registered. If you delete all of the <GuidancePackage> elements manually from the XML file, the Guidance Automation Extensions can be uninstalled. However, it will not remove the registry keys of those packages, so you should take this approach only as a last resort.

After all guidance packages are uninstalled, you can uninstall the Guidance Automation Extensions. You can then install a later release of the Guidance Automation Extensions and reinstall any desired guidance packages, including the Guidance Automation Toolkit.

..."

Microsoft Forums - Feb 07 CTP GAT Install Fails: Can't find Microsoft.Practices.RecipeFramework.VisualStudio.RecipeFrameworkInstaller

"...Try to repair the installation before try to uninstall...."

Update #1 5/23/2007 @ 8:20AM (PDT):

Some additional help on uninstall GAX/GAT, Re: Guidance Automation Extensions and Toolkit: June 2006 Release 

(via Chad Brooks Web Log - Problems removing GAT/GAX)

Friday, May 18, 2007

Smart Client Software Factory - May 2007 now available for download

Microsoft Downloads - Smart Client Software Factory - May 2007

"The Smart Client Software Factory provides an integrated set of guidance that assists architects and developers in creating composite smart client applications. The software factory includes: QuickStarts, reference implementations, how to's, patterns, and Visual Studio .NET extensions."

I think this time I'm going to really check this out... really...

Adding Custom Dialogs to a Visual Studio Setup Project

Code Project - Custom Dialogs to Visual Studio Setup Projects

"The Visual Studio setup projects that come installed as part of Visual Studio are handy for knocking out quick-and-easy installers, but they are a bit limited in scope. Two main drawbacks are:

  • You have only a limited number of dialogs to choose from, which can easily run out on a relatively simple install. Say, for example, that you have a need for a further set of textboxes for a piece of information that contextually belongs on its own and does not look correct if tagged onto one of the other dialogs.
  • The information you can enter is limited. Have you ever needed a dialog with 5 radio buttons? What about a pick-list of options?

...

Okay, some installer zealots would say that the use of scripts and .NET Installer-classes is bad ju-ju and should be avoided. Instead we should all use proper custom actions, i.e. native DLLs. However, we live in the real world, folks, and we do what we can in the limited time given to us. The problem in going with point 4 is that it is usually at the end of the project when we discover we need that extra customisation. By then, it is too late to buy new tools and get to grips with them before the product is shipped.
That leaves us with a problem: how do we create that extra dialog?

..."

In a perfect world I'd be using WiX, or like, to create my setups, but then again in a perfect world I would be a lotto winner and only develop the stuff I want to develop... ;)  VS Setup Projects may not be uber, but they get the job done for me in many cases.

I see the above Project helping me when I need "just a little more" setup juju...

Thursday, May 17, 2007

"Using the Adapter Pattern" (in .Net)

ASP Alliance - Using the Adapter Pattern

"Using the adapter pattern makes interfacing with a variety of differing applications much easier. This pattern is especially useful when an application must connect to multiple external applications that differ in their requirements. This article will show you how.

With a myriad of API's available in business systems, programs (like Microsoft Word), web services, etc., there are many different interfaces a developer has to understand to tie them all together into one business solution that he or she may be developing.  For instance, maybe an application needs to connect to credit card service gateways to verify a customer's credit limit or to run a debit against the account.  An application could connect to a health insurance provider to bill them for services provided.  An application could display maps from varying map providers.

One thing that is certain with tying in various business systems is that the API's a developer uses will be different. There is not any standard interface across the industry for implementing a certain type of system, but there is good reason for you to want to do so. Uniformity in application development makes maintenance and documentation easier and makes the application design better.

However, with these varying systems, how can one tie together all of these interfaces into one common one?  This is where the adapter pattern comes into play, as we will see next.

..."

I've been thinking of adding an adapter like interface to a couple app's so I keyed in on this. I want to give this article another closer read...

Ouch - "Unspecified error" for the world to see...

Ardent Dev - Giant Yellow Screen of Death

ouch

Enough said.

Xceed DataGrid for WPF 1.1 Released

Xceed - Xceed DataGrid for WPF updated (v1.1)

"Xceed DataGrid for WPF v1.1 features enhanced sorting, grouping, and scrolling performance, as well as the ability to control whether end-users can sort, group or re-order columns, configurable item scrolling, customizable “today” label in the Calendar, the ability to create alternating styles for data rows, snappy real-time scrolling, and a custom CollectionView that provides fine-grained and efficient control over the grid’s underlying data source. ..."

Xceed Releases DataGrid WPF v1.1 (Press Release)

"MONTREAL, QC - May 15, 2007 — Xceed today released version 1.1 of Xceed DataGrid for WPF. In addition to significant performance improvements, new standard capabilities, and bugfixes, all for free, this version marks the introduction of advanced features available exclusively to Vanguard subscribers.

...

All registered users can take advantage of these new free features and performance enhancements, in addition to the bugfixes. Current users of version 1.0 can update their license key by visiting the Xceed DataGrid for WPF registration page.

..."

The first free (registration-ware) full featured WPF datagrid has rev'ed to 1.1... This time with an upsell to a paid subscription to get additional features.

Related Past Post XRef:
Free Xceed DataGrid for WPF Now Available for Download
Free WPF DataGrid from XCEED (Coming Soon)

Digital Effects for MSN Messenger

Microsoft Research - Digital Effects for MSN Messenger

"Digital Effects, a plug-in for MSN Messenger video chatting, produces special effects for video communication. While the plug-in loads, users can select 3-D costumes or other digital effects in a pop-up window, and those effects will be applied to a selected photograph. Users also can blur the background of photos to help protect privacy." [Description Leached in Full]

That sounds like it might be fun to play with...

End of the End For Third Party Components and CLR1.x - No More CLR1.x versions for Infragistics NetAdvantage

FAQ:Final release of CLR 1.x version of NetAdvantage for .NET

"In the 2007 Volume 1 release, Infragistics has released new features for the NetAdvantage for .NET product for both the CLR 1.x and CLR 2.0 versions. The 2007 Volume 1 release is the final release that our NetAdvantage for .NET product will be compiled against .NET Frameworks 1.0 and 1.1. Developer Support will continue to be available for the CLR 1.x version of the product, and product maintenance is available for the published lifecycle of release date + expected date of 3 future releases (roughly one year from release date). ..."

I've been seeing this from smaller component companies, the focusing on CLR2+, but seeing a major playing like Infragistics drop further development for CLR1.x, IMHO is a milestone. If they are not doing CLR1.x anymore, then what's the likelihood that others will?

Oh I know it's time and I understand the move. Frankly I'm happy and impressed that they kept rolling CLR1.x stuff as long as they have.

With no official Vista support for VS2003-, and the drying up of third part component support, CLR1.x app development days are numbered (LOL.. "Gee Greg, do dugh?"  I have a gift for the obvious don't I?  ;)

Snoop - Spy++ for WPF (kind of, sort of)

Snoop (a WPF utility)

"A random utility made to simplify visual debugging of WPF applications at runtime. It's basically a collection of things that may have seemed useful at one time or another with the common goal of making it easier to track down bugs in WPF applications.

This is not an official tool, just a utility that was found useful and added to when functionality was needed. It's provided in the hopes of helping others.

...

 ..."

This might come in handy...

(via .Net AdventuresA Spy++ like utility for WPF applications)

Monday, May 14, 2007

Now That's a Cool Bar Chart - Using POV-Ray to Render Your Charts?

Saveen Reddy's blog - Bar Chart Explorations with POV-Ray

"A few samples of how one could apply the ray-traced rendering goodness of the Persistence of Vision Raytracer (POV-Ray) to the task of displaying data. My goal was to create a "rich" feel to the charts using light and shadow, rather than explore alternatives to bar charts.

...

"

Now that's a feature for the next version of Excel... ;)

There's something about using raytracing to render business charts that really tickles my fancy. Yeah I know it's like uber-overkill, but still if you're looking to add some "punch" to your PowerPoint slides...

Saturday, May 12, 2007

"Photo Pile" Screensaver from Coding4Fun

Coding4FunPhoto Screensaver

"Everyone loves screensavers!  Photo screensavers are fun because you can show off your own photos in creative ways.  This Coding 4 Fun article will step you through creating a Windows screensaver to show off your photo collection.  Learn about GDI+ and what it takes to build a custom screensaver.

..."

 

With VB & C# source (as usual for Coding4Fun articles) this project walks you through creating a "photo pile" screensaver (cause you just can't have too many photo screensavers ;)

Friday, May 11, 2007

Halo 3 Multiplayer Beta Press Kit (High Rez Images)

Microsoft Downloads - Xbox.com Halo 3 Press Kits

... because it's Halo 3 stuff... Dugh!  ;)

These are high resolution color tif's. For example the first one I opened was 6400 x 3600 @ 65.9MB in size.

Here's a tree of what's in the kit.

.
│ Halo3_High-Ground-1stperson-01.tif
│ Halo3_High-Ground-3rdperson-01.tif
│ Halo3_Snowbound-3rdperson-01.tif
│ Halo3_Valhalla-3rdperson-01.tif

├───Environments
│ Halo3_High-Ground-env-01.tif
│ Halo3_High-Ground-env-02.tif
│ Halo3_Snowbound-env-01.tif
│ Halo3_Valhalla-env-01.tif
│ Halo3_Valhalla-env-02.tif

├───Spartans
│ Halo3_Spartan_Blue_ar.tif
│ Halo3_Spartan_Blue_missilepod.tif
│ Halo3_Spartan_Blue_mongoose.tif
│ Halo3_Spartan_Blue_turret2.tif
│ Halo3_Spartan_Red_missilepod2.tif
│ Halo3_Spartan_Red_mongoose2.tif
│ Halo3_Spartan_Red_spikerifle.tif
│ Halo3_Spartan_Red_turret2.tif

└───Third-Person
Halo3_High-Ground-3rdperson-01.tif
Halo3_Snowbound-3rdperson-01.tif
Halo3_Valhalla-3rdperson-01.tif

Thursday, May 10, 2007

Internet Explorer Developer Toolbar v1 Released

IEBlog - Internet Explorer Developer Toolbar - Get it Now!

"...

Today I’d like to announce that v1 of the IE Developer Toolbar is complete! Please download the toolbar and read release notes here.

What’s changed since Beta 3?

This release of the Developer Toolbar does not add any major functionality but includes a number of important reliability and “fit-and-finish” improvements. For example, the installation process will automatically remove Beta 2 and newer builds so you don’t have to do so manually...

..."

Microsoft DownloadsInternet Explorer Developer Toolbar

"...

The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. These features enable you to:

  • Explore and modify the document object model (DOM) of a Web page.
  • Locate and select specific elements on a Web page through a variety of techniques.
  • Selectively disable Internet Explorer settings.
  • View HTML object class names, ID's, and details such as link paths, tab index values, and access keys.
  • Outline tables, table cells, images, or selected tags.
  • Validate HTML, CSS, WAI, and RSS web feed links.
  • Display image dimensions, file sizes, path information, and alternate (ALT) text.
  • Immediately resize the browser window to a new resolution.
  • Selectively clear the browser cache and saved cookies. Choose from all objects or those associated with a given domain.
  • Display a fully featured design ruler to help accurately align and measure objects on your pages.
  • Find the style rules used to set specific style values on an element.
  • View the formatted and syntax colored source of HTML and CSS.

..."

That about says it all...

My install on Vista was quick, easy and painless.

Related Past Post XRef:
IE Developer Toolbar Beta 3 Released
DOM Helper: A new and improved CSS Editor for IE
Internet Explorer Developer Toolbar Beta 2 Now Available for Download
IEDevToolbar

Microsoft SharedView (fka "Tahiti") Beta Download Available

Microsoft Downloads - Microsoft SharedView Beta

"Overview

More effective meetings and phone calls
Connect with up to 15 people in different locations and get your point across by showing them what's on your screen.

Work together in real time
Share, review, and update documents with multiple people in real time.

Use anytime, anywhere
SharedView is easy to use, from anywhere, at a moment's notice.

Click here to learn more about the SharedView Beta." [Description Leached in Full]

I like the promise/idea. I work remotely/out of the office much of my time and I see how this could really help me.

I do think it's pretty funny that the "Business" SKU's for Vista are not listed as supported (Vista Home Premium and Ultimate are the only listed supported Vista versions). Personally I think there's more draw for business related usage than anything. Think about meetings, training sessions, presentations, conference calls, etc.

In any case, I think this is one beta I'm going to give a go (I reached a beta burnout plateau during the Vista/Office 2007 period...but this looks cool enough to try out sooner than later...).

(via All About Microsoft (Mary Jo Foley) Microsoft rebrands Tahiti collaboration service as ‘Shared View’)

 

Update #1 5/10/2007 @ 1:25PM (PDT):

Okay I have to say this beta is pretty darn smooth...

Installed on Vista Ultimate, XP and Win2k3 with no problems. Creating a session is drop dead easy as is joining an existing one. No firewall, VPN, etc issues. Inside the corporate network to external, external to internal, etc, etc, was all very very smooth and easy.

It's not the fastest remote app sharing method, but it easily gets the job done.

The one thing that I'd like to be able to do is have an option to turn off the advertising. I accept that the advertising is what's paying for the app and backend services. Nothing is free...but still I hope there's some method/service/subscription/etc that will allow SharedView to run without ad's.

Also I REALLY want an SDK/API for this. Given that it runs on XP and later, I would like to build/connect this into my app's... (think something like the Windows Desktop Sharing API but for XP and later).

Now to see if I can "encourage" it's usage with people at work... ;)

Free PowerShell Introduction/Getting Started book from MS Switzerland

Schweizer IT Professional und TechNet Blog - English version of Windows PowerShell course book available for download

"Due to its great popularity, we have decided to translate the Windows PowerShell course book to English. So if your mother tongue is not German, maybe you are interested in the English version instead. The book gives you a short introduction with many exercises about the interactive part of Windows PowerShell as well as some hints how to use other objects like WMI, .NET or COM objects like Excel or Internet Explorer.

The book is available for free and you can share it with all your colleagues or friends if you leave it as it is. The books can be used with or without the demo files available at this blog as well." [Post Leached in Full]

For English only speakers/readers, when going to the book download link above (i.e. "book is available" link) and you get to the "Download Windows PowerShell Handbuch" page, click on the "Fertig stellen" button to start the download. (Having a 50/50 chance, I of course hit the wrong one the first time  ;)

Here's an excerpt from the forward from the 44 page printable PDF.

"This “Windows PowerShell” book will give you an introduction to Windows PowerShell as well as practical examples, in order to give you a quick introduction to this subject even if you have no significant previous scripting experience. The book is explicitly not aimed at professional scripters; the extensive Windows PowerShell help and the many Internet forums and additional literature are designed to give experts everything they need. However, the newbies amongst you will hopefully find everything you need in this book to enable you to think about scripting in more detail, and hopefully quickly learn to enjoy being able to operate a computer even without a mouse.

..."

Speedfan Vista Sidebar Gadget - Speedfan Meter

Beta Network/Hobby Lounge - Speedfan Meter v1.5 New! - Downloads

Speedfan Meter is nice looking Vista Sidebar gadget that shows you all the cool information that the SpeedFan utility (available separately here) gathers about your system.

I'm a long time fan of Speedfan so this is in a cool find...

sigh... The sad part is that my old notebook (currently my only home Vista install) doesn't have a sensor chip supported by Speedfan. :(

Still this will be useful when I finally upgrade some of my other systems.

(via The Electric Wand - Finally, a sidebar gadget worth having)

Tuesday, May 08, 2007

Two Cool LOTRO Map Sites

If you play LOTRO (Lord of the Rings Online) then you know one of the most common OOC (Out Of Character) chat topics is "Where is [item/place/point of interest/quest/NPC/etc] ..."

At first you try to be helpfull and provide said information, but after a while it gets pretty old...

So now what I try to do is first provide said information (if I know it) AND provide a link to one of my favorite LOTRO Fan map sites (www.mehq.net).

Middle Earth Headquaters provides a very cool dynamic map and search feature, marking up a copy of the ingame map with item/place/POI/NPC/etc locations.

Today, I found a another too cool LOTRO map site, http://www.arda-online.com/map/ (via Programable Web - Lord of the Rings Maps).

Arda Online's map is cool in that it provides dynamic, searchable LOTRO maps via a Google Map mashup interface. Think Google maps for LOTRO... It's not as complete as MEHQ's maps, but the interface is pretty darn cool.

Added to my Favorites.  ;)

Microsoft Office Outlook Connector (Think Outlook to Hotmail Connector)

Microsoft Downloads - Microsoft Office Outlook Connector

"With Outlook Connector, you can use Outlook 2002, Outlook 2003, or Outlook 2007 to access and manage your Windows Live Mail or Office Live Mail accounts, including e-mail messages, calendar, tasks, notes, and contacts.

Microsoft Office Outlook Connector enables you to use your Live Mail accounts with Outlook:

  • Read and send your Office Live Mail/Windows Live Mail/MSN e-mail through the Outlook interface
  • Manage and share your Calendar schedule.
  • Manage your Live Mail Contacts.
  • Access your Tasks and Notes.
  • Use advanced options for blocking junk e-mail.
  • Manage multiple e-mail accounts in one place.

" [Description leached in full]

I've been using this since it came out last last year and I'm here to say I am very happy with it.

Hooking Outlook to Hotmail via this Connector makes Outlook kind of think your Hotmail account is an Exchange mail server. At least as far the user can see.

Your calendar is connected between Outlook and Hotmail, yours contacts, etc. Like I was saying, it's like using Outlook with a backend email server. (i.e. like using Outlook at work, etc).

THIS is the way to go if you want to hook your Outlook to your Hotmail.

Update #1 5/17/2007 @ 3:55 PM PDT:

An important thing to note (that I missed the first time);

"...

The following is also required:

  • A paid subscription-based e-mail account from MSN Hotmail, Windows Live Mail, Office Live, or Windows Live Custom Domains

..."

So you'll need a Windows Live Hotmail Plus (fka Hotmail Plus, etc) or like paid subscription for this Connector to work.

I've had Hotmail Plus for years and didn't think about/consider/remember that when I posted this. My bad and my apologies.

(via The Road to Know Where - Microsoft Launches Windows Live Hotmail)

Scott Adams, I know you're hiding in a cube in my building ...

... and when I find you, I'm buying you lunch.  ;)

LOL