0
Fixed

Upgrade from 4->5 Bug

Daniel Walters 6 months ago • updated by Beau Harrison (Software Developer) 6 months ago 12

In a lab I ran an in-place upgrade from IdB4 to Broker5. The first time I ran the installer, it failed saying that it couldn't find the web.config xml file. I checked and the file wasn't there at that point in time. The installer rolled back, removing the v4 installation but leaving the configuration. I ran the installer again and it ran successfully but when I navigated to the identity broker page, I got the standard custom errors warning so I changed it to remote only and got the following error page. I haven't done anything since. What would you recommend I do next? Try a re-install or mess around with .dlls or what? (I changed the port to 8888 when it was v4 and that persisted into 5)

Affected Versions:
Fixed by Version:

I ran a repairing install on it that went through, it asked for a restart so I did then the service wasn't starting. The repairing install seemed to have changed the service account to the local system account. I fixed the service account and the service started and again get the same error after the repairing install.

I thought it may be because it looks like .net 4.6.x is on the server and I may need to install 4.5.1 as well but installing it I get this message so looks like that's not the problem.

I turned on Assembly binding logging with the registry entry mentioned in the first error and got this additional information. It doesn't mean anything to me though.

Under review

Hi Daniel
You didn't provide exact version numbers, but testing locally upgrading v4.1.4 to v5.3.1 I was unable to replicate the issue you describe.

There is an issue with upgrading from v4.x to v5.3 related to the Web.config file in which the old version is in the incorrect state, but this isn't taken into consideration by the upgrade process. To properly perform an upgrade using the installers, you'd need to go v4.x -> v5.2.x -> v5.3.x.

Honestly, however, I'd recommend doing a clean install of v5.3 and migrating config manually. To do this

  1. Uninstall the old v4.x and move or rename the install directory (which should only contain configuration)
  2. Install v5.3 without database configuration
  3. Copy the old v4.x Extensibility config into the v5.3 installation
  4. Run the Database\IdentityBroker Upgrade.sql script on the old database

oh OK, I'll do it that way. Does this mean that you can drop a 4.x extensibility file into a 5.x installation and it'll work fine? It looks like the installer touched the extensibility files when I upgraded so I thought it must have rejigged them a little bit.

I seem to have fixed it by changing the binding redirect for System.Web.WebPages.Deployment in the web.config. I changed the redirect from 2 to 3 and now UNIFYBroker loads and connectors import.

<dependentAssembly>

<assemblyIdentity name="System.Web.WebPAges.Deployment" publicKeyToken="31bf3856ad364e35" culture="neutral"/>

<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="3.0.0.0"/>

<.dependentAssembly>

I could see this happening if the web.config persisted from 4->5 but I don't think it does, does it? Is this something I would need to change when I do a real upgrade?

I see that yes, the web.config persists when upgrading.

I just did a fresh install and got the same error I did originally. The web.config that is installed has that binding redirect pointing at 2.0.0.0 and the .dll version that's installed is below

I'll do one more fresh install to see if I can replicate again.

oh OK, I'll do it that way. Does this mean that you can drop a 4.x extensibility file into a 5.x installation and it'll work fine? It looks like the installer touched the extensibility files when I upgraded so I thought it must have rejigged them a little bit.

Yes, any version related adjustments are taken care of by Broker internally, not the installer.

I could see this happening if the web.config persisted from 4->5 but I don't think it does, does it? Is this something I would need to change when I do a real upgrade.
I see that yes, the web.config persists when upgrading.

v5.0 and v5.2 were both big updates in terms of the UI. Up till this point, however Web.config did not get persisted during upgrades. Starting with v5.3, we changed it so it is persisted, however made the assumption it would persisted from a v5.x installation. You shouldn't need to make any changes to it for a clean v5.3 installation.

Yup, I got the same error again on a fresh install. I entirely deleted the Unify Solutions folder before reinstalling and didn't copy any config in at all and got the same error. It seems the binding redirect is incorrect in the freshly installed web.config... I'm using the 'UNIFYBroker Service v5.3.1 RTM' installer downloaded from downloads.unifysolutions.net.

When I set the binding redirect to 3.0.0.0 from 2.0.0.0, it starts working.

Ok, then that's not right, then. I'll let you know when the fix is up.

Fixed

Broker release v5.3.1.3 has the binding redirect corrected.