Thursday, October 09, 2008

Visual Studio 2008 free eBooks

Offer from Microsoft to download some cool content, check it out

 http://csna01.libredigital.com/?urvs5cn3s8%20

Programming Microsoft LINQ
Introducing Microsoft® Silverlight 2, Second Edition Programming Microsoft® ASP.NET 3.5
by Paolo Pialorsi and Marco Russo by Laurence Moroney by Dino Esposito
ISBN: 9780735624009 ISBN: 9780735625280 ISBN: 9780735625273
     

Thursday, October 02, 2008

DocTools not working

For one of the projects we are working on, we need to make sure our end user documentation matches correctly the template provided by the customer. I have started playing with one of the products that the Patterns and Practices at Microsoft is using to generate their documentation. Take a look at their package: http://www.codeplex.com/doctools

After going through all of the installation and pre-requisites.  I was ready to try the sample Word Document they provide.  Snag.!  

First thing I notice is that the sample scripts are looking for the Microsoft DocTools in the c:\program files\Microsoft DocTools.  Changing those scripts brought to my attention that the install program gives you the ability to specify the path on where to install the DocTools.  However, it will always install to the (x86) directory on my Vista x64.

The main error I was getting was:

PS C:\DocToolsDemo> .\HTML.cmd

C:\DocToolsDemo>PowerShell ConvertToHTML.ps1 ESBIntro.docx .\outputHTML """C:\Program Files (x86)\Microsoft DocTools\Document Converter\Formatting\MSDN2\xsl""" convertESBConfig.xml

    Directory: Microsoft.PowerShell.Core\FileSystem::C:\DocToolsDemo

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         10/1/2008   9:10 AM            outputHTML

    Directory: Microsoft.PowerShell.Core\FileSystem::C:\DocToolsDemo\outputHTML

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         10/1/2008   9:10 AM            html
Add-PSSnapin : No Windows PowerShell Snap-ins are available for version 1.
At C:\Program Files (x86)\Microsoft DocTools\Document Converter\ConverterLibrary.ps1:9 char:15
+         Add-PSSnapIn  <<<< ppConverter.Cmdlets

--Splitting: C:\DocToolsDemo\ESBIntro.docx
An Error Ocurred: The term 'Split-Document' is not recognized as a cmdlet,
function, operable program, or script file.Verify the term and try again.

PS C:\DocToolsDemo>

After doing all of the regular stuff (check PATH, re-install, start/stop program, google), I could not get this error to go away.

The problem seems to be with the OS I am running.  Since I am running a 64bit OS, I need to call the PowerShell that is on the c:\windows\syswow64 and not the one in the regular 32bit.  This is accomplish by running the one marked with the (x86)

image

Once I opened this one, ran the set-executionpolicy remotesigned command.  It ran and split the Word document successfully and generated my HTML help compile file.

image

One of those simple bugs that can waste a whole hour for you.!

Tuesday, September 16, 2008

Moving TFS Build Server from Single instance to Multiple Servers

I have moved our Build server from a single installation to a 2 server installation.  When putting together the new Build server, I used my own domain account, since I did not have access to the TFSService account. My thought was that I could work on setting up the system, then once I would get the correct userid/password, I could easily swapped that for my account...

image

I set the environment, and submitted a build type successful. Had a little issue with the directories permissions, but once I get that worked out, everything was building fine.  Then, I got the correct domain account, and I went and change the Team Build Service to run under this domain account.

I got this error:

error MSB4018: The "CreateWorkspaceTask" task failed unexpectedly.

Here is the description for that error:

Build FAILED.

C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets(306,5):

error : The working folder c:\TFS_Builds\Builds\Sample\awing_test2\Sources is already in use by another workspace on this computer.
error MSB4018: The "CreateWorkspaceTask" task failed unexpectedly.
error MSB4018: Microsoft.TeamFoundation.VersionControl.Client.WorkingFolderInUseException:
The working folder c:\TFS_Builds\Builds\Sample\awing_test2\Sources is already in use by another workspace on this computer. ---> System.Web.Services.Protocols.SoapException: The working folder c:\TFS_Builds\Builds\Sample\awing_test2\Sources is already in use by another workspace on this computer.

