Just a quick one from me here, I was playing about in my lab installing Veeam B&R and Veeam ONE v11a (because, why not?!), when I hit a strange issue. I’d snapshotted my VM prior to installing Veeam ONE so that I could revert back and try different methods (and play with automation). The first time I installed Veeam ONE, it worked PERFECTLY. Next day I revert the VM and tried to install it again, and I got an error that it failed to create the website and wouldn’t install!
It seemed strange that a virtual machine I’d powered off before snapshotting would have two different outcomes when in both scenarios I booted the VM up and installed Veeam ONE in an identical way.
So I started to dig into this and found the problem was caused by a dependency. When Veeam ONE installs, the following dependencies are required:
- Microsoft IIS
- ASP.NET 4.5 Component
- .NET Extensibility 4.5 Component
- Default Document Component
- HTTP Errors Component
- Static Content Component
- Windows Authentication Component
- WebSocket Protocol Component
- Microsoft System CLR Types for SQL Server 2014
- Microsoft SQL Server 2014 Management Objects
- Microsoft XML 6.0 Parser and SDK
- Microsoft OLE DB Driver for SQL Server
- Microsoft SQL Native Client 2012
- Windows Management Instrumentation Service
- Microsoft .NET Core Runetime 3.1.16
- Microsoft ASP.NET Core Shared Framework 3.1.16
- Microsoft Universal C Runtime
- Microsoft Application Request Routing 3.0
- IIS URL Rewrite Module 2.1
That’s a fair few dependencies that Veeam ONE needs, and they all need to play nice, but unfortunately it seemed like one of them was misbehaving, how would I find out which? Read on!
I jumped into the installation logs on the VM, these are located at “C:\ProgramData\Veeam\Setup\Temp” by default. Then I sorted them by date modified. Veeam ONE leverages a few different installers to deploy its specific components and we can see that in the log output as per the screenshot below.
We cam see a fair few of these logs are marked _rollback, meaning that the installer had failed and the system was reverting to a known good state. The last one we see before any rollback logs was “ReporterWEBSetup” which is the section of Veeam ONE that was installing when the error occurred, let’s dive into the logs!
Highlighted within the image you’ll see a few key lines, we see that the action ‘CONFIGURE_ARR_PROXY’ was performed and then we see a Com error -2147023728. Message: Element not found.
The next output we get is “Failed to create website. Error code: 0x80070490.”.
This means there was a high chance that ARR was at fault, for those that don’t know what IIS ARR is, ARR stands for “Application Request Routing”, there are quite a few scenarios that leverage ARR but the key use cases are load balancing as a reverse proxy and performing HTTP based routing decisions, if you’re interested in finding out more about IIS ARR you can see the main product page here.
This causes us a problem as Veeam wants to create URL Rewrite rules leveraging this component. The fix wasn’t that difficult however, simply uninstall “Microsoft Application Request Routing 3.0” from your Control Panel > Programs and Features.
Once uninstalled, run the Veeam ONE installer again, the prerequisite checker will find that the ARR feature is missing and reinstall it. Then simply complete the rest of the installation, like below!
This time we see Veeam able to install the required URL Rewrite rules and complete the installation successfully.
Hopefully this has helped someone other than just myself!