Loading
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]

  • 0_H Yamanishi (Flexera Software)

    Can you follow the steps below and see if the problem is reproduced?

     

    [LIST=1]

     

    • Create a new InstallScript MSI project in IS 2010.
    • Add a connection in the SQL Scritps view.
    • Build and run the setp.
    • Click the Browse button the next to the Server combo box.
    • Observe the SQLBrowse dialog.
    Expand Post
  • We found the issue: it was in initializing the SQL.

     

    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.
    Expand Post

Loading
SQLBrowse empty