From the studio client machine, I was testing some of the builds.  Well, part of the script is to build a workspace on my behalf on that machine. Since it was running under my domain account, when I switch the services to run under the TFSService account, it was encountering a duplicate error.

image

The solution for this error is to remove the workspace entry from the client machine, and not the build server machine.  This solved my issue and I was able to submit build types correctly.

Friday, September 05, 2008

BizTalk 2009 has been announced.!!

Sweet. The new version of BizTalk server has been announced.  I am so glad they dropped the BizTalk 2006 R3 name and went with the new BizTalk 2009.

image

Finally all of the OSLO technologies are starting to show up in the road map...

Read more on the Microsoft Site http://www.microsoft.com/biztalk/en/us/roadmap.aspx

Wednesday, August 06, 2008

BizTalk Business Rules Engine Handy functions in .NET

Working with the BizTalk 2006 R2 BRE api, I find myself going back to this code to start of as a base. These 2 functions get ALL of the versions of the policies or vocabularies.  If you want to work with only the latest, or the published ones, change the RulesStore.Filter enum to whatever your needs.

List of Policies

   1: public void GetPoliciesList()
   2: {
   3:     Microsoft.BizTalk.RuleEngineExtensions.RuleSetDeploymentDriver breDriver =
   4:         new Microsoft.BizTalk.RuleEngineExtensions.RuleSetDeploymentDriver();
   5:     Microsoft.RuleEngine.RuleStore breStore = breDriver.GetRuleStore();
   6:  
   7:     Microsoft.RuleEngine.RuleSetInfoCollection colPolInfo = null;
   8:     colPolInfo = breStore.GetRuleSets(RuleStore.Filter.All);
   9:     foreach (RuleSetInfo pInfo in colPolInfo)
  10:     {
  11:         Trace.WriteLine(string.Format("bts- Info = [{0}].v.{1}.{2}",
  12:             pInfo.Name, pInfo.MajorRevision, pInfo.MinorRevision));
  13:  
  14:         //get the policies to extract rules
  15:         Microsoft.RuleEngine.RuleSet pol = breStore.GetRuleSet(pInfo);
  16:         Trace.WriteLine(string.Format("bts- Count = [{0}]", pol.Rules.Count));
  17:     }
  18: }

This is how to get a list of all policies published on the BRE database.  Once you get all of the RuleSets, you can loop through each of them to retrieve the actual rules behind them.  Before getting to the rules, you need to get a RuleSet out of the RuleSetInfo.


List of Vocabularies



   1: public void GetVocabulariesList()
   2: {
   3:     Microsoft.BizTalk.RuleEngineExtensions.RuleSetDeploymentDriver breDriver = 
   4:         new Microsoft.BizTalk.RuleEngineExtensions.RuleSetDeploymentDriver();
   5:     Microsoft.RuleEngine.SqlRuleStore sqlRuleStore = (SqlRuleStore)breDriver.GetRuleStore();
   6:  
   7:     Microsoft.RuleEngine.VocabularyInfoCollection colVocInfo = null;
   8:     colVocInfo = sqlRuleStore.GetVocabularies(RuleStore.Filter.All);
   9:     foreach (VocabularyInfo vInfo in colVocInfo)
  10:     {
  11:         Trace.WriteLine(string.Format("bts- vInfo = [{0}].v.{1}.{2}",
  12:             vInfo.Name, vInfo.MajorRevision, vInfo.MinorRevision));
  13:  
  14:         //get the vocabulary to extract collection of definitions
  15:         Microsoft.RuleEngine.Vocabulary voc = sqlRuleStore.GetVocabulary(vInfo);
  16:         Trace.WriteLine(string.Format("bts- Count = [{0}]", voc.Definitions.Count));
  17:     }
  18: }

This is how to get a list of all vocabularies published on the BRE database.  If you need to see how to get to all of the definitions on a particular vocabulary, see my previous post: How to access BRE Vocabularies from .NET.


Noticed that there are some subtle differences in how you retrieve each piece of information.  For Policies you get a RuleStore while to get the Vocabularies you need to get a SQLRuleStore.


As usual, feedback is always welcome if you use this code.

Tuesday, July 29, 2008

Deploying Business Rules using C# in BizTalk 2006 R2

