Решается следующая задача: получение списка доступных серверов SQL Server.
Для решения используется внешняя сборка COM 'Microsoft SQLDMO'(Interop.SQLDMO.dll)
Код следующий:
serverComboBox.Items.Clear(); //Clearing ComboBox
// create a SQL Distributed Management Objects (SQL-DMO) application object
SQLDMO.Application dmo = new SQLDMO.Application();
// retrieve the available servers
SQLDMO.NameList serverNameList = dmo.ListAvailableSQLServers();
// iterate over the collection of available servers
for (int i = 0; i < serverNameList.Count; i++)
{
if (serverNameList.Item(i) != null)
serverComboBox.Items.Add(serverNameList.Item(i));
}
При добавлении ссылки на сборку в solution на моем компьютере все работает нормально.
Проблема заключается при запуске программы на другом компьютере.
Вылетает следущий exception:
Retrieving the COM class factory for component with CLSID
{1002.........} failed due to the following error: 80040154
Подскажите, как можно решить данную проблему, т. е. как сделать, чтобы программа запускалась не только на моем компьютере, а на любом компе, где стоит Framework, скопирован exe-шник и dll-ка.
А может, вы подскажете другое решение поставленной задачи без использования COM.