Search This Blog

Wednesday, April 21, 2010

Not a valid win32 Application - SQL 2008

Not a valid win32 image - SQL 2008 Install Error Message

Many a times we get wierd errors on installing on specific servers, but we would need
to locate whether its issue with machine we are installing or issue with the setup files
we have copied.

One such case with setup files is reported below where the error message is weird on popup message box and some more info we get on error logs to troubleshoot and ultimately
we find it is a issue with some other DLL whcih needs to be present for setup to continue.

If you encounter the ‘not a valid win32 image’ during SQL 2008 Install or Upgrade it is due to a corrupt DLL and the same would be reported as bad in the detail_global_rules.txt

For which use the Windows resource kit tool called depends.exe(Can be downloaded as free from Microsoft website) to locate the corruption issue.

Let us take for example Microsoft.SqlServer.Configuration.SqlServer_ConfigExtension.dll is the corrupt DLL reported then use the microsoft dependency walker tool to test it
by locating the install directory where the setup files are present, for instance
D:\SQL2008\x86 is install folder then command to use would be:

From the command prompt
D:\sql2008\x86>depends Microsoft.SqlServer.Configuration.SqlServer_ConfigExtension.dll

In the window panel you get the DLL which shows as fault needless to say that warnings can be ignored.

And if you double click the dll which gives error you get the full path of the DLL which reports error and the same can be copied fresh from a SQL 2008 Install CD and we are good to go with SQL 2008 Install.

1 comment:

Bruno Lins said...

Hi Ganesh,

I followed your instructions and I found that the invalid dll is msvcm80.dll. I have tried to replace this file in folder "C:\windows\winsxs\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.3053_none_88e044e32fae7230" but I using Windows Server 2008 and just TrustedInstaller has access to this folder. Do you have any idea how to solve this issue?