In one of my last project, I have been working extensively with the Business Rules Engine in BizTalk. This project contains some complex Federal/State/Company/ rules. Being a Health Management Care related project I have to deal with many issues like requirements, changing policies, rules scope to a certain type, etc.

Delivering this project took some time and effort.  Not only the requirements were *agile*, but trying to keep compliance with SOX laws was a challenge.  I can summarized all of the requirements to these 3:

Requirements:

  1. Policies have to be atomic (independent from changes to other policies)
  2. Versionning of policies and being able to execute ANY version, any time.
  3. Need to know which facts were used to determine an outcome.

For the main requirement, I have created a Master Rule that determine the outcome, then I've created several *supporting* rules that will help me determine which of the rules were evaluated. The versionning requirement was already implemented by the BRE in BizTalk.

a sample of this would be something like this:

image

It quickly became very obvious that I have to deal with lots of policies and vocabularies.  If you ever tried using the Rules Deployment Wizard, you will see that it only allows you to export a SINGLE policy at a time.  Having over 500+ policies and over 30+ vocabularies  was not going to work out.

I have found the DeployRules.exe application written by Sreedhar Pelluru from Microsoft.  Here is the original article.  I took his program and modified to meet my needs.  Since I was only testing a set of policies at a time (i.e. Federal policies only), this tool provide me the ability to only load those policies that were relevant to the type I was working on. 

I know I have learned a lot about the BRE api from reading his well documented code.  With his permission, I have posted his original work and the modifications done to it back to the community at http://www.codeplex.com/DeployRules.  Yes it is still a work in progress.

Hope this help someone out there.

Tuesday, July 08, 2008

Importing BRE Vocabulary with Multiple versions

If you ever tried merging all of the versions of a single vocabulary into one XML file, so that you can import it on a single task, you will find that even though the Rules Engine Deployment Wizard understand the file format, it has a huge limitation [Bug..?  ;) ].  It only imports the last version of a vocabulary into the Rules Engine.

image

A sample vocabulary with 2 versions.

image

When Exporting this vocabulary I can't export all versions at once.  I have to export a single version at a time.!!

However, on the import, you can import a file that can contain multiple versions on it:

image

Once you export all individual files, you can merged them into a single xml file.

The format of the merged exported vocabulary will be something like this:

<brl xmlns="http://schemas.microsoft.com/businessruleslanguage/2002">   

  • <vocabulary id="9ab458cc-427a-4cea-bb1d-224dd5f96d98" name="CustomerLevels" uri="" description="">
            <version major="1" minor="1" description="" modifiedby="awing" date="2008-07-07T23:22:33.401-04:00"/>
            <vocabularydefinition id="b36b276e-451d-4783-8a06-623823211f85" name="Silver" description="Silver Description">
                ....................
        </vocabulary>

   

  • <vocabulary id="2422362a-77c0-4d0f-b2aa-fe6c1fe1f1d7" name="CustomerLevels" uri="" description="">
           <version major="1" minor="0" description="" modifiedby="awing" date="2008-07-07T22:39:37.19-04:00"/>
            <vocabularydefinition id="ba912d07-f96d-49ac-a2c4-e619fcec027e" name="Silver" description="Silver Description">
                ........................
        </vocabulary>

</brl>

As you can see there you can add as many versions to this file as you want.  However, the ReDeployWiz.exe only publish and import the latest one.

Trying to figure out why this is the behavior, I used my good old friend Reflector. Bringing Reflector on the Rules Engine Deployment Wizard, I see that there is a call to the RuleSetDeploymentDriver namespace. This doImport method calls the driver.ImportAndPublishFileRuleStore to import and publish at the same time.

RuleSetDeploymentDriver

image

It seems that there is no way around this call.  It seems to be a limitation on the use of the tool.  This ImportAndPublishFileRuleStore seems to only work on a single version at a time.  If you split the versions into their own file, it can handle it. The down side of this, is that you need to make multiple calls for an import.  And let's face it, the whole nature of versioning the policies and vocabularies becomes very cumbersome when you have over 500+ rules with multiple versions in them [yes, my current project has over 500+ policies and over 30+ vocabularies]

To get around this limitation on the tool, you will have to write your own application to deploy/export all versions of a vocabulary.  To accomplish this you will need to to call the SqlRuleStore namespace instead of the RuleSetDeploymentDriver.  This namespace have the ADD method which contain several overloaded parameters. One of which it allows you to publish or not publish your vocabulary.

