cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Pungero
Level 2

Error updating SQL Server database

Hi guys,

I'm maintaining an installscript project which contains SQL components which should be implemented to MS SQL Server Express databases. Everything has worked flawlessly for years until a week or two ago SQL Server 2012 Service Pack 3 GDR (KB 3194721) was introduced via Windows update ( https://www.microsoft.com/en-us/download/details.aspx?id=54189 ).

After this update whenever we try to run our installer, the following error appears when trying to connect to SQL server:
SQLRTConnectDB function caused an error: The version of (local)\DATABASE present does not meet this setup's minimum requirements. This installation requires Microsoft SQL Server 11.00.2100, 9.00.1399, 10.00.1600, 10.50.1600, 10.00.2531, 9.00.4035, 9.00.3042, 9.00.2047 or later.

This error appears always at least with 64 bit Windows 7 machines. I tried to modify the values in database requirements to meet the current database version 11.0.6567 to no avail. There is a log entry in SQL server indicating a successful login. Is the installshield simply unable to read the version correctly?

Has anyone had similar issues or can you suggest any workarounds to get my installers running again? I'm currently using InstallShield 2015 Premium but I supposeI can upgrade to newer version if needed.

Thank you in advance 🙂

BR,

Pungero
Labels (1)
0 Kudos

(4) Replies
Pungero
Level 2

Ok, apparently the issue was caused by MSSQLServer, which had changed the format in which the version number was returned when queried and installshield 2015 couldnät interpret that. It seems to be fixed in 2016.
0 Kudos
DLee65
Level 13

I am seeing this behavior with Service Pack 2 installed as well.
The setup shows the following error:


1: Processing the SQL connection 'AMAZINGCHARTS'...
1: Determining if there is at least one SQL script scheduled to execute under the connection...
1: The SQL script 'SqlScript.sql' is scheduled to execute. Note that the final decision will be made later if you have a schema version specified for this script. Script Execution=RunOnInstall, Action=Install, Component State=Install, Schema=
1: The SQL script 'SqlScript1.sql' is not scheduled to execute. Script Execution=RunOnUninstall, Action=Install, Component State=Install, Schema=
1: Attempting to establish the SQL connection... Server: (local)\AMAZINGCHARTS, Database: master
MSI (s) (90:28) [10:39:23:998]: Executing op: ActionStart(Name=StartServices,Description=Starting services,Template=Service: [1])
1: SQL version requirements not met: (local)\AMAZINGCHARTS. This installation requires Microsoft SQL Server 11.00.2100, 11.00.2100, 9.00.4035, 10.00.1600, 10.50.1600 or later.
MSI (s) (90:28) [10:39:24:014]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=1300000)


The registry for this instance shows:
Version: 11.2.5058.0
SP: 2

We are nearing a product release and upgrading from IS2015 to IS2016 is not a desirable option. Can anyone verify this problem?

EDIT: Just found this Flexera ticket:
https://flexeracommunity.force.com/customer/articles/en_US/ISSUE/Error-27504-SQL-version-requirements-not-met-This-installation-requires-Microsoft-SQL-Server-11-00-x-or-later

I tested the implementation of the recommended fix in our installer and it works.
0 Kudos
chad_petersen
Level 9

The other day I was comparing - I believe it was the 2014 to 2015 versions - of the ISSQLSrv.dll that comes with InstallShield. It is used to run the SQL Scripts and other SQL functions like validation. I noticed it had also changed internally from using

SELECT @@VERSION

to

SELECT SERVERPROPERTY('ProductVersion')

It seems to be a better choice when all you want to know is the version of SQL Server running on that server. Much more concise information that it returns.

Good job finding that Flexera ticket!!

Chad
0 Kudos
DLee65
Level 13

chad.petersen wrote:
The other day I was comparing - I believe it was the 2014 to 2015 versions - of the ISSQLSrv.dll that comes with InstallShield. It is used to run the SQL Scripts and other SQL functions like validation. I noticed it had also changed internally from using

SELECT @@VERSION

to

SELECT SERVERPROPERTY('ProductVersion')

It seems to be a better choice when all you want to know is the version of SQL Server running on that server. Much more concise information that it returns.

Good job finding that Flexera ticket!!

Chad


Great information Chad.
I am only seeing this in my IS2015 project because it is a project upgraded from IS2013, and it appears that this is something that doesn't change during upgrade.
0 Kudos