Использую что-то вроде
string parameters;
if(trustedConnection)
parameters = string.Format("DSN={0}\0Database={1}\0Server={2}\0Trusted_Connection=Yes\0\0",
dsnName, database, server);
else
parameters = string.Format("DSN={0}\0Database={1}\0Server={2}\0User={3}\0Pwd={4}\0Trusted_Connection=No\0\0",
dsnName, database, server, userName, password);
if (SQLConfigDataSource((IntPtr)0, 4, driverName, parameters))
На Windows 7 не создает System DSN. Стоит ли искать решение или это просто невозможно?
Например по причине невозможности дать права администратора ClickOnce приложению.
Здравствуйте, henson, Вы писали:
H>Использую что-то вроде
H>H> string parameters;
H> if(trustedConnection)
H> parameters = string.Format("DSN={0}\0Database={1}\0Server={2}\0Trusted_Connection=Yes\0\0",
H> dsnName, database, server);
H> else
H> parameters = string.Format("DSN={0}\0Database={1}\0Server={2}\0User={3}\0Pwd={4}\0Trusted_Connection=No\0\0",
H> dsnName, database, server, userName, password);
H> if (SQLConfigDataSource((IntPtr)0, 4, driverName, parameters))
H>
H>На Windows 7 не создает System DSN. Стоит ли искать решение или это просто невозможно?
H>Например по причине невозможности дать права администратора ClickOnce приложению.
Проблему удалось частично решить после выноса кода создания DSN в отдельное консольное приложение и его запуск из ClickOnce приложения через Process.Start
Однако на Windows x64 DSN создается в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ODBC, а не в HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC как оно нужно
Может кто сталкивался и знает как можно переключиться?