image

Here is my sample code to import ALL versions of a vocabulary in .NET code:

    1 private static int ImportVocabulary(string filename)
    2 {
    3     int result = 0;
    4     // FileRuleStore - gives access to the BRL (XML) file containing policies and vocabularies
    5     FileRuleStore fileRuleStore = null;
    6 
    7     // RuleSetDeploymentDriver has the following important methods            
    8     Microsoft.BizTalk.RuleEngineExtensions.RuleSetDeploymentDriver dd = new Microsoft.BizTalk.RuleEngineExtensions.RuleSetDeploymentDriver();
    9 
   10     // SqlRuleStore - gives access t0 the rule engine database
   11     SqlRuleStore sqlRuleStore = (SqlRuleStore)dd.GetRuleStore();
   12 
   13     //Get VocabularyInfoCollection object based on the file
   14     fileRuleStore = new FileRuleStore(filename);
   15     VocabularyInfoCollection vocabularyInfoList = fileRuleStore.GetVocabularies(RuleStore.Filter.All);
   16     foreach (VocabularyInfo vocabularyInfo in vocabularyInfoList)
   17     {
   18         string vocabularyNameWithVer = string.Format("{0}.{1}.{2}", vocabularyInfo.Name, vocabularyInfo.MajorRevision, vocabularyInfo.MinorRevision);
   19         ExtractVocabularyNameMajorMinor(vocabularyNameWithVer);
   20         VocabularyInfo vi = new VocabularyInfo(App.vocabularyName, App.vocabularyMajorVer, App.vocabularyMinorVer);
   21         Vocabulary oVoc = fileRuleStore.GetVocabulary(vi);
   22         sqlRuleStore.Add(oVoc, App.publishVocabulary);
   23     }
   24     return result;
   25 }

There, now you don't have to be bound to import a single vocabulary version every time you need to move your rules from DEV to UAT to PROD.


Hope this saves someone lots of time and grief.  Happy BRE'ing... ;)

Friday, June 06, 2008

MOCSDUG: ESB Guidance Toolkit for BizTalk 2006 R2

Last night 2nd meeting was just as good as the first one.  Richard Broida gave a good overview of some of the key points for the ESB Guidance toolkit, as well as some good background info on having a good architecture base.

There were some BizTalk developers in the room and there were some other ones that were interested on BizTalk. Somehow, the seating arrangement turned out to be all BizTalk developers in the middle section and everyone else out on the sides. ;)

Richard's blog is http://gloriousmonster.blogspot.com/, and I'm waiting for his slide deck to show up at the MOCSDUG site.

ESB Guidance Toolkit for Biztalk 2006 R2 

I have been interested on the ESB Guidance toolkit, and after tonight's meeting I have decided to install it and try some of their samples.  Of interest to me are the Message Repair block and the Exception Handler block.  Will post on my findings on those blocks when I get them running.

Wednesday, May 14, 2008

Distinguished fields of type xs:dateTime not Working on Orchestrations

Writing a spyke for a simple program, I came out with this odd behavior when I try to compile my BizTalk project.

image

I have created a simple schema, and in one of the fields I have field of type xs:dateTime. Well, when I have tried to use this field on an expression shape, I get this build compiler error:

'System.Xml.XmlDocument' does not contain a definition for 'XXXX'

where XXXX is the field name of the element that I have declared as a xs:dateTime type. I then went and set it up as a distinguished field. Here is a sample generated xml from my test schema:

  1. <ns0:Customer xmlns:ns0="http://DistingProperty.Test.Customer.v1">
    <FName>FName_0</FName>
    <DOB_datetime>1999-05-31T13:20:00.000-05:00</DOB_datetime>
    <DOB_date>1999-05-31</DOB_date>
    </ns0:Customer>

and this is the schema that I have used


image

When I am trying to use the distinguished field inside an expression shape, noticed that I get the Visual Studio IntelliSense:

image

When you try to read this value, it will always complain about the XmlDocument not being able to find the definition for the field that is defined as DateTime.

To get around this, you should use the System.Convert.ToString() instead of the .ToString() function;


