Invoke or BeginInvoke cannot be called on a control until the window handle has been created

While installing SQL Server 2008 on a Windows Server 2008 SPx or Windows Server 2008 R2 SP1. You might encounter the above issue.

How to troubleshoot the issue is what we are going to share today.

Beginning of the Setup

image
Figure 1 : Extracting Files

image
Figure 2 : Failure Message

Followed the steps listed on the Net as follows

1) Closed Windows Explorer
2) Closed IE Instances
3) Created a Temp Folder in C:\Temp
4) Installed a hotfix as listed here.

Nothing worked.
===========================================================

Lets see how to troubleshoot and resolve the issue.

Here is something which I followed and worked for me many times. Thought of sharing it.

To be begin with you have to work on modifying some of the registry entries.

Caution : Incorrectly modifying registry can cause catastrophe. You may have to re-install the complete operating system. Please perform a complete backup of the registry before making any changes.

Some background history. You may not see this error on a brand new box. So the possibilities of getting the error is where you already had an instance SQL running.

Ok so let start the troubleshooting.

As a basic step of troubleshooting it is always advisable to have a thorough check on Application and System Logs Events.

So we first checked both App and Sys Logs and we were not able to get any direction.

Next step is to check the registry.

While doing a deep dive inside registry I found a stale entry under.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client

I found that the installer had tried to connect to port 1433.

image
Figure 3 : Registry path

Delete the above key post performing a backup.

Now a run a port query to check and see if the port is blocked, if so then unblock the port from local firewall for both TCP and UDP inbound and outbound.

image
Figure 4 : Unblocking

Next step if to check the compatibility under which the installer is running. This can be done by right clicking on the installer >> Properties >> Compatibility.

By default it would be greyed out. Check it and select Windows 7 if you are running server 2008 R2 / R2 SP1, as the kernel built for R2 and Win 7 share the same code with some added server side features on 2008 R2.

image
Figure 5 : Compatibility

The next phase of action is to go to the bottom of that dialog box and click on Compatibility for all users. Select Windows 7 and make sure to check the option “Run this program as Administrator”.

image
Figure 6 : Options to Select

Now its time to check the UAC settings. Set them to lowest as shown below.

image
Figure 7 : UAC Settings

Reboot the Server.

After the server is rebooted once again confirm if all the changes are in place as expected.

Again start with the Extraction phase.

image
Figure 8 : Extracting Files

After few minutes you would see the installer now loads up.

image
Figure 9 : Setup Processes

image
Figure 10 : SQL Server Installation Center

Now carry on with the installation. Things should work as expected.

Hope this was helpful

===========================================================

Madhabendu
MSEXCHANGETEAM.IN

Tagged , . Bookmark the permalink.

One Response to Invoke or BeginInvoke cannot be called on a control until the window handle has been created

  1. Dhruv says:

    Thanks for the suggestion.. only removing the key from the registery helped me.