Создание Windows-приложений на основе Visual C#


              

Добавление библиотеки .NET Framework


Скорее всего, на компьютере пользователя не будет библиотеки .NET Framework, необходимой для работы приложения, которое написано на C#. Пакет установки .NET Framework — размером1) около 23 Мб, называется dotnetfx.exe. В проекте в список зависимостей проекта автоматически включается файл dotnetfxredist_x86_enu.msm, который по умолчанию отмечен как исключенный (excluded) из результирующего пакета установки (рис. 9.52).


Рис. 9.52.  В список зависимостей проекта установки входит файл библиотеки

Однако при снятии галочки Exclude и попытке включения библиотеки в пакет установки возникает ошибка:

dotNETFXRedist_x86_enu.msm must not be used to redistribute the .NET Framework. Please exclude this merge module.

Скорее всего, вначале предполагалось включать таким образом .NET Framework в состав инсталляций Но сейчас этот merge module используется только с одной целью: он предотвращает автоматическое включение в проект некоторых DLL, входящих в CLR.

Итак, сейчас .NET Framework не может быть объединен с пакетом установки вашей программы непосредственно в среде Visual Studio .NET. Однако существует несколько способов включения библиотеки в состав дистрибутива.

При компиляции пакета установки в папке Release проекта создается три файла – NameApplication.msi, Setup.exe и Setup.ini. NameApplication.msi — это основной файл Windows Installer 2.0, содержащий все необходимые для установки приложения файлы. Setup.exe — программа, предназначенная для запуска файла .msi. С помощью этого файла устанавливается дополнительное программное обеспечение, необходимое приложению. И, наконец, Setup.ini — это конфигурационный файл приложения Setup.exe.

Установка приложения не начнется, пока Windows Installer не определит2) на компьютере пользователя установленный .NET Framework. Этот порядок можно изменить с помощью утилиты bootstrapper.exe, заменяющей существующий setup.exe на новый, который позволяет устанавливать .NET Framework на компьютер пользователя. Свойству Bootstrap проекта установки устанавливаем значение None (см. рис. 9.37) — в результате при компиляции создастся только файл .msi. Теперь извлекаем из архива утилиту bootstrapper.exe в папку Release c файлом .msi. Также в эту папку помещаем пакет установки .NET Framework — dotnetfx.exe. В результате в папке будет четыре файла — .msi, setup.exe, setup.ini и dotnetfx.exe. Открываем файл setup.ini и меняем его содержимое следующим образом:

  • "Msi=FxCopSourceSetup.msi" изменяем на Msi=ВашMSIФайл.msi;
  • удаляем комментарий со строки 'FxInstallerPath=c: (нужно удалить символ ') и изменяем на расположение файла dotnetfx.exe. Например, если dotnetfx.exe расположен в том же каталоге, что и setup.exe, то вместо адреса нужно написать FxInstallerPath=.

После завершения этих действий пакет установки будет готов. Если Windows Installer обнаружит предыдущую версию .NET Framework или не обнаружит ее вообще на машине пользователя, то он ее обновит или установит.

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

Я не привожу утилиту dotnetfx.exe из-за ее значительного размера, ее новую версию можно найти на официальном сайте Microsoft3).



Содержание  Назад  Вперед