1 Trace.WriteLine(" bad:[" + msgIN.DOB_datetime.ToString() + "]");

2 Trace.WriteLine("good:[" + System.Convert.ToString(msgIN.DOB_datetime) + "]");



Another lengthy way to get around this issue is to assign the distinguish field to an xmlNode and then use the xml Namespace Manager to get to the node value instead.

The code on my expression shape looks like this:


1 System.Diagnostics.Trace.WriteLine("bts- In here");

2

3 //assign values to person

4 xDoc = msgIN;

5

6 xmlnsMgr = new System.Xml.XmlNamespaceManager(xDoc.NameTable);

7 xmlnsMgr.AddNamespace("ns0", "http://DistingProperty.Test.Customer.v1");

8

9 xNode = xDoc.SelectSingleNode("/ns0:Customer/DOB_datetime", xmlnsMgr);

10 System.Diagnostics.Trace.WriteLine("bts-[" + xNode.OuterXml + "]");

11

12 xNode = xDoc.SelectSingleNode("/ns0:Customer/DOB_date", xmlnsMgr);

13 System.Diagnostics.Trace.WriteLine("bts-[" + xNode.OuterXml + "]");

14

15 //this works as expected

16 System.Diagnostics.Trace.WriteLine("bts- " + msgIN.FName);

17


Which ever way you choose, this looks like a limitation on the way the XLANG/s in the Expression shape interprets the command code.

Monday, May 12, 2008

How to Setup Windows SharePoint Services 3.0 with BizTalk 2006 R2

Today I have found this error AGAIN.! [old post]

Setup is unable to proceed due to the following error(s):
This product requires ASP.NET v2.0 to be set to 'Allow' in the list of Internet Information Services (IIS) Web Server Extensions. If it is not available in the list, re-install ASP.NET v2.0.
Correct the issue(s) listed above and re-run setup.

This time I am installing WSS 3.0 with SP1 on a Windows 2003 - SP2 machine.  This is a greenfield installation of BizTalk 2006-R2.

Noticed that on my IIS Manager, there is no ASP.NET 2.0 service extensions

image

I ran the standard command that *everyone* should have memorized by now... ;)

c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -iru -enable

Now, when I open my IIS Manager I see the ASP.NET v2 service extension enabled

image

Running the setup.exe for WSS works fine now. 

Hint:  Don't forget to select Advanced settings and then select  the Web Client configuration.  This is a necessary step, if you want to specify the name of the database where the WSS configuration will exist.

Thursday, May 08, 2008

Error trying to re-install SQL Server 2005 on a Failover Cluster environment

I had to un-install the SQL instance that I have on my virtual cluster.  The reason?  I could not get the Service Pack 2 to be recognized by my BizTalk configuration.  Apparently, the SP2 that I had installed was the 9.00.3027.0 and not the 9.00.3042.1  Monish pointed that out that I might have an older version of the Service Pack [he is the only person I know that reads those EULA information...]

 9.0.3027.0  - 12/1/2006 11:17am 9.0.3042.1  - 9/5/2007 12:09am

I am trying to start from scratch the installation of SQL 2005, and when I run the setup I get this message:

image

TITLE: Microsoft SQL Server 2005 Setup
There was an unexpected failure during the setup wizard. You may review the setup logs and/or click the help button for more information.

For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=50000&EvtType=datastore%5cmachineconfigscopeproperties.cpp%40InvokeSqlSetupDllAction%40SqlInstallConfigScope.InstanceName%400x2

Well, clicking on that link, does not provided any more help. Click on the help and I get this other screen:

image

the last line tells me about the event type that has failed:

datastore\machineconfigscopeproperties.cpp@InvokeSqlSetupDllAction@SqlInstallConfigScope.InstanceName@0x2

Now, I have the code that causes the installation to fail. What's next?  ;)

Then I found this other technical article on the MSDN 925976, this suggested cleaning up the registry. I went and clear all of the registry entries from my SQLNode1 and I still get the same error.  I then follow the same instructions on my SQLNode2.  This still did not allowed me to run the setup.  So I went one step deeper and instead of removing just the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\ registry key like they suggested, I removed all hives starting from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server.

Success..! now I am able to run the setup on my primary node, and I *WILL* install the correct Service Pack this time.. ;)

Monday, April 21, 2008

