Меня убедили использовать установочные файлы Windows (msi) для установки моего нового приложения Windows Forms после того, как я задал здесь вопрос и получил отличные ответы (спасибо всем): Развертывание приложений .Net
Теперь у меня другой вопрос:
Моему приложению потребуется доступ к SQL Server для предоставления пользователям данных, а это означает, что строка подключения должна храниться в клиентском файле app.config.
Как мне с этим справиться?
Во время установки пользователь вводит строку подключения к этой базе данных? Как они получают строку подключения? В письме от администратора? Что делать, если администратор хочет использовать аутентификацию SQL и должен указать информацию о пользователе в строке подключения?
Итак, вы знаете, что приложение будет продаваться через Интернет, поэтому у меня нет доступа к администраторам или сети.
Какие-либо предложения?
Заранее спасибо.
Учтите, что информация о подключении может измениться в любой момент жизненного цикла приложения. Из-за этого время установки - не лучшее место для этого.
Чаще всего вы захотите запросить у пользователя эту информацию при запуске, если она еще не присутствует, или если она присутствует, но соединение / вход в систему не удается (с соответствующим сообщением об ошибке). После успешного входа в систему сохраните информацию в реестре или в любом решении для данных конфигурации приложения, которое вы используете. Вы также можете посмотреть на шифрование этих данных в целях безопасности, если считаете, что клиенты будут использовать индивидуальную аутентификацию.
Сохраните строку подключения в app.config зашифрованной, вы можете использовать собственное шифрование, или классы конфигурации в .Net имеют встроенные методы шифрования. Убедитесь, что вы используете что-то помимо машинного шифрования по умолчанию, чтобы администратор мог создать файл конфигурации и использовать что в его / ее локальной сети установить.
Как говорит Марк, проверяйте при запуске, есть ли действительное соединение, если не запрашиваете у пользователя метод подключения. Локальный администратор может запустить приложение, создать параметры конфигурации и развернуть их оттуда.
Росс