After a few hours debugging, I'd narrowed the problem down to a registry permission problem which causes the MSI execution step in question to fail badly: the step "regsvr32 XLANGByotWrap.dll" fails with 0x80070005 which we all know is "access is denied."I used regmon and filemon (again from sysinternals) to monitor the install process -- I chose minimum install of dev/sdk via custom install -- and noticed that at some point before the regsvr32 step in question is executed, the following two important keys are created:HKEY_LOCAL_MACHINE\SOFTWARE\ ...Classes\XLANGWrapBYOT.XLANGWrapByotHKEY_LOCAL_MACHINE\SOFTWARE\ ...Classes\XLANGWrapBYOT.XLANGWrapByot.1...and this is the killer, because this happens BEFORE the regsvr32 command is executed. The MSI gives "Administrators" read perms only (but SYSTEM gets "full control") on these regkeys, which is why the subsequent regsvr32 step fails, which tries to register the com server XLANGByotWrap.dll under these keys. You can verify this yourself by leaving the error dialog open (if you close it, the MSI will roll everything back) and dropping to the install directory and typing:regsvr32 XLANGByotWrap.dllYou'll see that it fails with 0x80070005. Go into regedit, change the perms for Adminstrators to "Full Control" and re-run the command: Success.I have no idea why these keys are created pre-registration, and with the incorrect perms, but it's possible to work around this issue by creating the keys with the correct perms yourself BEFORE you run setup; export the keys to xlang.reg and reimport them (after you have finished running the failed setup attempt the first time) via regedit's File|Import. The next step is change the permissions on both keys so that your own account is replaced with "administrators" and with "full control."So, great stuff. I fire up setup myself, and lo and behold, it successfully makes it past the previous failure point only to cough up:Error 5003. Regsvcs failed for assembly Microsoft.BizTalk.Deployment.dll. Return code 1.Argh. So, guessing that this is more of the same malarky, I drop to a cmd prompt and try to run the command manually (while leaving the error dialog open again) to see what the problem is:[E:\Applications\Microsoft BizTalk Server 2004] regsvcs Microsoft.BizTalk.Deployment.dllMicrosoft (R) .NET Framework Services Installation Utility Version 1.1.4322.573Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.The following installation error occurred:1: Failed to register assembly 'Microsoft.BizTalk.Deployment, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.2: Access to the registry key HKEY_CLASSES_ROOT\Microsoft.BizTalk.Log.LogException is denied.Yep, it's the registry again. Bizarre. Again, the solution is to create the key yourself before you run setup. Since HKCR is a union of HKCU and HKLM, I had a look for the key under HKEY_LOCAL_MACHINE\Software\Classes where I found it. I also found a shedload of other keys, again with read-only perms for Adminstrators. I thought to myself, eh, I could just recreate the single key in question, but I figured I\'m probably going to get more than a couple of these errors, so I should export all Microsoft.Biztalk.* keys and recreate them with the proper perms before running setup again.
*** and at this point while I considered the pain of exporting a few hundred registry keys I had the idea of using PSEXEC to run the setup under the localsystem account ***Anyway, I hope this was interesting to someone.
Page rendered at Friday, November 21, 2008 2:50:45 PM (Eastern Standard Time, UTC-05:00)
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.