Day of .NET - Wilmington, OH

CIMG5741

One more year of an awesome event. 

Jeff Blankenburg has started what seems like a great tradition: Poker night...!  After the appreciation dinner, we were all invited to room 506 for a poker night. It was amazing that almost everyone went up to the suite to just hang out.  There was an equally amount of people in there just watching than playing.

Hopefully, Jeff will remember to bring something *ELSE* for those of us that just want to hang out and don't play poker. [Xbox 360 / Wii ;).  It was a different way of bringing together all of the masses to a room where we could talk. thanks Jeff.

Sessions that I attended: 

  • Mobile with Nino: I thought that the topic was very interesting; however, I think Nino was not all there.  Maybe that trip to the MVP summit was too tiresome for him ;)  His presentation was good, but I think he could have done a lot better.  I could not attend his 2nd talk on Mobile development, but I heard it was very interesting as well...
  • XML Capabilities in SQL with Jason was great.  Learn a couple of things that I have added to my to-do task of things I want to try when I have some spare time.
  • Soft Skills with Brian.  What can I say, Brian delivered another thought provoking talk, good pointers in there.  I am lining up for the swag-monkey position for next time. ;)
  • Reliable messaging with WFC with James was good.  WFC is one of those topics that are so vast, and James really nail down the point that he was trying to make. He lived up to his *twitter promise* and in fact it was a MUCH improved talk from last year.
  • Agile Practices and TFS with the comrade was good.  I like the way that he show the agile implementation by using a tool like TFS.

I had a blast at this day of .NET event.  The new location was awesome.  We all got to eat sitting at a table.!! (unlike last year's... ;)

Following last year's tradition, it was Monish time to oversleep. And HE did.  I have never seen a Prius doing more than 70mph (or for that matter Monish driving THAT fast...;)  One thing is that me and Alexei learned is that Monish does not know how to avoid things on the road. On the way to finding a Bob Evans for early breakfast, he hit a dead skunk.! Even thought we smell the dead skunk and saw the body over 100ft ahead.!!

Looking forward next year's when it will be Alexei's turn to drive... ;)

Tuesday, April 15, 2008

VPC 2007 not running on Virtual Server 2005 R2

I have been trying to port a VPC 2007 to run on our Virtual Server 2005 R2 with no success. This is the error I am getting:

Virtual Machine
The "Virtual Hardware Standard" (Virtual PC 2007) in the configuration .vmc file for "XXX Server" was not created by Virtual Server. "XXX Server" can start, but some settings may be changed and some settings may not be used.

other errors that I am getting:

Virtual Server
The virtual machine “XXX Server” could not be started. An unexpected error occurred.

Virtual Machine
"XXX Server" could not be started because a disk-related error occurred.

I am still not sure as to what the error is. So I ran the Inspect and also the compact utility on the hard drive hoping that this action might *magically* fixed this issue.

Virtual Server 2005 R2 Pending Actions

I get the message that it did succeed compacting:

Virtual Disk Operation
The virtual hard disk "E:\Virtual Machines\XXXServer\BaseWin2K3 Hard Disk.vhd" was compacted.

However, I still get the unexpected error message. At this point, I decided to merge the diff disk with the parent and then keep a single file. Clicking on the Merge virtual hard disk link yielded this:

Virtual Server 2005 R2 Merging Disk

After this is done, I get this message:

The parent virtual hard disk appears to have been modified without using the differencing virtual hard disk located at "E:\Virtual Machines\XXXServer\W2K3 Diff.vhd". Modifying the parent virtual hard disk may result in data corruption. It is strongly recommended that you lock the parent virtual hard disk to prevent this in the future. If you recently changed time zones on your computer, you can safely continue using this virtual hard disk.

So, I decided to create a new virtual machine. First step, I deleted the VMC file. Then create a new Virtual Machine with no Virtual Hard Disk defined.

Attach a virtual hard disk later (None)

After that was done, clicked on the Configurations for that new Virtual Server, then clicked on the Virtual Hard Disk properties, and added the Virtual Hard Drive that was merged earlier:

Virtual Server 2005 R2 - add existing VHD

Started the New Virtual machine, and PRESTO..!! it's alive [muahh, muahh, muahh] and it has all of my latest changes into it.

