Как указать строку подключения сервера SQL при установке - PullRequest
2 голосов
/ 21 октября 2011

Я устанавливаю приложение c # windows в клиентском месте.В приложении мне нужна строка подключения.Как это можно настроить при установке.Также я хочу упаковать настройки sql express и .Net Framework вместе с настройкой моего приложения.Возможно ли это?

Ответы [ 4 ]

4 голосов
/ 21 октября 2011

Если вы используете установщик Visual Studio, вы можете добавить настраиваемую страницу в установщик и добавить настраиваемое действие, которое обрабатывает результат этой настраиваемой страницы. Например, в VS2010 Professional:

  1. Создание проекта установки установщика Visual Studio
  2. Добавьте выходные данные проекта в установщик, добавьте ярлыки и настройте установщик по своему вкусу. ( т. Е. Пока предположим, что не будет настраивать строку подключения для вас и настраивать все остальное так, как вы этого хотите. Теперь подтвердите выбор источника управления, так что вы можете повторить попытку, если у вас проблемы )
  3. Щелкните правой кнопкой мыши проект установки в обозревателе решений и выберите «Просмотр»> «Интерфейс пользователя»
  4. Щелкните правой кнопкой мыши на «Пуск» (в окне «Интерфейс пользователя», появившемся в результате шага 3) и выберите «Добавить диалог»
  5. Выберите «Текстовые поля (A)», «Текстовые поля (B)» или «Текстовые поля (C)» и нажмите кнопку «ОК» (насколько мне известно, не имеет значения, какой из A / B / C вы выбрать).
  6. Нажмите «Текстовые поля (A)» в окне «Интерфейс пользователя» и перетащите его на выше «Подтверждение установки», так как вы, вероятно, хотите, чтобы диалоговое окно строки подключения отображалось до окно «мы готовы к установке, вы уверены»?
  7. Щелкните правой кнопкой мыши «Textboxes (A)» и выберите «Окно свойств»
  8. Настройте свойства (они появятся на вкладке «Свойства», расположенной под / рядом с Обозревателем решений, чтобы:
    1. Установите для Edit2Visible, Edit3Visible и Edit4Visible значение false
    2. Edit1Label для «Строка соединения:» (или формулировка на ваш выбор)
    3. Edit1Property для «SQL_CONNECTION_STRING» (или имя по вашему выбору - это имя, на которое будет ссылаться настраиваемое действие)
  9. Создайте и запустите установщик, чтобы убедиться, что он по-прежнему устанавливается правильно.

Следующее, что вам нужно сделать, это написать пользовательское действие для сохранения строки подключения в файле app.config. Вопрос Настройка App.Config в качестве настраиваемого действия в проекте установки охватывает этот вопрос, поэтому я оставлю вам его на прочтение и использование.

Насколько я знаю, нет способа встроить зависимости в установщик Visual Studio, но я бы посоветовал отменить его как еще один вопрос, поскольку у вас действительно есть два вопроса в вашем вопросе =)

1 голос
/ 17 января 2017

Ответ Роба был чрезвычайно полезен, чтобы получить 2/3 пути к тому, что вам нужно. Я просто потратил некоторое время, чтобы найти свой путь в 1/3 финала, поэтому я надеюсь, что этот пост поможет вам разобраться быстрее, чем я:

Эта статья MSDN помогает объяснить, как создать настраиваемое действие: https://msdn.microsoft.com/en-us/library/d9k65z2d(v=vs.100).aspx

Чтобы связать все это вместе, после того, как вы создали проект Custom Action, как описано в статье MSDN, вам нужно добавить его в качестве действия для проекта развертывания:

  1. Щелкните правой кнопкой мыши по проекту развертывания и выберите «Просмотр» -> «Пользовательские действия»

  2. Щелкните правой кнопкой мыши «Установить и добавить настраиваемое действие»

  3. Дважды щелкните папку приложения
  4. Нажмите Добавить вывод и выберите выходные данные проекта Custom Action
  5. Щелкните правой кнопкой мыши на Commit и повторите («Add Custom Action», выберите выходные данные проекта Custom Action). Повторите для отката и при необходимости удалите.

Чтобы связать данные, введенные в мастере установки, с вашим кодом: Для каждого пользовательского действия, определенного выше (в папке Install, папке Commit и т. Д.), Выберите элемент Custom Action. В окне «Свойства» заполните «Данные пользовательского действия». Например, я указал некоторые поля текстового поля в своем пользовательском интерфейсе, чтобы иметь значения Edit1Property и Edit2Property CONFIGURATION_SERVER и DATABASE_NAME. Чтобы сделать их доступными для моего кода пользовательского действия, мои CustomActionData установлены на: / cfgServer = [CONFIGURATION_SERVER] / dbName = [DATABASE_NAME]

Затем в моем коде я могу получить значения, ссылаясь на: Context.Parameters [ "cfgServer"] или же Context.Parameters [ "DbName"] (обе возвращают строки, содержащие все, что ввел пользователь).

Мой код выполняется во время установки, и я написал метод для изменения файла .CONFIG, в котором хранятся настройки приложения, чтобы использовать значения, указанные пользователем.

0 голосов
/ 12 ноября 2018

Для установщика Visual Studio.

  1. Добавьте к вашему решению веб-проект установки Visual Studio Installer.
  2. Когда вы щелкаете правой кнопкой мыши по проекту, вы можете увидеть опцию Просмотр , есть опции для выбора Файловая система, интерфейс пользовательского интерфейса, Пользовательские действия .
  3. Сначала вам нужно выбрать Файловая система , затем щелкнуть правой кнопкой мыши Папка веб-приложения , затем добавить выберите Выход проекта , а затем Первичный вывод (убедитесь, что вы выбрали проект для развертывания).
  4. Затем вы должны выбрать Файлы содержимого , аналогично тому, как мы выбрали вывод проекта формы.
  5. Добавить поля пользовательского интерфейса
  6. Щелкните правой кнопкой мыши на настраиваемом действии, добавьте новое настраиваемое действие, затем передайте ему параметры.

Я сделал небольшую демонстрацию для этого. Это будет полезно Установщик Visual Studio для Интернета

0 голосов
/ 01 марта 2017

Ответ Робса верен, тогда вы должны передать данные настраиваемого действия первичному выводу настраиваемого действия. Это часть установщика. Теперь в классе установщика переопределите метод BeforeInstall класса установщика. Затем получите местоположение исполняемого файла методом GetExecutingAssembly (). После получения исполняемой сборки вам необходим файл application.exe.config, который считывает этот файл с помощью File.ReadAllText и изменяет параметры строки подключения, используя метод Replace string by, но вы должны добавить уникальные заполнители. в строке подключения по умолчанию для замены на эти заполнители. Затем снова запишите этот файл с помощью метода File.WriteAllText. Это приведет к успешному изменению строки подключения во время установки, и ваше приложение будет работать с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...