Опубликован: 11.09.2006 | Доступ: свободный | Студентов: 7645 / 472 | Оценка: 4.26 / 3.45 | Длительность: 30:46:00
ISBN: 978-5-9556-0080-2
Лекция 9:

Создание пакетов установки

Открываем меню изменения пользовательского интерфейса. Добавьте в раздел Start новое диалоговое окно Textboxes (A) и нажмите ОК (рис. 9.60).

Добавление диалогового окна

Рис. 9.60. Добавление диалогового окна

Размещаем добавленное окно под диалоговым окном Installation Folder (рис. 9.61).

Расположение добавленного окна

Рис. 9.61. Расположение добавленного окна

Устанавливаем следующие свойства окна:

Banner Text Add the data base name Укажите имя базы данных.
Body Text We need this data to create the Data base, that used by our program Эти данные необходимы для создания новой базы данных приложения на вашем сервере баз данных
Edit1Label Data Base Name Название базы данных
Edit1Property CUSTOMTEXTA1 Текст, вводимый пользователем

Свойствам Edit2Visible, Edit3Visible и Edit4Visible устанавливаем значение false.

В окне Solution Explorer нажимаем на кнопку Custom Actions Editor. В открывшемся окне выделяем папку Install и в контекстном меню выбираем Add Custom Action (рис. 9.62):

Добавление Custom Action

Рис. 9.62. Добавление Custom Action

В окне Select Item in Project в папке Application Folder нажимаем на кнопку Add Output. В Add Project output Group выбираем элемент Primary output и нажимаем OK (рис. 9.63).

Выбор Custom Action

Рис. 9.63. Выбор Custom Action

Свойству CustomActionData созданного элемента Primary Output from InstallerClass (Active) устанавливаем значение /dbname=[CUSTOMTEXTA1] (рис. 9.64).

Изменение свойств CustomActionData

Рис. 9.64. Изменение свойств CustomActionData

В результате у нас получилось приложение, состоящее из двух проектов. В окне Solution Explorer щелкаем правой кнопкой на названии проекта InstallerClass и выбираем пункт меню Build. Проделываем то же самое для проекта CustomActionSetup. В папке CustomActionSetup\Release появились файлы установки, запускаем Setup.exe. В процессе установки появляется окно для введения названия новой базы данных (рис. 9.65).

Определение названия создаваемой базы данных

Рис. 9.65. Определение названия создаваемой базы данных

После установки приложения появится новая база данных SQL — в этом можно будет убедиться, запустив программу Enterprise Manager из группы Microsoft SQL Server в меню "Пуск". В рассмотренном примере использовалась локальная база данных — для установки БД на компьютере пользователя необходимо указать сервер базы данных с помощью пользовательского интерфейса проекта.

На диске, прилагаемом к книге, вы найдете проекты InstallerClass и CustomActionSetup (Code\Glava9\ InstallerClass и CustomActionSetup).

Создание автозагрузочного диска

Если программа распространяется на компакт-диске, лучше всего сделать этот диск автозагрузочным — при его вставке в лоток автоматически запустится программа установки. Для этого в файле autorun.inf, получаемом из обычного текстового файла, указываем иконку autorun.ico и файл setup.exe для запуска (рис. 9.66).

Содержимое автозагрузочного диска

Рис. 9.66. Содержимое автозагрузочного диска

Для предоставления пользователю выбора программ из списка можно сделать html-страницу, с которой будут даваться гиперссылки на файлы установки setup.exe. программ. При размещении файла index.htm и иконки autorun.ico в корневом каталоге диска содержимое autorun.inf примет слендующий вид:

[autorun]
OPEN=explorer.exe index.htm
ICON=AUTORUN.ICO

На диске, прилагаемом к книге, вы найдете папку AUTORUN со всем содержимым для автоматического запуска программы установки (Code\Glava9\ AUTORUN).

Елена Дьяконова
Елена Дьяконова

При нажатии на Сумма в примере ArbitraryMethod из Лекция 7, VS 2013 выдается ошибка: 

Необработанное исключение типа "System.InvalidOperationException" в System.Windows.Forms.dll

Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления "lblResult" не из того потока, в котором он был создан.

Затем:

Необработанное исключение типа "System.InvalidOperationException" в mscorlib.dll

Дополнительные сведения: Для каждой асинхронной операции метод EndInvoke может вызываться только один раз.

Александр Сороколет
Александр Сороколет

Свойство WindowState формы blank Maximized. Не открывается почемуто на всё окно, а вот если последующую форму бланк открыть уже на макс открывается :-/