Thursday, April 03, 2008

Blue Screen on Vista SP1

Do blue screen still exists in the new and latest Operating system from Microsoft... ?

image 

[Main Instruction]
Windows has recovered from an unexpected shutdown

Problem signature:
  Problem Event Name:    BlueScreen
  OS Version:    6.0.6001.2.1.0.256.4
  Locale ID:    1033

Additional information about the problem:
  BCCode:    a
  BCP1:    0000000000000000
  BCP2:    000000000000000C
  BCP3:    0000000000000001
  BCP4:    FFFFF800026742D4
  OS Version:    6_0_6001
  Service Pack:    1_0
  Product:    256_1

Files that help describe the problem:
  C:\Windows\Minidump\Mini040208-01.dmp
  c:\temp\WER-374105-0.sysdata.xml
  c:\temp\WER6B5F.tmp.version.txt

Clicking on the Check for Solution button, it deleted those files and close the dialog box really quick.  So I went and check on the Windows Error Reporting folder located at C:\ProgramData\Microsoft\Windows\WER\ReportArchive

In there I found two files:  Report.cab and Report.wer.  Opening the Report.cab yield those 3 files reported on the Dialog box.

image

Now I went and open the version.txt file:

Windows NT  Version 6.0 Build: 6001 Service Pack 1
Product (0x4): Windows Vista (TM) Enterprise
Edition: Enterprise
BuildString: 6001.18000.amd64fre.longhorn_rtm.080118-1840
Flavor: Multiprocessor Free
Architecture: X64
LCID: 1033

The sysdata.xml contains a list of all of the drivers currently loaded:

image

so right now I don't know what caused the blue screen, and I am not sure if this information was ever transmitted to Microsoft.  For the record I have a Dell D820 with 4GB Ram running Vista Enterprise 64bits.

I have started to see more and more people getting blue screen's on Vista after they installed SP1. Coincidence?  ;)

Wednesday, April 02, 2008

MOCSDG: Mid Ohio Connected System Developer's Group - OSLO

Yeah, the first meeting of this group will be kicked off this Thrusday.!! Don't miss it. If you want to be on the mailing list, email Monish and he will add you to the list. The meeting will be held at the Microsoft Office in Columbus, OH.

This first meeting, is going to be started with a presentation from Delbert Murphy. He is one out of 90 MCA's that holds this certification. He is the only Certified Architect in both Microsoft .NET and Java that I have met. So this is a good opportunity to meet him (even if you DONT believe in Certifications... blog post coming....;)

He will be talking about OSLO, which is not just the next version of BizTalk, but the next generation of a unified platform for integrating applications and services. (lots of buzzwords... ;) This is all part of the Connected Systems Division at Microsoft and I believe these set of technologies that Microsoft is working on will have everything including the kitchen sink!! Elkay Mystic Kitchen sink Don't believe me?

... the technology to deliver these capabilities will be delivered through BizTalk Server "V6", System Center "V5", Visual Studio "V10", BizTalk Services "V1" and .NET Framework "V4". The code name for this effort is "Oslo"...[read whole article]

  1. Visual Studio v.10
  2. System Center v.5
  3. Biztalk Services v.1
  4. .NET framework v4.0
  5. Biztalk Server v.6

and that is very powerful.! And if you are a Challenge Junkie like Brian said, then OSLO will give you something to get excited about.

Tuesday, April 01, 2008

ReSharper 4.0 upgrade

I am taking the plunge and going for the EAP nightly builds of ReSharper.  Since I have started using Visual Studio 2008, and it is REALLY annoying having to disable ReSharper everytime I want to do any work on it. Plus Harman talks so much about the new features and how they are very stable. So if HE uses it, why not me. ;)

So far, I have an un-easy feeling about this and the message does not provide any comfort...image

Hope that QSI Management hurries up and approved that PO to buy us personal licenses of ReSharper before I run out of trial days.

Here is what happened to my v.3.1 License: License to version 3.x is not acceptable since issued before 12/21/2007.

image

30-days trial vs Full license... argghhh..

image

 

let's see what happens after 30-days.!

image

Sunday, March 30, 2008

DVD Collection = 800..!

