# Wednesday, January 31, 2007

"Microsoft BizTalk Server 2006 requires a hotfix to comply with the new start and end dates for DST in the United States. This hotfix will be available in February 2007. We will update this article when the hotfix is available." (Microsoft, 2007)

http://support.microsoft.com/kb/931961

 

Ed K.

posted on Wednesday, January 31, 2007 8:49:03 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Monday, January 29, 2007

I still can't believe that developers do not program securely, especially when they have all these great tools and best practices easily available. I just wanted to share a quick "WTF" with a recent experience I had.

I am currently looking for a house, so naturally I am calling all sorts of agents to get info and pictures before I commit to driving to look at the house. For this example, we shall say X1 company supplied we with an email with a hyperlink to view information such as pictures, builder, taxes and layout. So Cool right? Ya you bet, being able to view all this data at home before wasting my time driving all over the place. But the hyper link to the home information was a little more interesting, the URL contained there site www.CompanyX1.com then the query string http://www.CompanyX1.com/SearchDetail/AllTheGood/Search.aspx?AgentID=12345&password=IamSoSecure. Bang no need to call again, I can search all there internal listing (which I did not, I will not deal with a company that is that careless). 

Crazy?

Ed K.

posted on Monday, January 29, 2007 7:51:17 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, January 25, 2007

This will be a rather short blog post because I intend to write a much longer blog post about a this topic once I finishing coding a side project that uses WMI with BizTalk. So for now I am just going to throw down some quick, dirty code and explanation to show the power and usefulness of this topic.

If your a BizTalk guy, you probably get tired of opening the HAT and saving messages then terminating. Unless of course your BizTalk solution is just perfect and this never happens to you...ya ok.

What I am going to do is show you quick example of how to generate Managed WMI classes for BizTalk and show an example of how useful it can be.

First thing is to download this:
Management (WMI) Extensions for Visual Studio .NET 2003 Server Explorer

Next thing is connect to the BizTalk box with Server explorer in Visual Studio. Right click on the "Management Classes" and click "Add Classes"
 

Now Select "ROOT\MicrosoftBizTalkServer" and click "ADD>"

Now you see all the classes you can deal with in your Server Explorer.
Right click on "MSBTS_ServiceInstance" and select "Generate Managed Class"
Now you have a class file in your solution that you can program with.
 

Pretty cool eh?
Go ahead and generate one more class from "MSBTS_MessageInstance"

So, lets writes some quick dirty code to do something. I am sure I have at least 100 suspended messages on my local BizTalk server box to work with here :).

   11  ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance.ServiceInstanceCollection _colServiceIns;
   12 
   13   //get a collection a ServiceInstance that are in "Suspended Not Resumable" status
   14   _colServiceIns= ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance.GetInstances
