BizTalk360 installation failed: “error status: 1603”

Recently we got a client who was unable to complete the installation of BizTalk360. Although all checks indicated  the prerequisites were met, there was an issue on completing the installation wizard for some reason.

BT360-Prerequisites

In the first step they filled all info for creating the IIS virtual directory and application pool. But for some reason, when going to the next step it failed and stopped the installation process. So they couldn’t get past the first step of the installation.
Running the installation from a command prompt, and making sure an installation log got created (for details on how to create an installation log, have a look at http://www.advancedinstaller.com/user-guide/qa-log.html) reveiled a problem ‘ValidateAppPoolUserCredential failed’.

…..

Action 12:41:54: UpdatePropsWithSelectedWebSite.
Action start 12:41:54: UpdatePropsWithSelectedWebSite.
MSI (c) (84:24) [12:41:54:623]: Invoking remote custom action. DLL: C:\Users\[UserName]\AppData\Local\Temp\2\MSI64AE.tmp, Entrypoint: UpdatePropsWithSelectedWebSite
MSI (c) (84!98) [12:41:54:810]: PROPERTY CHANGE: Adding WEBSITE_DESCRIPTION property. Its value is ‘Default Web Site’.
MSI (c) (84!98) [12:41:54:810]: PROPERTY CHANGE: Adding WEBSITE_PORT property. Its value is ’80’.

MSI (c) (84!98) [12:41:54:810]: PROPERTY CHANGE: Adding WEBSITE_IP property. Its value is ‘*’.
Action ended 12:41:54: UpdatePropsWithSelectedWebSite. Return value 1.
MSI (c) (84:04) [12:41:54:841]: Doing action: ValidateAppPoolUserCredential
Action 12:41:54: ValidateAppPoolUserCredential.
Action start 12:41:54: ValidateAppPoolUserCredential.
MSI (c) (84:64) [12:41:54:841]: Invoking remote custom action. DLL: C:\Users\[UserName]\AppData\Local\Temp\2\MSI658A.tmp, Entrypoint: ValidateAppPoolUserCredential
Action ended 12:41:55: ValidateAppPoolUserCredential. Return value 3.
DEBUG: Error 2896: Executing action ValidateAppPoolUserCredential failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: ValidateAppPoolUserCredential, ,
Action ended 12:41:55: WelcomeDlg. Return value 3.
MSI (c) (84:E4) [12:41:55:075]: Doing action: FatalError
Action 12:41:55: FatalError.
Action start 12:41:55: FatalError.
Action 12:41:55: FatalError. Dialog created
Action ended 12:41:59: FatalError. Return value 2.

….

While in the event viewer I found a record with following details:

Product: BizTalk360 — Installation failed.
Windows Installer installed the product. Product Name: BizTalk360. Product Version: 7.1.555.0. Product Language: 1033. Manufacturer: Kovai Ltd. Installation success or error status: 1603.

None of the error messages gave me an idea on what the actual problem would be.
Further investigation has showed me that there were still some role services and features missing… So I enabled following windows role service and features:

  • role services for Web server: IIS 6 compatibility
  • Feature: .NET framework 3.5.1

And that seemed to do the trick. I was able to get past the IIS virtual directory settings of the installation wizard and succesfully installed BizTalk360.

BizTalk SFTP adapter: “Unable write file”

Since recently my SFTP send port for some reason couldn’t write any files to the configured SFTP folder anymore. The error information displayed on the suspended instances was:

An unexpected failure occurred while processing a message. The text associated with the exception is “[SftpTransmitterEndpoint] Unable to transmit file sftpfolder/51D8D887-DB21-4675-8EA2-927B86F84CF3.
Inner Exception:
Unable write file to sftpfolder/51D8D887-DB21-4675-8EA2-927B86F84CF3
Unable to connect to Sftp host [sftpHost]. Changing any Send Port Transport properties might require the host to be restarted, as the connection pool might still have connections”.

In the event viewer there were a bunch of error events logged coming from the SFTP adapter.

EventVwr

The events stated some different error messages like:

Method: Blogical.Shared.Adapters.Sftp.SharpSsh.Sftp.CheckHostKey
Error: HostKey does not match previously retrieved HostKey.

Method: Blogical.Shared.Adapters.Sftp.SharpSsh.Sftp.connect
Error: Unable to connect to Sftp host [mpm01.uat.vvm.addelijn.be]

Method: Blogical.Shared.Adapters.Sftp.SharpSsh.Sftp.Put
Error: Unable write file to sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075

Method: Blogical.Shared.Adapters.Sftp.SftpTransmitterEndpoint.ProcessMessage
Error: [SftpTransmitterEndpoint] Unable to transmit file sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075.
Inner Exception:
Unable write file to sftfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075
Unable to connect to Sftp host [sftpHost]. Changing any Send Port Transport properties might require the host to be restarted, as the connection pool might still have connections

A message sent to adapter “SFTP” on send port “SP_Employee.Messaging_Whitelist” with URI “SFTP://sftpHost:22/sftpfolder/%SourceFileName%” is suspended.
Error details: An unexpected failure occurred while processing a message. The text associated with the exception is “[SftpTransmitterEndpoint] Unable to transmit file sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075.
Inner Exception:
Unable write file to sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075
Unable to connect to Sftp host [sftpHost]. Changing any Send Port Transport properties might require the host to be restarted, as the connection pool might still have connections”.
MessageId: {E5D8FDDE-7246-484C-82B2-335B171BB8F0}
InstanceID: {D3E33013-9250-4750-9B4B-68926601D7FD}

How to solve the issue?

It was the info ‘HostKey does not match previously retrieved HostKey’ that got me thinking. And finally also provided me with the solution.
To overcome this issue, I located the hostkey that was saved and simply removed the hostkey.

Follow these steps to solve this issue

  1. locate the SftpHostFiles.config file. It can be found under something like ‘C:\Users\[BTSUser]\AppData\Local\IsolatedStorage\abwnobui.3i0\ipehwsgb.i2y\Url.hxlzol3fqigkmb3hbeb4siqcmd5vjau2\AssemFiles’
  2. Edit the config file and remove the node containing the  SFTP Host that you are trying to connect to, and save the config file.
  3. Restart the host instance

This should suffice to have a working solution again.

Hope this will help you out.