I have finally reached a milestone [800 dvd's..!] in my DVD collection.

image

These are the last 25 dvd's that I have added to my collection. The software that I used to keep track of my massive collection is DVD Profiler.  This software allows me to keep track of all of the details on my collection.  From how much I have spent, to when did I purchased it, location, etc.  It also allows me to keep track of dvd's that I have loaned to friends. There is even a section about ratings, choosing a random movie to watch, etc.  Well worth the price of it [$25.00]. The price includes putting your collection online. Here you can view my complete collection online.

image

General information on my collection.

image

noticed that the average price for this year is about $6.13 / dvd..!!

image

The number one question I get asked is how much have I spent?  Not a secret. In this chart you can see, is not that I am buying less in the past 3 years.  Instead, it is that the price of the DVD's have significantly come down.  Also, I am buying mostly used DVD's, so it affects the average price I am paying for them.

image

Tuesday, March 25, 2008

Shutdown Event Tracker

A small annoyance.  When I get a Virtual PC image that has Windows 2003 on it, it seems that the I am always looking for this information on google on how to disable the Event Tracker.

image

Here is a good article that I used all of the time

Disable Shutdown Event Tracker Windows 2003

Now, I won't loose it... :D

Thursday, March 20, 2008

Windows DNA and Biztalk 2000

Being the certification freak, I subscribe to anything Microsoft related. A few weeks back, I have received an email notifying me that the Exam for BizTalk 2000 is going to be retired.! http://www.microsoft.com/learning/exams/70-230.mspx

Of all of the certification tests that I have taken, this is the one that has the most meaning to me.

It's been almost 10yrs since I first hear about this product. Why BizTalk? This is my story. Right at the beginning of the dot COM era, I was an independent consultant doing COM and MTS. I actually knew how to get Windows NT4 to work with DCOM. Those were the years that I have abandoned C++ and their MFC for VB4 and VB5.

I remembered being part of the beta tester for VB5 and VB6 and signing NDA's. I was just starting to play with SQL Server 6.5 when I got this offer from a consulting company up north. They were based on Michigan and they were looking for Developers to work on this new joint application with Ford Motors [carpoint.com]. They mentioned that I would be working alongside Microsoft Consultants developing this new application that was going to revolutionize the automobile industry. I passed all 2 tech phone interviews and drove up there to meet them. Everything went fine, and I did get the Michigan Battle song played while talking to one of the PM's.! Funny, I don't really care about Football.

When the offer came, there were so many factors that I had to take into account. It was just about the same that I was making at that time in Columbus, so the money factor was not there. The challenge factor was there. It was the beginning of Internet boom, and as I can remember signing bonuses and stock options were very popular. Moving up north did not seem like a good career move, so with great dispair, I passed on this one offer.

2 years later, I am playing with this technology preview called BizTalk. Oh yeah, that was it. I am still doing the *what-if's* all of the time.

The buzzword of the day back then was Windows DNA [Windows Distributed InterNet Applications Architecture], then Microsoft stated their new strategy with the eCommerce .NET servers: Commerce Server 2000, Exchange 2000, SQL Server 2000, Application Center 2000, ISA 2000, BizTalk 2000 and some other that I can't remember. And BizTalk was one of the main core that will glue them all together.

I embraced this technology fully. It was the time that there were lots of mergers and acquisitions. Integration was starting to become a real enterprise problem. I had my share of integration projects with Unix and Windows.

The certification for this BizTalk 2000 did not come out until about 2001. I had to admit, I had to take this test 2 times to pass it. There were no materials to study for. At the time there were only 2 books that I could study from:

MCSE Training Kit: Microsoft BizTalk(tm) Server 2000 (Exam 70-230) (Hardcover) Microsoft BizTalk Server 2000 Administrator's Guide (Hardcover)

So finally I conquered this test.

image

Now, after obtaining every single BizTalk Certification (including the ones that dont exist... ;), I can only say that I will miss this test the most for the significance it had in my life..

It is amazing to sit here and think that this product has evolved so much in the past 10yrs. I can't hardly wait when Oslo comes out.

Monday, March 10, 2008

ADIOS

Mom and Dad - 1964
Arnulfo Wing Caceres
Born: August 15, 1938
Decease: March 4, 2008
Married: October 18, 1964

fyi, my dad passed away at 5:30am, I arrived at 2:10pm. :S