Page 1 of 2

MS SQL Server & Windows Vista

Posted: Mon Nov 20, 2006 3:57 am
by andrejzr
Hello,

When testing my installer on Windows Vista, My MS SQL Server action is not working. I made the same tests with the sample install script ("SQL Server Connection"), it does not work also.

Here are some more details about the environment:
- Windows Vista (RTM)
- SQL Server 2005 Express
- InstallAware 6.07


When running the installation, connection to the database fails.

When running SQL Server Manager or another application, which connects to the database, things are working OK. I am running the setup locally, so remote connections are not used.

Do you think this might be related to Vista, to MS SQL Server plugin, to my install script?

If you have any hint how to further diagnose this, I am willing to do whatever you say.


Thanks in advance
Andrej.

Posted: Mon Nov 20, 2006 6:13 am
by MichaelNesmith
AFAIK, you need to have SQL 2005 with Service Pack 2, which is not even released yet, for correct SQL Server Express functionality on Vista.

Posted: Mon Nov 20, 2006 9:22 am
by andrejzr
Hello Michael,

Thank you for the quick answer. I will try with SQL Express SP2 CTP version.

But, when I use another SQL Server from the Vista machine, this should work fine, shouldn't it? The IA's MS SQL Server actions does not want to connect, but when running another application (using Delphi ADO access), the connection succedes without any problem.

Do you see any way how to find a reason, why the installer's action fails? I know that Vista is not out there yet, but we are now focusing on the product to be ready for it, and we will also certify it later for Vista.

Your support is highly appreaciated.

Thanks
Andrej

Posted: Mon Nov 20, 2006 10:32 am
by MichaelNesmith
It should definitely succeed in connection attempts - I think it might be related to other SQL connection issues frequently reported and resolved on this forum. Do let us know if there is a Vista specific issue that you cannot resolve and step-by-step instructions to reproduce.

Issue Remains

Posted: Thu Feb 15, 2007 12:32 pm
by tltaylor76
I am running Windows Vista and have installed the SQL Server Express SP2 CTP. Regardless of how you attempt to authenticate, it never will when SQL Server Express is installed on the Vista machine.

I CAN however, authenticate through code with no problem. The issue only seems to come through the InstallAware setup when authenticating SQL Server.

Just FYI, if you run the installation on the Vista machine and attempt to authenticate a SQL Server NOT installed on the Vista machine, it will work.

To reproduce do the following:

1. Install SQL Server Express SP1 or SP2 CTP on the Windows Vista machine.

2. Within an InstallAware installation, attempt to authenticate SQL Server Express using the MS SQL Server Script execution line providing nothing but the authentication properties and GO in the code.

I have tested this over and over again before posting just to make sure that there was some type of issue. The issue could be me :) and any direction would be appreciated. Thanks.

Posted: Fri Feb 16, 2007 7:54 am
by MichaelNesmith
You may need to open up a firewall port or two - as InstallAware connects through the network directly.

You can also try to use the Alternate SQL Server plug-in.

Please keep in mind that we do not support beta products. If this issue is not resolved when SQL Server Express SP2 is officially released, you can expect to see a fix very quickly. Until then, please tell us if opening a firewall port works (described on this forum), and if Alternate SQL Server plug-in works.

Posted: Fri Feb 16, 2007 8:06 am
by tltaylor76
The firewall is disabled. In fact, I have firewalls disabled through a group policy on the network to prevent this type of thing from happening. You mentioned an alternate method. I guess I do not know about this...what is the alternate method?

Posted: Fri Feb 16, 2007 8:09 am
by MichaelNesmith
Download and install and update your scripts to use the new Alternate SQL Server plug-in available free from the Plug-Ins section of this forum.

Posted: Fri Feb 23, 2007 7:09 am
by neillans
You may also need to check the configuration of SQL Server; specifically, check the Agent and Browser are running.

The browser is needed for network connectivity, even if the protocols are enabled.

Andy

Posted: Fri Feb 23, 2007 10:21 am
by tltaylor76
You may also need to check the configuration of SQL Server; specifically, check the Agent and Browser are running.


Thanks for your input, but this is unrelated to the problem. The SQL Servers is located, can be pinged, is setup to accept TCP/IP connections on port 1433, etc... and InstallAware can see the SQL servers and even returns the SQL Server in a list of available servers....it just cannot be authenticated. I have confirmed that this is definitely an issue within InstallAware at the moment on a Vista machine. I wrote a .NET installer class work around to get around the issue at the moment.

Posted: Fri Feb 23, 2007 10:28 am
by neillans
Hmm.

I've just checked the SQL plugin in IA 6.24, and had no problems connecting a SQL Server 2005 Enterprise server, installed as a named instance - either locally or remotely - using standard authentication as you describe.

However, I should stress, the method of connection that IA uses does require network connectivity.

Have you updated to a more recent build? If so, and the problem persists, I would like to work with you to narrow this down and get it resolved.

Posted: Mon May 21, 2007 7:05 pm
by RobertKozak
Andy,

I am having the same problem. No matter what I try Microsoft SQL Server Script will not authenticate against a Vista Client. It works great with no problems in XP.

Detect MS SQL Instances does work in Vista. It will return the ServerName and Instance.

Do you have any more information on this?

Also on a related note Detect MS SQL Instances will not return the Instance name on Windows Server 2003.

All of these test were run against MSDE and SQL Server 2005 Express.

-- Robert

Never been resolved

Posted: Tue May 22, 2007 8:54 am
by tltaylor76
This issue has never been resolved and has been a point of frustration ever since I posted on this thread back in February. As of yet there has been no resolution to my knowledge and the issue still exists. This issue has been confirmed by some other developers that I know that are using InstallAware.

Posted: Tue May 22, 2007 12:10 pm
by RobertKozak
Trent,

You mentioned earlier that you had a .net installer class that worked. Can you PM the code or details?

-- Robert

Workaround

Posted: Tue May 22, 2007 1:21 pm
by tltaylor76
Actually I had to quit using the .NET Installer class and move entirely over to a command line EXE which does the same thing. InstallAware does not reliably execute the .NET installer classes with their InstallUtil app which caused a lot of frustration and support issues in the field. However, the DO reliably execute an EXE....so I moved all of the Installer Class code into an EXE which accepts a number of different parms and it was ultimately cleaner anyway because InstallAware does not allow more than one Installer class per assembly.

If you are familiar with .NET I just called the EXE and wrote the results to a registry value that InstallAware could then read.

Dim loConn As New SQLConnection(YourConnectionString)
Dim llReturn As Boolean = True

Try
loConn.Open()
loConn.Close()
Catch ex As Exception
llReturn = False
EndTry

'-- Determine the results and write the according registry values
If llReturn Then
'-- Just write to the users registry in the Software key somewhere that
' that the test succeeded
Else
'-- Just write to the users registry in the Software key somewhere that
' the test failed
End If

Note: To pass over the form information that was captured within a custom InstallAware form, I wrote to an INI file because the registry values are not committed until Apply Install command. So I read in the INI values to create the connection string and then wrote the results back to a registry value so that InstallAware could read those values and then do something with it.