0

Я пытаюсь создать настройку веб-приложения через проект визуальной студии. База данных, требуемая для приложения, также устанавливается в настройке в качестве настраиваемого действия. Пользователь не предоставляет имя пользователя и пароль для подключения базы данных. При настройке настраиваемого действия необходимо подключить базу данных через проверку подлинности Windows. Но когда он пытается подключиться к базе данных, он бросает исключение - невозможно подключиться к базе данных. Примечание: веб-настройка устанавливается с повышенным доступом. Предоставьте решение для подключения базы данных через проверку подлинности Windows из веб-настройки «пользовательское действие».Как подключить mssql от установщика MSI через проверку подлинности Windows

ответ

2

Проблема, скорее всего, что пользовательские действия в Everyone VS установить запуск с системной учетной записью, а не учетной записи пользователя Установка в. Бьюсь об заклад, DB не позволяет SYSTEM делать с ней что-то.

Они работают как система, потому что это то, что необходимо для их поднятия. Если вы посмотрите на документы за столом CustomAction:

http://msdn.microsoft.com/en-us/library/aa368069(v=vs.85).aspx

VS генерирует те, которые имеют msidbCustomActionTypeNoImpersonate бит. Другие инструменты позволяют вам сказать, хотите ли вы олицетворять (от пользователя установки) или нет, но VS нет, поэтому вам нужно будет использовать редактор MSI, например Orca, для редактирования таблицы CustomAction после того, как вы определили правильное пользовательское действие. Однако он не будет работать повышенным. В долгосрочной перспективе, если вам нужна эта степень контроля, над настройками вы должны искать другой инструмент для создания настроек.

+0

Я пытаюсь отредактировать msi с orca. Но не удалось найти настройки msidbcustomactiontype. В каком месте я могу найти msidbcustomactiontype -> олицетворять. Если его нет, могу ли я добавить его в качестве дополнительного элемента? – amesh

+0

Посмотрите на документы для таблицы CustomAction, http://msdn.microsoft.com/en-us/library/aa368062%28v=vs.85%29.aspx получите Orca и отредактируйте файл MSI, таблицу CustomAction и тип содержит этот бит, как в документах по ссылке в моем ответе. – PhilDW

+0

Я изменил значение столбца типа от 3073 (повышенного) до 1025 (вылившийся пользователь входа). Msi удалось подключить базу данных через проверку подлинности Windows. Но мне нужно выполнить несколько операций в рамках пользовательских действий, которым нужны привилегии администратора. Я планирую разделить пользовательские действия на два и олицетворять тот, который создает базу данных. Но мне нужно выполнять индивидуальные действия один за другим. Как настроить последовательность выполнения для пользовательских действий в веб-настройке visual studio? – amesh

1

Вы хотите использовать доверенную аутентификацию. Эта строка подключения позволит молчаливой логин к SQL Server:

Provider=SQLNCLI10;Server=[ServerName OR ServerName\InstanceName]; 
Database=myDataBase;Trusted_Connection=yes; 
+0

Я уже использую строку подключения с доверенным соединением = true. В качестве альтернативы я также попытался интегрировать security = sspi. Оба не помогают подключать базу данных. Я подозреваю привилегию процесса, который выполняет установщик msi. – amesh

+0

Является ли процесс, выполняющий SQL-скрипт логином, кроме пользователя, запускающего установщик? –

+0

Процесс установки sql-скрипта может установить скрипт со строкой соединения с использованием имени пользователя и пароля. И строка подключения, которую я использую для проверки подлинности Windows, работает нормально, если мы подключаемся из любого обычного приложения. Имеет ли провайдер, который вы дали с ответом -sqlncli10, какое-либо значение? Я использую sqlprovider – amesh