View Full Version : SQL Express Prerequisite

07-08-2008, 06:59 PM
I'm trying to use the new feature conditional pre-reqs to install SQL Express and I'm having a little issue. I created a dummy install to test with and I'm running in to some issues.

First, my test machine has SQL server(Non-express) installed already. I'm assuming installing Express on top triggered a reboot request, but the installation just dissapears after the SQL Express pre-req. Rebooting manually will kick it back off(SetupResume). I haven't investigated that too much as it's not a big deal. The UI didn't handle this very gracefully by default though.

The main issue is trying to get it to install without further user interaction. I used the following command line on the pre-requisite:

/qn addlocal=all instancename=INSTANCENAME

The setup seems to complete successfully and SQL Express is installed, but my MSI reports an error saying, "The installation of Microsoft SQL Server 2005 Express SP2 appears to have failed. Do you want to continue the installation?"

The error logs for SQL setup(C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG) report no issues. The MSI log for my setup report the following:

Action 16:36:51: Installing Microsoft SQL Server 2005 Express SP2. Installing Microsoft SQL Server 2005 Express SP2
MSI (c) (64!2C) [16:36:51:046]: PROPERTY CHANGE: Adding ISPREREQDIR property. Its value is 'C:\Documents and Settings\Jesse\Desktop\Temp\ISSetupPrerequisites\Microsoft SQL Server 2005 Express SP2\'.
The installation of Microsoft SQL Server 2005 Express SP2 appears to have failed. Do you want to continue the installation?
InstallShield 16:42:29: *** Prerequisites complete; return code 2
InstallShield 16:42:29: Destroyed Window {E9CB9FBC-3665-46D0-BEED-FC6A6DDB89ED}
Action ended 16:42:29: ISInstallPrerequisites. Return value 3.
MSI (c) (64:78) [16:42:29:078]: Doing action: SetupCompleteError
Action 16:42:29: SetupCompleteError.

I've tried a few different things, but can't seem to figure this out. Has anyone else gotten this to work successfully?

07-09-2008, 08:13 AM
Hmm, this sounds familiar. I believe we had to change the test for if the SQL instance is already installed. I am going to attach a modified version of our PRQ file for you to examine. I know ours is working other than an annoying message box coming up saying it is going to start installing our application again when it starts to install the feature prerequisite.

I think I had to tell it to ignore the error code and continue because on certain operating systems it would return failure even though the install worked. If it is important to test if the instance is installed properly to continue the setup then create an error custom action that tests for the instance.

NOTE: the attached file has been renamed from PRQ to TXT so that it can be uploaded to the forum. Just rename it to PRQ to view in the Prerequisite editor.

07-09-2008, 12:25 PM
Thanks. It would appear the main issue was not changing the condition when changing the instance name. Looking at your prq made that more obvious.

I'm still not completely sure why it just "dies" on my machine SQL server already installed, but that's probably a situation that can just be avoided.

More testing to go, but it's looking better.

07-18-2008, 09:33 AM
Jesse, thank you for starting this thread, DLee, THANK YOU for providing the solution!!

This has been driving me CRAZY for weeks! I'm using IS 2008 Express, and I couldn't figure out why it kept saying it failed at the end either, even though it was successfully installed.

The answer was in the condition - I should have been checking for my instance name specifically.

Again, THANK YOU! :D

07-26-2008, 09:47 AM
Hi All,

I tried to use Dan's prq file and install SQL Express sp2 in a XP machine.
Although SQL Express installed successfully, at the end Install shield gives an error stating the failure to install SQL Express.

I am using IS 10.5

Can some one help with this regards.


07-28-2008, 07:10 AM
My guess is that you modified the PRQ to use your INSTANCENAME value but you never modified the conditions which search if the instance exists. Since my conditions are searching for a XMAP6 instance my conditions will not work for you. Remember your conditions MUST evaluate to true AFTER you have installed your instance. If not then the installer returns a failure message.

08-07-2008, 05:06 PM

Is it possible that the INSTANCENAME value be set to a public property? I set it on my commandline to ... INSTANCENAME=[PROPERTYABC]. I also change under the Condition Tab to reflect that same changes. It now checks for HKLM\Software\Microsoft\Microsoft SQL Server\[PROPERTYABC].
The instance was created/installed correctly because I checked it on the registry. The problem that I have is that it pops up an error that it fails to install SQL Express. Is the structure on my Condition correct?


10-06-2008, 06:09 PM
The answer was in the condition - I should have been checking for my instance name specifically.

I've been getting the error message "The installation of Microsoft SQL Server 2005 Express SP2 appears to have failed. Do you want to continue the installation?". But the installation did install correctly and my application is able to use work correctly.

It seems that I too have failed to correctly check a post-SQL Express-install condition. But how to do check for the instance name? Are you doing it in code or with at Redistruibutable level?

10-24-2008, 06:46 AM
start /wait SQLEXPR.EXE /qn INSTANCENAME=<Instancename>

Try this option

10-31-2008, 06:47 AM
I'm new to installation development and I'm having the same problem that others here seem to be having. I am adding the SQL Server 2005 Express prerequisite to my install. When I run it, it completes the installation of SQL, but then gives me the message "The installation of Microsoft SQL Server 2005 Express SP2 appears to have failed. Do you want to continue the installation?". I'm attaching my prerequisite. Can anyone tell me why this would be happening? It seems as if the install is not receiving a confirmation of success or something. Thanks.

10-31-2008, 09:59 AM
I found out what my problem was. After the SQL install "appeared to fail", I checked the event log and found this warning message: "WMI ADAP was unable to create the object Win32_PerfFormattedData_MSSQLSERVER_SQLServerBufferManager for Performance Library MSSQLSERVER because error 0x80041002 was returned". After digging further, I realized that the WMI classes were missing from the machine. These classes are actually included in the SQL express install. However, I was only installing the client, replication, and connectivity. I changed the ADDLOCAL to ADDLOCAL=ALL. This resolved the issue because the WMI classese are now being installed as well.

11-01-2008, 12:20 PM
This is how Tech Support answered this issue with me.

The Setup.exe checks for the prerequisites conditions once the prerequisite is installed. Since you are selecting a new instance name, and the condition checks for the default instance name, it reports that Sql Express installation has failed. You can override this message prompt by going to the prerequisite editor and modifying the 'Behavior' tab for the Sql Express 2005 Sp2 prerequisite. Use the dropdown for 'If, after installing the prerequisite, the conditions still indicate that it is required", and select 'Continue Setup' there.