(String.Format("ServiceStatus='{0}'", 32));
   15 
   16   //Loop though them
   17   foreach(ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance _serviceIns in _colServiceIns)
   18   {
   19 
   20       Console.WriteLine("ServiceInstance GUID: "+ _serviceIns.InstanceID + "\n");
   21       Console.WriteLine("Error: " + _serviceIns.ErrorDescription);
   22 
   23       ROOT.MICROSOFTBIZTALKSERVER.MessageInstance.MessageInstanceCollection _messCol;
   24 
   25      //get a Collection of messageInstance with a condition that the ServiceInstanceID 
   26      //of ServiceInstance is equal to ServiceInstanceID of MessageInstance
   27      _messCol= ROOT.MICROSOFTBIZTALKSERVER.MessageInstance.GetInstances
(String.Format("ServiceInstanceID='{0}'", _serviceIns.InstanceID ));
   28 
   29      //Loop though the MessageInstance collection and save off the message
   30      foreach(ROOT.MICROSOFTBIZTALKSERVER.MessageInstance _messIns in _messCol)
   31      {
   32          Console.WriteLine("Saving to File");
   33          _messIns.SaveToFile(@"C:\here\");
   34          Console.WriteLine("Done Saving");
   35      }
_serviceIns.Terminate();
   36   }

All that happens here is, we get a collection of ServiceInstance that are "Suspended Not Resumable", loops through some of the properties and displays them. Then, matches up the MessageInstance with its ServiceInstance and saves off the message to a location on disk and Terminate.

Here is our output.

 

Ed K.

posted on Thursday, January 25, 2007 10:29:16 PM (Central Standard Time, UTC-06:00)  #    Comments [2] Trackback
# Wednesday, January 24, 2007

I have not seem too many companies offering quality training on Visual Studio Team System yet. I just saw that Notion Solutions have a training track offered in several locations and even on-site. Their prices look unbelievable, considering who the instructors are, Chris Menegay and Dave McKinstry, both Team System MVP's. I have seen these two guys present at Launch Events and .Net Users Groups; they are awesome! If anyone is looking for great training at an outstanding price check them out.

They have not posted a schedule/curriculum for 2007 training yet, but here is a link to the 2006 one, to get an idea of what they offer.

Here is a list of Microsoft Visual Studio Team System Training Partners.

Ed K.

posted on Wednesday, January 24, 2007 7:55:38 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Tuesday, January 23, 2007

Microsoft has recently released a version of their application that generates the .NET Framework documentation that we see and love...  You can take a look at it and get more information about the project codename Sandcastle here:  Sandcastle Team Blog

Download the December 2006 CTP here:  Sandcastle - December 2006 CTP Download

Some of the high level features:

Sandcastle produces accurate, MSDN style, comprehensive documentation by reflecting over the source assemblies and optionally integrating XML Documentation Comments. Sandcastle has the following key features:

  • Works with or without authored comments
  • Supports Generics and .NET Framework 2.0
  • Sandcastle has 2 main components (MrefBuilder and Build Assembler)
  • MrefBuilder generates reflection XML file for Build Assembler
  • Build Assembler includes syntax generation, transformation..etc
  • Sandcastle is used internally to build .Net Framework documentation
  • Ed B.

    posted on Tuesday, January 23, 2007 4:00:54 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Monday, January 22, 2007

    Our new team at Infragistics, the User Experience (UX) Group, has come out with an article on Code Project about creating fantastic user interfaces using the NetAdvantage family of products. Kudos to several on the UX team who wrote and edited!

    Be sure to check it out!  How to Make Users Happy Article

    Ed B.

    posted on Monday, January 22, 2007 12:48:34 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Sunday, January 21, 2007

    So watch out for the mysterious 28002 Error Unknown.  It really took me a little while to figure this one out.  I was updgrading a client's TFS server and they are using TFS Workgroup Edition and I was getting this annoying error when installing the KB919156 prerequisite to SP1.

    Well, if you have 5 users (which is the limit for the workgroup edition) you are going to receive this error... Dave Glover writes a good explanation of this:  TFS SP1 Article

    You need to remove one of the users from the "Team Foundation Licenses Users" group and add them after the SP1 install is finished.

     

    Ed B.

    posted on Sunday, January 21, 2007 7:41:11 PM (Central Standard Time, UTC-06:00)  #    Comments [1] Trackback
    # Friday, January 12, 2007

    So I just need to take a minute or two to say a few words about SonicWall. I usually will not get angry with a vendor but this is an exception mainly for the way I have been treated as a customer.

    As you know I am a consultant, so I must be on top with the newest and greatest products that are solid i.e Vista. I, of course installed Vista soon as it was available to MSDN subscribers. As an owner of a SonicWall Firewall I am now crap out of luck connecting to my network since the their VPN Client does not yet support Vista. I have called several times to get a status of a beta, so that I could help them perfect the application as well as have a dogs chance of connecting to my servers, I received unhelpful responses such as this "We did not say we were going to support Vista when you bought it", "Would you like a refund?", "Have you tried any other VPN Clients to see if it will connect?" WOW!!!! great responses from a company that is  a world wide leader in firewall products....... Cruse on over to the Sonic Forums and check out all the post of customers posting "We just dropped Sonic and went with Cisco". No not threats but actual actions of product drops. The company has not even responded to any of the posts on the forum....... I must say I posted a few comments as well hoping maybe an executive would check out the forums every once in awhile (you never know).

    So your probably thinking..."Well Vista has not been released to the general public yet, that's not till Jan 30. So there still on top of their game"... Hello...... general users are not the ones interested in firewalls. Here is the kicker.....I read that Sonic did say they will have a VPN Client that works on Vista sometime in the late first quarter to early second quarter of 2007. I have no facts on that, just stuff that I have read in several places.

    My next firewall will be a Cisco for sure! Yes, Cisco had a beta for Vista out quick, which I used to connect to another network I work with.

    So my rant is done... I believe in the consumer speaking out....If your quite, companies will continue to disappoint the consumer with no repercussions.

    Ed K.

    posted on Friday, January 12, 2007 10:51:47 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Monday, January 08, 2007

    If you are deploying a pre-complied DNN website developed from the starter kit you will run into issues. The issue you will see is that App_GlobalResources cannot be found. The directory App_GlobalResources is removed and all files are compiled into an assembly.

    The work around solution is this:
    Download the DNN Source. Navigate to:

    Project - DotNetNuke.Library
    SourceFile - Localization.vb

    Find Public Const ApplicationResourceDirectory As String = "~/App_GlobalResources"
    rename the value to "~/AppGlobalResources"

    Recompile and replace DotNetNuke.dll in your DNN Sites Starter kit bin

    Go to your solution and rename the App_GlobalResources to AppGlobalResources.

    Rebuild

    You should be good to deploy to your target box.

    Ed K.

    posted on Monday, January 08, 2007 11:14:25 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback