Page 1 of 1

Error Message On A Failed SQL Install

Posted: Thu Apr 09, 2009 7:38 am
by ofatcats
Is there a way to get the error message on a failed SQL install?

I know how to retrieve the error number, but I am looking for the description of the message.


The error number is returned in the variable SQL2005. Is there a way to set a variable for the error description.

I am getting error numbers 1603 and 15359, but Microsoft says these are too generic to troubleshoot the problem.

Posted: Thu Apr 09, 2009 7:49 am
by Bar_BQ
Hi,

At the moment the only way to do this is to read log file from c:\\program files\\ms sql server (maybe a couple folders deeper).

However, IA update will most likely that feature. I know, because I had an opportunity to test improved ms sql plugin. But unfortunately I don't know when to expect the update :(

Posted: Thu Apr 09, 2009 4:16 pm
by tpitts
I just ran into a SQL installation problem yesterday -- the machine was running XP SP3, which breaks the SQL Server installation.

See this blog post for a workaround:
http://sqlblog.com/blogs/aaron_bertrand ... bacle.aspx

Posted: Fri Apr 10, 2009 9:37 am
by MichaelNesmith
If you can find a successful, generic workaround, implement it in your MSIcode scripts for this runtime, and send us the code! We'll review and even add it inside-the-box if it passes our QA for future releases of the same runtime.

Working With Microsoft now

Posted: Fri Apr 10, 2009 9:41 am
by ofatcats
I am 5-6 hours into support with Microsoft. It took about 4 hours to get them to admit that there was an issue. Now that they have, and I am waiting back for a fix.

I have a feeling that they'll tell me that they will have one eventually, but I'm hopeful that I can get something out of them. Since XP came out about 8 years ago (SP3 about 2 years ago), and SQL Server Express is 2005 is well a few years old. I think they've had plenty of time to address this issue, and I'm pretty sure this isn't a priority.

If I get a fix I will definitely post it here.

Posted: Fri Apr 10, 2009 9:44 am
by tpitts
Unfortunately the workaround involves unpatching a security bug in MSXML6. I expect the real solution is going to have to come from Microsoft releasing an updated installer for SQL Server 2005. I don't know what the odds are for that.

Temp Fix

Posted: Fri Apr 10, 2009 9:54 am
by ofatcats
I am trying out my own fix based on the article here:

http://groups.google.com/group/microsof ... 67deafd53f

I'll let you know if it works.

I know that InstallAware is Delphi based, so here is my code:




program removekey;

{$APPTYPE CONSOLE}

uses
ExceptionLog,
SysUtils,
Registry,
Windows;

var
Reg: TRegistry;
TheKey: string;

begin
{ TODO -oUser -cConsole Main : Insert code here }

try

Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
TheKey := '\\Installer\\UpgradeCodes\\7AB711B11CB5E91428E0D7F4F314C2B7';

if Reg.OpenKey(TheKey, False) = true then
Reg.DeleteValue('5A6FB34A0F5DAAA4FB1456990536CE44');

Reg.CloseKey;
Reg.Free;


Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
TheKey := '\\SOFTWARE\\Classes\\Installer\\UpgradeCodes\\7AB711B11CB5E91428E0D7F4F314C2B7';

if Reg.OpenKey(TheKey, False) = true then
Reg.DeleteValue('5A6FB34A0F5DAAA4FB1456990536CE44');

Reg.CloseKey;
Reg.Free;

except
// do nothing
end;

end.

Posted: Fri Apr 10, 2009 3:07 pm
by MichaelNesmith
If that is the fix, first off, you should author it directly in InstallAware :) A single call to Delete Registry will take care of it. Add a Get OS or SP Level command to obtain exact XP SP 3 target system requirement before doing so, of course.

Delete Key In InstallAware

Posted: Fri Apr 10, 2009 6:55 pm
by ofatcats
Thanks, I'll let you know if this works...

Set Variable OpSys to
Read Registry Key HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProductName into OpSys
Set Variable OpVersion to
Read Registry Key HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\CSDVersion into OpVersion
if Variable OpSys Equals Microsoft Windows XP
if Variable OpVersion Equals Service Pack 3
Delete Registry VALUE HKLM\\SOFTWARE\\Classes\\Installer\\UpgradeCodes\\7AB711B11CB5E91428E0D7F4F314C2B7\\5A6FB34A0F5DAAA4FB1456990536CE44
Delete Registry VALUE HKCR\\Installer\\UpgradeCodes\\7AB711B11CB5E91428E0D7F4F314C2B7\\5A6FB34A0F5DAAA4FB1456990536CE44
end
end

