Можно ли динамически создавать экземпляр Sql Server вместе с установкой? - PullRequest
0 голосов
/ 28 июня 2011

Мой друг сказал мне, что их компания создала одно программное обеспечение, которое загружает сервер SQL на лету при установке exe-файла и даже устанавливает сервер SQL и присваивает имя экземпляру с некоторым именем по умолчанию.На самом деле у них есть приложение, которое является независимым, и сервер SQL устанавливается динамически.Данные не хранятся централизованно на сервере.Я понятия не имел, как они это сделали.Это действительно возможно?Как мы можем это сделать?

Ответы [ 6 ]

2 голосов
/ 28 июня 2011

Думаю, это не так уж сложно. Сначала используйте класс HttpWebRequest, чтобы выгрузить установщик из Microsoft, а затем следуйте указаниям по установке для установки SqlServer из командной строки , запустив его как отдельный процесс и передав соответствующие параметры. Это когда вы хотите сделать это из вашего программного обеспечения.

В противном случае это зависит от используемого вами установщика - но большинство из них могут быть запрограммированы для загрузки файлов и выполнены с заданными параметрами командной строки.

1 голос
/ 28 июня 2011

Вы можете добавить класс установщика в проект развертывания, как показано ниже.

enter image description here

Add Sql server exe in the deployment project.

Add the commit event in this class like below.

public override void Commit(IDictionary savedState)
        {
            try
            {
                base.Commit(savedState);
                Process p = System.Diagnostics.Process.Start("Your path of sql server exe");
                if (!p.HasExited)
                {
                    p.Refresh();
                }
                while (!p.WaitForExit(1000)) ;

            }
            catch (Exception)
            {
                throw new InstallException();
            }
            finally
            {
                startuppath = null;
            }
        }

Вы также можете попробовать использовать предварительные условия сервера sql в своем проекте развертывания в соответствиик приведенному ниже диалоговому окну предварительных условий.

enter image description here

1 голос
/ 28 июня 2011

Да, вы можете сделать это, установив необходимые условия для вашего установщика.

  1. Добавьте тип объекта «Установка и удаление» в Исследовании решения. Выберите проект установки и щелкните правой кнопкой мыши, чтобы открыть контекстное меню.

  2. Затем нажмите пункт меню «Свойства». Откроется «Страница свойств установки», в которой нажмите кнопку «Необходимые условия», после чего откроется новое диалоговое окно, и там вы сможете выбрать «SQL-сервер» в качестве необходимых условий для установки.

0 голосов
/ 28 июня 2011

Этот метод называется автоматической установкой или автоматической установкой.См. здесь полное руководство по этому вопросу.

0 голосов
/ 28 июня 2011

Вы можете автоматизировать практически каждую установку.Вы можете взглянуть на MSDN Library .Вероятно, они загружают экспресс-версию сервера sql - я думаю, что с каждым другим выпуском возникают проблемы с лицензированием.

0 голосов
/ 28 июня 2011

Я полагаю, что сервер sql устанавливается с использованием MSI.

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

...