
kris.vanherck1.5524905452667764E12 asked a question.
SQLBrowse empty
I upgraded a InstallScript MSI project from InstallShield 12 to 2010, now the SQLBrowse dialog is empty (no sql servers shown). Tested on 2 different machines on which i know there are running servers.
I created a new empty project in 2010, added a sql script and put the SQLBrowse dialog in the OnFirstUIBefore and it is also empty.
The upgraded project uses a filtered list (logging below), but even if the filtered list system doesn't work the new empty project should have shown servers.
So what changed between these versions :confused: Am i missing something in the project or should i be looking at the machines (firewall, antivirus,..) Strangely the InstallShield 12 projects have no problem populating the SQLBrowse dialog and are showing the servers correctly.
[CODE]MSI (c) (D8!94) [17:12:32:734]: PROPERTY CHANGE: Adding IS_SQLSERVER_INITIALIZED property. Its value is '1'.
Action ended 17:12:32: ISSQLServerInitialize. Return value 1.
MSI (c) (D8:0C) [17:12:32:750]: Doing action: ISSQLServerFilteredList
Action 17:12:32: ISSQLServerFilteredList.
Action start 17:12:32: ISSQLServerFilteredList.
MSI (c) (D8:0C) [17:12:32:750]: Invoking remote custom action. DLL: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MSI1FE.tmp, Entrypoint: ISSQLServerFilteredList
1: CSQLServerList::DoSQLServerList() begins.
1: CSQLServerList::DoSQLServerList: Checking if the ComboBox table exists.
1: CSQLServerList::ClearListBoxOrComboBox: Deleting items from the IS_SQLSERVER_SERVER ComboBox.
MSI (c) (D8!C4) [17:12:32:812]: Note: 1: 2262 2: ComboBox 3: -2147287038
1: CSQLServerList::DoSQLServerList: Loading database server metadata from the ISSQLDBMetaData table.
1: CSQLServerList::DoSQLServerList: Loading ODBC APIs from ODBC32.dll.
1: CSQLServerList::DoSQLServerList: Retrieving database server names on the network, and registered on the local machine.
1: CSQLServerBrowse::GetServerList() begins.
1: CSQLServerBrowse::GetServerList: Attempting to retrieve server names for Microsoft SQL Server.
1: CSQLServerBrowse::GetServerList: Retrieving local instance names of Microsoft SQL Server from registry.
1: CSQLServerBrowse::GetServerList: Retrieving alias names of Microsoft SQL Server from registry.
1: CSQLServerBrowse::GetServerList: Retrieving server names registered in system DSNs.
1: CSQLServerBrowse::GetServerList: Retrieving server names registered in user DSNs.
1: CSQLServerBrowse::GetServerList() ends.
MSI (c) (D8!C4) [17:12:32:828]: PROPERTY CHANGE: Adding IS_SQLSERVER_FILTERED_FLATLIST property. Its value is '(local)\AGENTEL,DSQUERY'.
1: CSQLServerList::PopulateListBoxOrComboBox: Populating the IS_SQLSERVER_SERVER ComboBox.
MSI (c) (D8!C4) [17:12:32:828]: Note: 1: 2262 2: ComboBox 3: -2147287038
1: CSQLServerList::DoSQLServerList() ends.
Action ended 17:12:32: ISSQLServerFilteredList. Return value 1.
[/CODE]
[LIST=1]
The old project used this:
//-- Standard init() for SQL --
//SQLRTInitialize( SUPPORTDIR ^ "SQLRT.ini");
//-- init() for SQL in case of MSI --
sDLL = SUPPORTDIR ^ "ISSQLSRV.DLL";
nResult = StreamFileFromBinary( ISMSI_HANDLE, "ISSQLSRV.DLL", sDLL );
UseDLL( sDLL );
//--
we replaced this with:
SQLRTInitialize2();
And it works now.