Monday, May 27, 2013

Message Box Viewer (MBV) 13 does not work with BizTalk 360 v6.0

From Saravana Blog post I came to know that the new Message Box Viewer 13 is available now at JPBlog. I thought of integrating it with BizTalk360 v6.0 but I was not able to do so, ans was getting the below mentioned error:

Could not load file or assembly 'MYHC, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
File name: 'MYHC, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null'    
at Kovai.BizTalk360.MBVConsole.MBVFacade.Init(String[] args)    
at Kovai.BizTalk360.MBVConsole.Program.Main(String[] args)
in c:\B360.Main\src\v6.0\Kovai.BizTalk360\Kovai.BizTalk360.InfoTrack\Kovai.BizTalk360.MBVConsole\Program.cs:line 13    

I tried to investigate it and here is my finding:
When you extracted the zip file MsgBoxViewer13.zip you get the following list of executable and files. 



As mentioned in the error the part of BizTalk360 which execute MBV is Kovai.BizTalk360.MBVConsole.exe and it uses the MYHC.dll. Moreover this file gets copied to the Service folder in the installation directory of BizTalk360 as shown below:



The problem is in MBV 13 version the assembly version of MYHC.dll has been changed to 4.0.0.0 and this assembly has been strongly named i.e. signed and as a result there is no easier way of binding redirection to this new signed assembly from unsigned version. I hope recompiling the code of Kovai.BizTalk360.MBVConsole.exe with updated reference in some future version would fix this issue.

Cheers
Rohit Sharma

Monday, May 13, 2013

BizTalk360: Counter for number of required host instances for healthy environment


Just like me if you have created the host instances for all the hosts on every machine ( 2 in this example )  in BizTalk group and still wondering why you are not getting the count of host instance equal to number of host multiplied by the BizTalk server (in above case 17*2=34) then this could be the answer.

- In this example there were 3 isolated hosts; BizTalk360 was not considering the host instances for these isolated hosts as part of this count, may be because just like BizTalk the BizTalk360 does not access the status information for external processes, so the count get reduced to 28.

Still there is difference of 2.

- In this example two hosts were cluster. BizTalk360 was adding only 1 to the host instances count for each cluster host as only one instance will be active at a time.

So in nutshell this counter indicate how many host instances should be in active state to consider the environment as healthy and it's not count of  total number of host instances.

Cheers
Rohit Sharma

Thursday, May 2, 2013

Message Box Viewer (MBV) Integration with BizTalk 360 v6.0


I was getting this error when trying to Run MBV from BizTalk 360.

MBVActivity
Leaving Execute(Kovai.BizTalk360.InfoTrack.ActivitiesImpl.MBVSvc.MBVActivityImpl).
Fatal exception in generating Message Box Viewer Reports.
System.Exception: MBVActivityImpl:GenerateReport. IsReadyForMBVExecution check failed. Error EULA for MBV Console application must be accepted 


I came across this post by Steef-Jan on this topic. The below mentioned registry key that was working for Steef was already there as the machine was 64-bit in this case too

[HKEY_LOCAL_MACHINE\SOFTWARE\MBVConsole\EULA]
"EULAAccepted"="YES"




Then I manually created the below mentioned registry key as pointed by Steef

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MBVConsole\EULA]
"EULAAccepted"="YES"




And it resolved the issue. I was able to run MBV and reports were getting generated properly.

BizTalk360 MBV
But later I found that generating only the below mentioned key also fix the same problem:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MsgBoxViewer\EULA]
"EULAAccepted"="YES"




Seems BizTalk360 is looking for either one of these registry keys so create any of these two to fix this problem.

Cheers
Rohit Sharma