Don't know yet

Posted: Sat Apr 11, 2009 8:24 am
by ofatcats
I don't know yet if this fix actually works, but I do have good news.

It doesn't break installs on XP SP3 computers that normally install SQL fine. So, at the very least it doesn't appear to be doing any harm.

If it is actually helping remains to be seen.

Posted: Sat Apr 11, 2009 8:59 am
by MichaelNesmith
Very eager to hear about your results - let us know ASAP!

I think I found the solution.

Posted: Sat Apr 11, 2009 7:19 pm
by ofatcats
Okay so, I think I have found the solution online. I like this better than the previous one because you are not hacking the registry and this solution automates what Microsoft recommends as a fix.

http://support.microsoft.com/kb/968749

To start, download the Windows Installer CleanUp Utility
http://support.microsoft.com/kb/290301

Install it, and in the Program Folder is MsiZap.exe.

The cleanup utility (msicuu.exe) actually calls MsiZap.exe to execute the cleanup.

Add the MsiZap.exe to your install and do an apply install before installing SQL Server.

Then run the .exe with the command line:
T {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}

That should completely replicate Microsoft's recommended solution.

My code is as follows:

Create Folder $COMMONFILES$\\MyProgram
Install Files C:\\Users\\Administrator\\Desktop\\Install Files\\Program Folder\\reg.exe to $COMMONFILES$\\MyProgram
Apply Install

Set Variable OpSys to
Read Registry Key HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProductName into OpSys

Set Variable OpVersion to
Read Registry Key HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\CSDVersion into OpVersion

if Variable OpSys Equals Microsoft Windows XP
if Variable OpVersion Equals Service Pack 3

Run Program $COMMONFILES$\\MyProgram\\MsiZap.exe T {1A528690-6A2D-4BC5-B143-8C4AE8D19D96} (WAIT)

end
end

[DEFINE WEB MEDIA Microsoft SQL Server Express 2005 with Service Pack 2, Exclude from Build]
Include Script: setupsql2005

I haven't gotten any of these install errors since I started implementing this, but I've only had a few XP SP3 installs, and SQL wasn't always failing on XP SP3 so I'm not 100% sure.

I am very interested to know if this works for everyone. Let me know.

Posted: Sun Apr 12, 2009 8:22 am
by MichaelNesmith
It would be smarter to just add msizap as a support file and run it directly from $SUPPORTDIR$ without any Install Files or Apply Install necessary to "install" this temporary file.

Official Microsoft Response

Posted: Mon Apr 20, 2009 3:44 pm
by ofatcats
Just to close this out. The fix listed above works perfectly and has stopped all of my errors except the 1603 error.

Here is the official response from Microsoft:

The below links you have mentioned certainly talks about SQL Server 2005 Express fails to install on Windows XP SP3. However none of these are based on the errors codes 1603 / 15359 / 1539
http://social.msdn.microsoft.com/forums ... 9be504715/
http://social.msdn.microsoft.com/Forums ... 6aebbf388/


However for the error 1603, as you have mentioned this could be a permissions issue http://support.microsoft.com/kb/834484

We observed few such cases and the below workaround helped to an extent:

a. You can disable the system file protection checks before you install SQL Server 2005 Express. You can do this by editing the registry as described in this KB article: Registry settings for Windows File Protection (http://support.microsoft.com/kb/222473)
b. Install SQL Server by using the command line switch: /qn. This switch will suppress this warning (but it will also suppress all installation errors/warnings).
c. SQL Server 2005 setup fails when MSXML Core Services 6.0 Service Pack 2 has already been installed - http://support.microsoft.com/kb/968749

The link you have mentioned about registry key fix: http://groups.google.com/group/microsof ... 67deafd53f
Is to clean up MSXML traces from the registry in SQL Server 2008. So far the only issue which was faced due to MSXML is described in the article KB968749.

Currently, we don’t have any automated process from SQL to patch any of the workaround / Office Add-in. You can achieve this using any deployment software like SMS [Microsoft Systems Management Server].