This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- IS_SQLSERVER_SERVER Combobox not populating with SQL Server 2008 instance names
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Mar 01, 2010
04:48 PM
IS_SQLSERVER_SERVER Combobox not populating with SQL Server 2008 instance names
I have this issue with Installshield 2008 but then I tried Installshield 2010 to see if it would have fix it but it dit not.
The problem is : when using the combobox linked to the property IS_SQLSERVER_SERVER (like the one in SQLLogin dialog), it does not populated it with my sql server 2008 instance.
I have one machine with only one sql server 2008 express installed with a named instance called SQLEXPRESSTEST.
I am able to reproduce the bug not only with my project but also with an empty test basic msi project.
Steps to reproduce the bug:
- Create a new basic msi
- Go To SQL Scripts view and create a new SQL Connection (so that you will have the MSSQLServer row in the ISSQLDBMetada table and also you will get your SQLLogin dialog where the problem occurs)
- Build your setup.
-Install your setup on a machine that ONLY has a SQL SERVER 2008 named instance.
- Click next, next , until you arrive at the SQLLogin dialog page, then you will have an empty combobox. Here I am expecting to see my SQL SERVER 2008 instance. Because the IS_SQLSERVER_SERVER is supposed to show your local database instance.
I have checked the log file:
Action start 17:08:41: ISSQLServerFilteredList.
MSI (c) (70:58) : Invoking remote custom action. DLL: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MSI47.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) (70!88) : 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.
1: CSQLServerList:: PopulateListBoxOrComboBox: Populating the IS_SQLSERVER_SERVER ComboBox.
MSI (c) (70!88) : Note: 1: 2262 2: ComboBox 3: -2147287038
1: CSQLServerList:: DoSQLServerList() ends.
Action ended 17:08:41: ISSQLServerFilteredList. Return value 1.
I have checked my registry under HKLM\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL to see if my instance name is there , and it is. ( I am assuming this is the place Installshield looks for the local database, please correct me if I'm wrong)
I have also tried changing the ISSQLDBMetadata row like Hidenori always suggest (Change the AdoDriverName column from "sqlolddb" to "sqlncli".
Change the DsnODBCName column from "{SQL Server}" to "{SQL Native Client}"
) Still doesnt work.
Is this an Installshield bug?
The problem is : when using the combobox linked to the property IS_SQLSERVER_SERVER (like the one in SQLLogin dialog), it does not populated it with my sql server 2008 instance.
I have one machine with only one sql server 2008 express installed with a named instance called SQLEXPRESSTEST.
I am able to reproduce the bug not only with my project but also with an empty test basic msi project.
Steps to reproduce the bug:
- Create a new basic msi
- Go To SQL Scripts view and create a new SQL Connection (so that you will have the MSSQLServer row in the ISSQLDBMetada table and also you will get your SQLLogin dialog where the problem occurs)
- Build your setup.
-Install your setup on a machine that ONLY has a SQL SERVER 2008 named instance.
- Click next, next , until you arrive at the SQLLogin dialog page, then you will have an empty combobox. Here I am expecting to see my SQL SERVER 2008 instance. Because the IS_SQLSERVER_SERVER is supposed to show your local database instance.
I have checked the log file:
Action start 17:08:41: ISSQLServerFilteredList.
MSI (c) (70:58) : Invoking remote custom action. DLL: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MSI47.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) (70!88) : 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.
1: CSQLServerList:: PopulateListBoxOrComboBox: Populating the IS_SQLSERVER_SERVER ComboBox.
MSI (c) (70!88) : Note: 1: 2262 2: ComboBox 3: -2147287038
1: CSQLServerList:: DoSQLServerList() ends.
Action ended 17:08:41: ISSQLServerFilteredList. Return value 1.
I have checked my registry under HKLM\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL to see if my instance name is there , and it is. ( I am assuming this is the place Installshield looks for the local database, please correct me if I'm wrong)
I have also tried changing the ISSQLDBMetadata row like Hidenori always suggest (Change the AdoDriverName column from "sqlolddb" to "sqlncli".
Change the DsnODBCName column from "{SQL Server}" to "{SQL Native Client}"
) Still doesnt work.
Is this an Installshield bug?
(8) Replies
‎Mar 02, 2010
09:49 AM
Do you think I could script it to go search for the named instances under HKLM\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL but then and populate the combobox with it.. but what about the default instances? Can you explain how the runtime works for that?
‎Mar 03, 2010
02:11 PM
I attached the InstallShield 2010 SP1 hotfix for this issue to this post. In order to apply the fix, you need to copy ISSQLSrv.dll to the C:\Program Files\InstallShield\2010\Redist\Language Independent\i386 folder, and SQLRT.dll to C:\Program Files\InstallShield\2010\Redist\Compressed Files\Language Independent\Intel 32 folder, and then rebuild your setup. Note that it is an unofficial fix as it is not fully tested by our QA team. So I would strongly recommend that you make a backup copy of the original files before applying it. Also, I filed the work order #IOA-000054153 so that it will be incorporated into the future versions of InstallShield.
Regards.
Regards.
‎Mar 04, 2010
11:28 AM
Unfortunately, we do not have plans on creating an InstallShield 2008 hotfix for this issue. Applying this InstallShield 2010 hotfix to InstallShield 2008 may work, but it is not recommended. Flexera Software provides no technical support for that case.
Regards.
Regards.
‎Apr 20, 2011
05:32 AM
Hello All,
I have created on basic msi setup project,There I am facing issue to setting the default target server name.When I arrive at the SQLLogin dialog page, then you will have an empty combobox. Here I am expecting to see my SQL SERVER instance. Because the IS_SQLSERVER_SERVER is supposed to show your local database instance.
I have also tried changing the ISSQLDBMetadata row suggested by Hidenori(from diffrent post) (Change the AdoDriverName column from "sqlolddb" to "sqlncli".
Change the DsnODBCName column from "{SQL Server}" to "{SQL Native Client}"
) Still doesnt work. and also I have addeed the sql native client as prerequisites.
I am using installshield 2011. And SQL express 2005.
Can anyone please help to set the default server name to local database instace name.
Help me as soon as possible.
Vinay MS
I have created on basic msi setup project,There I am facing issue to setting the default target server name.When I arrive at the SQLLogin dialog page, then you will have an empty combobox. Here I am expecting to see my SQL SERVER instance. Because the IS_SQLSERVER_SERVER is supposed to show your local database instance.
I have also tried changing the ISSQLDBMetadata row suggested by Hidenori(from diffrent post) (Change the AdoDriverName column from "sqlolddb" to "sqlncli".
Change the DsnODBCName column from "{SQL Server}" to "{SQL Native Client}"
) Still doesnt work. and also I have addeed the sql native client as prerequisites.
I am using installshield 2011. And SQL express 2005.
Can anyone please help to set the default server name to local database instace name.
Help me as soon as possible.
Vinay MS