Вторник, 16.04.2024, 23:03
Приветствую Вас Гость | RSS

Лекции

Меню сайта
Форма входа
Категории раздела
ТАУ (Теория автоматического управления) [31]
лекции по ТАУ
Экология [151]
учебник
Бухгалтерский учет и налогообложение в строительстве [56]
Дементьев А.Ю. - Практическое пособие
Психология [104]
Пип
информатика [80]
с# Карли Ватсон
современные стулья [0]
новинки
Поиск

Главная » 2010 » Февраль » 11 » Установка приложений Windows
00:40
Установка приложений Windows
Установка приложений Windows
Одной из особенностей .NET является возможность осуществления инсталля-
ции с помощью обыкновенной команды хсору. Модули — это всего лишь некото-
рый набор файлов, и нет необходимости хранить информацию о конфигурации
модулей в реестре, из чего следует, что для инсталляции достаточно просто пере-
писать несколько файлов.
Ниже будет рассмотрен ряд причин, по которым не рекомендуется использо-
вать команду хсору для инсталляции приложений Windows. Для их установки хсору
может использоваться только в случае самых простых приложений. Для неболь-
ших приложений, инсталлированных лишь на некоторых системах, команда хсору
может оказаться вполне пригодной, однако для сложных приложений или прило-
жений, инсталлированных на большом количестве систем, приходится задумываться
о другом, более подходящем механизме инсталляции. Команда хсору не позволяет
регистрировать модули и отслеживать их местоположение; кроме того, она не мо-
жет воспользоваться возможностями Windows Installer Zero Administration Windows
(ZAW, инсталлятор Windows нулевого уровня администрирования), и, следователь-
но, какие-либо файлы могут быть непреднамеренно затерты, а также отсутствует
встроенная процедура для демонтажа приложения.
Инициатива компании Microsoft no созданию средств
администрирования нулевого уровня направлена
на предоставление системным администраторам возможности
автоматически обновлять и инсталлировать приложения
на клиентских системах, а также осуществлять
централизованное администрирование приложений.
Система Windows Installer обладает следующими преимуществами для установ-
ки приложений Windows:
• В процессе инсталляции пользователь может выбирать характеристики,
которые должны быть инсталлированы. Существует также возможность
последующей инсталляции дополнительных характеристик с помощью
заявки (advertisement) — в тот момент, когда возникает необходимость
в этих характеристиках.
• Если процесс инсталляции терпит неудачу, то происходит возврат
(rollback), т. е. система возвращается в состояние, в котором
она находилась на момент начала инсталляции.
• Если какие-либо файлы оказались испорченными, то легко провести
восстановление приложения (которое предполагает повторную
инсталляцию только испорченных компонентов).
Установка приложений Windows 455
• В специальном файле системы Windows Installer можно найти
исчерпывающую информацию о том, какие файлы подлежат
инсталляции и какие изменения будут внесены
в конфигурацию реестра.
• Есть возможность полного демонтажа приложений.
В этой главе мы будем рассматривать:
• Типы устанавливаемых в Visual Studio.NET проектов
• Возможности Windows Installer
• Создание Windows Installer Packages (пакеты инсталлятора Windows)
с помощью Visual Studio.NET
Что такое установка?
Пакет
Возможность А
i
Возможность В
Компонент 1
Установка — это процесс инсталляции приложений на системах, для которых
они предназначаются.
Модель обработки (Process Model) системы для работы с решениями компании
Microsoft (Microsoft Solutions Framework), к которой можно обратиться по адресу
http://www.microsoft.com/business/services/mcsmsf.asp, определяет модель об-
работки как жизненный цикл, состоящий из четырех этапов. Первый этап — это
получение общего представления о
приложении, когда четко формулируется
основная идея создаваемого решения.
Второй этап — этап планирования —
состоит из анализа и проработки реше-
ния. Третий этап — этап разработки
включает в себя выполнение основной
части разработки. Четвертый этап —
этап стабилизации, на котором не про-
изводится добавление каких бы то ни
было новых возможностей, а осуществ-
ляется окончательный поиск ошибок и
на сайт заказчика отправляется сначала
бета-версия, а затем и окончательный
вариант системы (см. рис. слева).
Между этими этапами лежат четыре принципиальных рубежа. Эти рубежи не
означают завершение фаз разработки, поскольку в процессе разработки приложе-
ния поставленные заказчиком цели могут измениться, а на более поздних этапах
может выясниться, что некоторые части системы работают не так, как предполага-
лось. Поэтому этап планирования может предполагать разработку рабочих прото-
типов, а на стадии разработки могут уточняться изначальные представления
о системе.
При правильном подходе необходимо думать об установке проекта
уже на ранних этапах жизненного цикла, поскольку возможные
стратегии установки могут оказывать влияние на саму разработку приложения.
Компонент 2 Возможность С
-1
Компонент 3
456 Глава 17
Типы проектов по установке
Открыв диалог Add New Project в Visual
Studio.NET, можно перейти в следующее
диалоговое окно, выбрав пункт меню Setup
and Deployment Projects (см. рис. справа).
В этом окне представлены типы про-
ектов и указано, какие действия над ними
могут совершаться:
• С помощью шаблона Cab Project
(кабинетный проект) могут
создаваться кабинетные файлы,
предназначенные для объединения
нескольких модулей в один файл
с последующим его сжатием.
Вследствие этого сжатия
web-клиент загружает с сервера
файлы меньшего объема.
'л!
_j v T,ual £&яс Projects
Cj V.«ud C# Projects
U V-Juji C-f r Projects
UJ-"tup г:Рго
_ j O:hc; Projects
v a Wiodows Installer p?oject to wfoidb fifes сел
Csb P? eject NSerge ffo&fe
Project
5e*up Wizard Web Setup
Project
Project wu b« Cffc<i*.ud at ОДВе^пжд C#>Dtfploy;nsri»:\5etupl.
• rowse...
Cancci Heto
Создание компонентов не является предметом рассмотрения
данной книги, поэтому мы. не будем изучать создание
кабинетных проектов. Информацию о создании .NET-компонентов,
подлежащих загрузке с сервера, можно получить из книги
"С# для профессионалов" (Professional C#), "ЛОРИ", 2003.
• Шаблон Merge Module Project (проект по объединению модулей)
используется для создания объединенных модулей для Windows Installer.
Объединенный модуль — это файл, предназначенный для инсталляции,
который может быть включен в мультипрограммные пакеты инсталляции
для инсталляторов компании Microsoft. Объединенный модуль может
создаваться для компонентов, инсталляция которых требует использования
более одной программы инсталляции, по^ле чего такой модуль может
включаться в пакеты инсталляции. Одним из примеров объединенного
модуля может служить сама система выполнения программ .NET:
она поставляется в виде объединенного модуля и, следовательно,
может быть включена в пакет инсталляции приложения.
Мы воспользуемся объединенным модулем в приложении,
которое будет приведено в качестве образца.
• Мы также воспользуемся шаблоном Setup Project (начальная установка
проекта). Этот шаблон применяется для создания Windows Installer
Package (пакет инсталлятора Windows), и является наилучшим способом
установки приложений Windows.
• Setup Wizard (мастер начальной установки) — программа,
позволяющая последовательно выбирать необходимые шаблоны.
Необходимо ответить на вопрос, что для вас является более
предпочтительным: создание программы начальной установки,
которая позволяет инсталлировать приложение, или
Установка приложений Windows -57
распространяемого пакета? В зависимости от выбранной возможности
будет создан либо пакет для Windows Installer, либо объединенный
модуль, либо CAB-файл.
• Последним в данном перечне стоит шаблон Web Setup Project
(проект начальной установки web-приложений). В настоящей главе
данный шаблон использоваться не будет, поскольку эта книга посвящена
созданию приложений Windows. Об установке web-приложений можно
прочитать в книге Beginning ASP.NET with C# (ASP.NET и С# для
начинающих), выпущенную издательством Wrox (ISBN 1861006152).
Архитектура Windows Installer компании Microsoft
До появления Windows Installer программистам приходилось создавать свои
собственные программы, предназначенные для инсталляции приложений. Созда-
ние таких программ не только требовало выполнения очень больших объемов ра-
боты, но и приводило к тому, что не соблюдались правила, принятые в Windows.
Очень часто системные DLL-библиотеки заменялись на более старые версии, по-
скольку программы инсталляции не производили проверку номера версии. Кроме
того, директория, в которую переносились файлы приложения, зачастую оказыва-
лась неправильной, например, использовалась "зашитая" в программу строка
C:\Program Files. Если системный администратор изменял жесткий диск, исполь-
зуемый по умолчанию, или применял международную версию операционной систе-
мы, то инсталляция оканчивалась неудачей.
Терцины Windows Installer
При работе с Windows Installer нам встретятся некоторые термины, которые
применяются в технологии Windows Installer, а именно: пакеты, возможности
и компоненты.
Обратите внимание на одно очень важное замечание, касающееся термина
"компонент", который используется для программ-инсталляторов:
В контексте Windows Installer компонент представляет собой совсем не то,
что подразумевается под этим термином при использовании его в .NET Framework.
С точки зрения Windows Installer компонент — это отдельный файл
(или несколько логически связанных между собой файлов).
Такой файл может быть выполняемым файлом, DLL-файлом
или обычным текстовым файлом.
Как можно видеть на следующем рисунке, пакет состоит из одной или несколь-
ких возможностей. Пакет — это отдельная база данных Microsoft Installer (MSI).
Возможность — это некоторая функция продукта с точки зрения пользователя,
которая, в свою очередь, может состоять из неких возможностей и компонентов.
Компонент — это взгляд на процесс инсталляции с точки зрения разработчика;
он представляет собой минимальную единицу инсталляции и может состоять из од-
ного или нескольких файлов. Понятия возможность и компонент отличаются друг
от друга, поскольку один и тот же компонент может использоваться для различных
458 Глава 17
Пакет
i
I
Возможность А
Компонент 1
Возможность В
i
Компонент 2 Возможность С
Компонент 3
возможностей, как, например, изобра-
женный на рисунке слева Компонент 2.
А вот никакая возможность не может
входить в состав нескольких других воз-
можностей.
Рассмотрим возможности на примере
из реальной жизни, приводимом ранее
в данной книге,— Visual Studio.NET.
Используя опцию Add/Remove Programs,
предоставляемую в Control Panel, можно
изменить инсталлированные возможно-
сти Visual Studio.NET после окончания
ее инсталляции посредством нажатия
кнопки Change/Remove.
Нажатие названной кнопки приве-
дет к открытию мастера сопровожде-
ния Visual Studio.NET. Обращение же
к указанному мастеру — это хороший
способ познакомиться с понятием воз-
можности на практике. Как видно на
рисунке, приведенном ниже, представ-
ленный здесь пакет Visual Studio.NET
включает в себя следующие возмож-
ности: Language Tools (инструменты
для работы с различными языками про-
граммирования), .NET Framework SDK,
Crystal Reports for Visual Studio.NET,
Tools for Redistributing Apps (инстру-
\Щ Add/Remove Programs
| Adbfee Acrobat 4.0 Stea 6.8Ш8 Ш
f^ Wcweeft ActtveSyflC 3.1
0, RfcrOfCft Internet gxptow 6
-0 Mkfttttft ЬМ&Р&г/. 2001
Ш 2,00MB ,
,,.., „,,™ zl
Visual S t u d i o . N E T M a i n t e n a n c e
Я Option* ^ ^ ^ ^ ^ ^ Я ^ ; . , - . . - ; - -• •.
: 5cictt шеям to fcntafc
| ij-0«i<5b«* Starts
?*}>'ЙИв^ Server to»»4)t>»*ttnt* iSS,
i:;;:; OiiveC:
i I' |
HI Fr&c- r p >c* '>;•-i-'--I'-',
менты для вторичного распро-
странения приложений), Server
Components (серверные компо-
ненты). Возможность Language
Tools, в свою очередь, включает
в себя следующие возможности
более низкого уровня: Visual
C + + .NET, Visual Basic.NET,
Visual C#.NET и т. д.
Установка приложений Windows 459
Преимущества Windows Installer
Windows Installer обладает следующими преимуществами:
• Каждая возможность может быть инсталлирована, не быть
инсталлирована или быть объявлена. Объявленная возможность,
входящая в состав пакета, будет инсталлирована сразу, как только
возникнет такая необходимость. Возможно, вы уже сталкивались
с такой ситуацией, когда Windows Installer запускался в процессе
вашей работы с Microsoft Word. Как только вы попытаетесь
воспользоваться какой-либо объявленной, но не инсталлированной
возможностью, то в этот момент будет осуществлена автоматическая
инсталляция требуемой возможности.
• Если приложение окажется испорченным, то в этом случае оно может
самовосстановиться с помощью возможностей восстановления,
предусмотренных в пакетах Windows Installer.
• Если процедура инсталляции завершится неудачей, будет автоматически
выполнен откат. После неудачной попытки инсталляции все будет
возвращено в свое первоначальное состояние: в системе не останется
никаких дополнительных ключей реестра, никаких файлов и т. п.
• С помощью процесса обратной инсталляции все файлы,
все ключи реестра и т. д. будут удалены, т. е. существует возможность
полной обратной инсталляции приложения. При этом не останется
никаких временных файлов, а состояние реестра будет возвращено
в исходное состояние.
Из таблиц базы данных MSI можно получить полную информацию о том, какие
файлы скопированы, какие ключи занесены в реестр и т. д.
Создание пакета инсталляции
для приложения Simple Editor
Для создания пакета Windows Installer с помощью Visual Studio.NET мы ис-
пользуем решение, которое было создано в главе 15,— Simple Editor. Для этих
целей можно воспользоваться любыми приложениями Windows Form, которые со-
здавались в процессе выполнения практикума; в этом случае вам придется лишь
изменить имена соответствующим образом.
Планирование инсталляции
Прежде приступить к построению программы инсталляции, необходимо опреде-
литься, что именно мы планируем включить в нее. Существует несколько вопро-
сов, на которые нужно ответить в первую очередь:
• Какие файлы необходимы для данного приложения?
Естественно, все выполняемые файлы и, возможно, некоторые
модули компонентов. Нет необходимости определять все файлы,
от которых они зависят,— эти файлы будут включены автоматически.
Возможно, возникнет необходимость включить и какие-либо
другие файлы. Это может относиться к файлу с документацией,
460 Глава 17
readme.txt, файлу с лицензией, шаблону документа, графическим файлам,
файлам конфигурации и т. д. Необходимо учитывать все файлы, которые
подлежат включению.
Для конкретного приложения Simple Editor нам потребуется
ВЫПОЛНЯеМЫЙ файл, И, Кроме ТОГО, МЫ ВКЛЮЧИМ фаЙЛЫ r e a d m e . r t f ,
license.rtf и двоичный файл с изображением логотипа Wrox Press,
который будет выводиться инсталляционными диалогами.
• Какие директории должны использоваться? Файлы приложения
ДОЛЖНЫ Инсталлироваться В директории Program Files\Application name.
Директория Program Files имеет различное название у различных версий
операционных систем, предназначенных для эксплуатации в разных странах.
Кроме того, администратор может выбрать иной путь щ\я данного
приложения. Нет необходимости знать, где эта директория располагается
на самом деле, поскольку существует возможность обратиться
к соответствующей функции API, которая вернет интересующую нас
директорию. С помощью инсталлятора можно использовать
Эспециальную заранее определенную папку для размещения файлов
В директории Program Files.
L
Ни при каких обстоятельствах не следует "зашивать" имена директорий
в тело программы. В различных международных версиях эти директории
имеют различные имена! Даже если ваше приложение рассчитано на работу
исключительно с англоязычными версиями Windows (чего также на самом деле
делать не следует), существует вероятность того, что системный администратор
мог переопределить местоположение этих директорий.
Приложение Simple Editor будет хранить выполняемый файл
в директории, используемой приложением по умолчанию,
если только пользователь, выполняющий инсталляцию,
не выберет какой-либо другой путь.
• Каким образом пользователь будет осуществлять доступ
к данному приложению? Существует возможность вызывать
выполняемый файл, включив ссылку на него в меню Start, разместив
иконку на рабочем столе и т. д. Если вы собираетесь размещать иконку
на рабочем столе пользователя, то необходимо выяснить, устраивает ли
это самого пользователя. Общее руководство по Windows XP рекомендует
по возможности не включать в рабочий стол ничего лишнего.
Приложение Simple Editor будет вызываться через меню Start.
• На каком носителе будет распространяться данное приложение?
Хотим ли мы, чтобы пакеты инсталляции записывались на CD,
на дискету или были общедоступны из сети?
• Что мы будем запрашивать у пользователя? Должен ли он подтвердить
свое согласие с лицензионной информацией, следует ли выводить
файл Readme, требуется ли запрашивать путь инсталляции?
Существуют ли какие-либо опции при инсталляции?
Для данного примера будут использоваться диалоговые окна с инсталлятором
Visual Audio.NET. Нам предложат указать директорию, где следует инсталлировать
Установка приложений Windows 461
программу (можно задать другой путь, отличный от заданного по умолчанию), да-
лее будет показан справочный файл Readme, а затем будет предложено ввести ин-
формацию лицензионного характера.
Создание проекта
Теперь можно воспользоваться инсталлятором Visual Studio.NET для создания
проекта по инсталляции и включить в него все файлы, подлежащие инсталляции.
Первыми шагами будут использование мастера Project (проект) и конфигурирова-
ние проекта.
Практикум: создание проекта Windows Installer
1.
£^j Vtsud Basic Pi<xpcU
| VUU<J? C# ?*K>j<x3 t
J L ,
S*upW<j*d
^ £4& to Si *У on Г Cfoi* $ ofution
.:e.. J
j QK I tuncel
Откройте файл с решением приложения
Simple Editor, созданного при изучении
главы 15. Мы добавим инсталляционный
проект к уже существующему решению.
Если это решение из главы 15 вами
не создавалось, то вы можете загрузить
его с web-сайта издательства Wrox,
• расположенного по адресу
http: //www.wrox.com.
2. Добавьте Setup Project к решению
с помощью пункта меню File | New | Project.
Выберите переключатель Add to Solution
и нажмите кнопку ОК (см. рис. слева).
Свойства проекта
На настоящий момент в проекте есть только файл для начальных установок
решения. Теперь необходимо определить файлы, подлежащие инсталляции. Кроме
того, в любом случае будет необходимо сконфигурировать свойства проекта. Для
этого следует познакомиться с опциями Packaging (упаковка) и Bootstrapper
(самоинсталляция).
Опция Packaging
MSI — это база данных, в которой на-
чинается процесс инсталляции, однако
имеется возможность определить, каким
образом упакованы предназначенные для
инсталляции файлы, для чего можно вос-
пользоваться тремя опциями в диалоговом
окне, представленном на рисунке справа.
Этот диалог откроется после выбора вами
пункта Project | Properties в меню Visual
Studio.NET. Ниже подробно описаны три
упомянутые опции.
462 Глава 17
• В режиме loose uncompressed files (в виде несвязанных несжатых файлов)
все программные файлы и файлы с данными будут храниться
в своем первозданном виде. Никакого сжатия файлов при этом
не производится.
• Режим In Setup file (в файле начальной установки) означает,
что все необходимые файлы будут объединяться и сжиматься в MSI-файл.
Для отдельных компонентов в пакете значение этой опции может быть
переопределено. Если вы собираетесь поместить все свои файлы
в единственный MSI-файл, то следует обратить внимание на то,
поместится ли программа инсталляции на предназначенном для нее
носителе, например, на CD или на дискете. Если объем предназначенных
для инсталляции файлов настолько велик, что емкости дискеты
оказывается недостаточно, можно попытаться изменить степень
сжатия ваших файлов, воспользовавшись опцией Optimized for Size
(оптимизация с учетом объема) в окне со списком Compression (сжатие).
Если объема все равно оказывается недостаточно, то можно
воспользоваться следующей опцией для упаковки.
• Третьим способом упаковки файлов является использование
кабинетных файлов (САВ-файлов). В этом случае MSI-файл
используется только для того, чтобы загружать и инсталлировать
CAB-файлы. При использовании САВ-файлов можно задавать
их размеры, которые позволят использовать для инсталляции
компакт-диски или дискеты (при инсталляции с дискет
следует установить размер, равный 1440 Кб).
Программа самоинсталляции Bootstrapper
В этом же диалоге можно сконфигурировать еще одну опцию — программу
самоинсталляции, которая должна быть выполнена до того, как появится возмож-
ность запускать собственно инсталлируемое приложение.
В системе, где производится инсталляция, необходимо наличие Windows Installer
версии 1.5 для пакетов инсталляции, созданных с помощью Visual Studio.NET.
Windows Installer версии 1.5 начал впервые поставляться с Windows XP. Если ин-
сталлируемую программу требуется установить на системах более ранних версий,
то необходимо использовать программу самоинсталляции, которая осуществляет
инсталляцию последней версии Windows Installer. Выбрав опцию Windows Installer
Bootstrapper (программа самоинсталляции Windows Installer), вы включите про-
грамму самоинсталляции в общую программу инсталляции, что при осуществлении
инсталляции приведет сначала к установке Windows Installer версии 1.5, и только
после этого начнется инсталляция требуемой программы. Для этой опции необхо-
димо около 3 Мбайт.
При использовании опции Web Bootstrapper требуется разместить программу
самоинсталляции на web-сайте. Когда в Properties Editor выбирается данная оп-
ция, происходит запрос URL, с которого должна происходить загрузка. Этот CJRL
будет в дальнейшем использоваться программистом, осуществляющим инсталля-
цию приложения, для установки программы самоинсталляции. При использовании
данной опции не требуется дополнительного пространства для пакета инсталляции,
но пользователь, осуществляющий инсталляцию, должен обязательно обладать до-
ступом к Интернету.
Установка приложений Windows 463
6**?,<*',•»**., - ," т
_J
инсталляции Windows. Вам необходимо инсталли-
ровать сервисный пакет Windows, в котором со-
держится более поздняя версия службы Windows
Installer,") (см. рис. справа).
Практикум: конфигурирование проекта
аят-тажзлвааэжЕаь;'.
Если же вы выберите опцию None
(см. рис. слева), которая не предпола-
гает установку программы самоинстал-
ляции, а на системе, на которой будет
производиться инсталляция, Windows
Installer версии 1.5 отсутствует, то в
процессе инсталляции будет получено
сообщение: "This installation package
cannot be installed by the Windows
Installer service. You must install a
Windows service pack that contains a
newer version of the Windows Installer
service." ("Данный пакет инсталляции
не может быть инсталлирован службой
Iwmdows Instal :^-r-i
This installation package ca
windows Installer service. Y
Windows service pack that
of the Windows Installer se
1. Выберите для опции Bootstrapper
на страничке определения свойств
(View | Property Pages) режим Windows
Installer Bootstrapper, что сделает
возможной инсталляцию приложения
на системах, в которых отсутствует
Windows Installer версии 1.5.
Кроме того, измените имя выходного
файла на WroxSimpleEditor.msi,
как показано на рисунке слева.
2. Установите свойства проекта
в соответствии со значениями,
приведенными в таблице:
Свойство Значение
Author (автор)
Description (описание)
Keywords (ключевые слова)
Manufacturer (изготовитель)
ManufacturerUrl (URL изготовителя)
Кристиай Нейджел
Simple Editor — простой редактор для редактирования
и вывода на печать текстовых файлов.
Installer (инсталлятор), Wrox Press, Simple Editor
Wrox Press
http://www.wrox.com
464
Свойство Значение
Глава 17
Продолжение таблицы
Product Name (наименование продукта)
Supporturl (URL сопровождения)
Title (заголовок)
Version (версия)
Simple Editor
http://p2p.wrox.com
Инсталляционная база данных для Simple Editor
1.0.0
Редакторы начальных установок
Setup5imp!eEti;tor • Microsoft Development fnWronm..-г? {dcssqn] - File Sy
1
T5 ж QleSystem • <
1&Ш
Soiuion Ex^orer Ctri+^-fL
Pending G^eckim
WebBrowser
Othgjr Windows
Show
Pb-
1^1
Р^5с:геег> 5Шк-ШШхт
Щ
1С,
В Visual Studio.NET Setup Project есть шесть
различных редакторов. Можете воспользоваться
одним из них, открыв проект по осуществлению
установки и выбрав меню View | Editor, как пока-
зано на рисунке слева.
Q Редактор File System (файловой системы)
используется для включения файлов в пакет
инсталляции.
• Редактор Registry (реестра) позволяет
создавать ключи реестра для данного
приложения.
• Редактор File Types (типов файлов)
позволяет регистрировать специфические
для данного приложения расширения
файлов.
• Редактор User Interface (пользовательского интерфейса) позволяет
включать новые и конфигурировать уже существующие диалоги,
выводящиеся при инсталляции продукта.
• Редактор Custom Actions (нестандартных действий) позволяет запускать
нестандартные программы в процессе осуществления инсталляции или
обратной инсталляции.
О Редактор Launch Conditions (условий запуска) позволяет задавать
требования, необходимые для инсталлируемых приложений, например,
требование постоянного присутствия .NET Runtime.
Редактор файловой системы
Редактор файловой системы предназначен для
включения файлов в пакет инсталляции и для зада-
ния местоположения, в котором они должны инстал-
лироваться. Этот редактор открывается с помощью
меню View | Editor | File System в Visual Studio.NET.
При этом открываются некоторые предварительно
описанные специальные папки, как показано на ри-
сунке справа. Ниже приводится описание назначения
каждой папки.
Stare page File System (SetupSimpieEditdr) j
i File System on Target Machine
•Application Folder
Global Assembly Cache Folder
User's Desktop
User's Programs Menu
Установка приложений Windows 465
• Application Folder (папка приложений) используется
для хранения выполняемых файлов и библиотек. Ее местоположение
Определяется как [Progra#FilesFolde] [Manufacture] [ProductName]
( [ПапкаПрограммныхФайлов] [Производитель] [НаименованиеПродукта] ).
В англоязычных системах [ПапкаПрограммныхФайлов] заменяется
на C:\Program Files. Директории ДЛЯ [Производитель]
и [НаименованиеПродукта] определяются свойствами проекта
Manufacturer И ProductName.
• В Global Assembly Cash Folder (папка для кэшированных
глобальных модулей) могут инсталлироваться модули общего доступа.
Эта папка используется для модулей, которые будут использоваться
несколькими приложениями. С модулями общего доступа вы сможете
познакомиться более детально в главе 21, а еще более подробную
информацию можно найти в книге "С# для профессионалов"
(Professional C#), "ЛОРИ", 2003.
• Если требуется поместить иконку на рабочем столе, то следует
воспользоваться опцией User Desktop. По умолчанию к этой папке
ведет ОДИН ИЗ Следующих путей — C:\Documents and SettingsX
[имя пользователя] \Desktop ИЛИ C:\Documents and Settings\All
users\Desktop — в зависимости от того, осуществляется ли инсталляция
для отдельного пользователя или для всех пользователей.
• Пользователь обычно запускает программу из User Programs Menu
(меню пользовательских программ). В качестве пути по умолчанию
ИСПОЛЬЗуетСЯ C:\Documents and SettingsX [Имя пользователя] \Start
Menu\ [программы]. Можно включить в это меню пункт для
упрощенного вызова приложения, который следует включить названия
компании-производителя и приложения, с тем чтобы пользователю
было легко идентифицировать приложение, например, Microsoft Excel.
Некоторые приложения создают подменю, из которых может
запускаться более одного приложения; в качестве примера
можно привести Visual Studlo.NET 7.0. В соответствии с Windows
Guidelines (руководство по Windows) многие программы
не имеют причин поступать таким образом. В эти меню
не следует включать программу обратной инсталляции,
поскольку она доступна из раздела Add/Remove Programs,
находящегося в Control Panel, и должна вызываться именно
оттуда. В эти меню не следует также включать help-файл,
поскольку к нему должен быть доступ непосредственно
из самого приложения. Поэтому для большинства приложений
будет вполне достаточно строки непосредственного вызова,
расположенного в user Programs Menu. Цель этих ограничений —
не загромождать меню Start слишком большим количеством
пунктов.
Подробное изложение этой информации может быть найдено в документе
"Application Specification for Microsoft Windows 2000 for desktop applications"
(Спецификации для desktop-приложений для Microsoft Windows 2000). Этот
документ может быть найден по адресу http://msdn.microsoft.com. Воспользуй-
тесь пунктом меню Partners & Certification | Windows Logo Program.
466 Глава 17
• User Personal Data Folder (папка персональных данных пользователя)
по умолчанию выбирается в качестве папки, в которой будут храниться
все документы. В качестве пути по умолчанию используется
C:\Documents and SettingsX [ИМЯ пользователя] \Му Documents.
Этот путь по умолчанию используется также и для директории,
в которой хранит свои проекты Visual Studio.NET.
• Добавление строки непосредственного вызова в User Send To Menu
(меню пользователя Send To) приводит к соответствующему расширению
контекстного меню Send То (отправка) в момент выбора файла.
Это контекстное меню позволяет отправить файл какой-либо программе,
например, драйверу дискеты, получателю почты или в папку My Documents.
Добавление элементов в специальные папки
opmen» fnvimnment [rte^n] - File Sy^m (Setup
jg Tools
pleEditor)
fiction j&lp
Name
etup
*€3 mscoriib.dll
Create Shortcut: to Application Folder
View
Assembly
Folder
Project Output.,.
File.,.
Assembly.,
Выбрав некоторую папку и восполь-
зовавшись пунктом меню Action | Add, мы
получаем возможность добавлять эле-
менты в специальные папки, как показа-
но на рисунке слева.
Можно выбирать из следующих эле-
ментов: Subfolder (подпапка), File (файл),
Assembly (модуль) и Project Output
(выходной поток проекта). Направление
выходного потока проекта в папку приведет к автоматическому включению в эту
папку сгенерированных выходных файлов с расширением .DLL или .ЕХЕ в зависи-
мости от того, является ли данный проект библиотекой компонентов или приложе-
нием. Выбор любого из пунктов меню Project Output или Assembly приведет к тому,
что в папку будут автоматически добавлены все файлы, от которых зависит прило-
жение (все модули, на которые имеются ссылки).
Свойства файла
Для файла, находящегося в папке, могут быть определены следующие свойства.
В зависимости от типа конкретного файла некоторые из перечисленных свойств
могут оказаться неприменимыми, кроме того, существуют некоторые дополнитель-
ные свойства, не вошедшие в приведенную ниже таблицу:
Свойство Описание
Condition
(условие)
Exclude
(исключение)
С помощью этого свойства определяется условие, при котором будет
осуществляться инсталляция выбранного файла. Это может оказаться полезным,
если этот файл должен использоваться только для определенных версий
операционных систем или в зависимости от того, какую информацию задаст
пользователь в процессе диалога.
Этому свойству может быть присвоено значение True, если данный файл
не подлежит инсталляции. Это позволяет файлу входить в состав проекта,
но при этом не инсталлироваться. Исключать файлы можно, если вы уверены
либо в том, что на них никто не ссылается, либо в том, что такие файлы
уже существуют на всех системах, на которых будет инсталлироваться
данное приложение.
Установка
Свойство
приложений Windows
Описание
467
Продолжение таблицы
PackageAs
(способ упаковки)
Permanent
(постоянный)
Readonly
(Только чтение)
Vital
(жизненно важный)
Это свойство позволяет переопределять способ добавления файлов к пакету
инсталляции, использующемуся по умолчанию. Например, если в конфигурации
проекта используется режим In Setup File, то для какого-либо конкретного
файла этот режим может быть изменен на Loose, что приведет к тому,
что данный файл не будет включаться в файл базы данных MSI.
Это может оказаться особенно полезным, когда требуется включить
файл Readme, который пользователю следует прочесть до начала инсталляции.
Совершено очевидно, что такой файл не следует подвергать сжатию,
даже если сжатию подвергаются все остальные файлы.
Если этому свойству присвоено значение True, это означает, что файл останется
на компьютере даже после того, как будет выполнена процедура обратной
инсталляции продукта. С одним примером такого файла вы могли столкнуться
при инсталляции новой версии Microsoft Outlook. Если вы сначала конфигурируете
Microsoft Outlook, затем выполняете процедуру обратной инсталляции,
после чего инсталлируете его вновь, необходимость конфигурировать его заново
отсутствует, поскольку файл конфигурации, оставшийся от предыдущей
инсталляции, не подлежит уничтожению.
Это свойство позволяет задавать файлу при инсталляции
атрибут "только чтение".
Это свойство означает, что данный файл существен для инсталляции
данного продукта. Если инсталляция этого файла завершается неудачно,
то вся процедура инсталляции прекращается и выполняется откат.
Практикум: добавление файлов в пакет инсталляции
1. Включите основной выходной поток проекта Simple Editor
в проект по созданию инсталлятора с помощью меню
Project | Add | Project Output. В диалоге Add Project Output
Group вЪгберите Primary Output как показано на рисунке
справа.
Нажатие кнопки ОК приведет к тому, что основной
выходной поток проекта simpieEditor будет добавлен
в Application Folder в автоматически открытом редакторе
системных файлов. В данном случае основным выходным
потоком является simpieEditor.exe. Как можно увидеть
в Solution Explorer (View | Solution Explorer), все файлы,
от которых он зависит, определены автоматически;
это привело к включению в проект объединенного модуля
С именем dotnetfxredist_x86_enu.msm, В который
включены все файлы, необходимые для работы системы
C«r^«fit F
•1
<fcnt*«; 8» Oti 3
выполнения .NET. Если на системе, на которой будет устанавливаться
данное приложение, система выполнения .NET отсутствует, то она
будет инсталлирована вместе с приложением.
Для нашей программы инсталляции мы налагаем требование
предварительной установки системы выполнения .NET.
Выберите файл dotnetfxredist_x86_enu.msm и измените значение
свойства Exclude на True. Для инсталляции системы выполнения .NET
требуется приблизительно 15 Мбайт, поэтому теперь наш файл
инсталляции станет меньше на 15 Мбайт. Простое изменение значения
468 Глава 17
свойства Exclude на True приведет к тому, что процедура инсталляции
будет успешно завершаться, даже если .NET не инсталлирована
на этой системе; в этом случае simpieEditor.exe просто не будет
запускаться. Лучшим решением этой проблемы было бы выдавать
в процессе инсталляции сообщение об ошибке, если система
выполнения .NET данном компьютере отсутствует. Этого можно
добиться, описав условие запуска в .NET Framework.
Мы вернемся к этому чуть позже.
Дополнительные файлы, которые мы хотим включить,— это файлы
с логотипом и лицензией, а также файл readme. В редакторе
фаЙЛОВОЙ СИСТемЫ создайте поддиректорию Application Folder
С именем Setup. Это МОЖНО сделать, перейдя В Application Folder
и выбрав меню Action | Add | Folder.
Меню Action доступно в Visual Studio.NET, только если выбираются элементы
в редакторах начальных установок. Если выбран какой-либо элемент
в Solution Explorer или Class View, меню Action оказывается недоступным.
3 . Перенесите С ПОМОЩЬЮ МЫШИ фаЙЛЫ wroxlogo.bmp, wroxsetuplogo.bmp,
readme.rtf И l i c e n s e . r t f В папку Setup. Эти файлы МОЖНО наЙТИ
СреДИ Примеров Программ ДЛЯ ДаННОЙ КНИГИ На http://www.wrox.com,
однако их нетрудно создать самостоятельно, для чего достаточно
поместить в текстовые файлы информацию о лицензии и информацию,
которую следует прочитать пользователю. Нет необходимости изменять
свойства этих файлов. Эти файлы будут использоваться в диалогах
программы инсталляции.
4. Перенесите мышью файл readme.txt в папку приложения. Необходимо,
чтобы у пользователя имелась возможность прочитать этот файл
до начала процедуры инсталляции. Присвойте свойству PackageAs
значение vsdpaLoose, для того чтобы этот файл не подвергался сжатию
в пакет инсталляции. Присвойте значение True свойству Readonly,
с тем чтобы в этот файл нельзя было вносить изменения.
5. Перенесите МЫШЬЮ файл demo.wroxtext В папку User's Desktop.
Этот файл должен инсталлироваться только после того,
как пользователь подтвердит, что установка этого файла ему
действительно необходима. С этой целью присвойте свойству condition
значение CHECKBOXDEMO. ЭТО значение обязательно должно быть
записано заглавными буквами. Данный файл будет инсталлироваться,
только если это условие будет иметь значение true. Несколько позже
мы опишем диалог, в котором это свойство будет задаваться.
Автору кажется более предпочтительным демонстрировать
свойство Condition посредством строк непосредственного
вЫЗОва, а Не С ПОМОЩЬЮ файлов, ПОСКОЛЬКУ в User's Desktop
лучше помещать именно их. Однако на момент написания
данной книги в инсталляторе Visual Studio.NET содержалась
ошибка, в результате которой свойство condition не могло
задаваться для строк непосредственного вызова,
хотя в MSDN-документации утверждалось обратное.
Установка приложений Windows 469
Мы бы хотели иметь возможность вызова программы из меню Start | Program.
Нам потребуется строка непосредственного вызова для программы simpieEditor.
6. Выберите элемент Primary output from SimpieEditor в Application
. Folder и откройте меню Action | Create Shortcut to Primary output from
SimpieEditor. Присвойте свойству Name создаваемой строки
Непосредственного ВЫЗОВа Значение Wrox Simple Editor
И перенесите ее МЫШЬЮ В User's Programs Menu.
Редактор типов файлов
Если в приложении используются типы файлов, созданные пользователем,
и требуется зарегистрировать расширения этих файлов, которые позволят запус-
кать приложение с помощью двойного щел
Категория: информатика | Просмотров: 1578 | Добавил: basic | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Календарь
«  Февраль 2010  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

krutoto.ucoz.ru
Бесплатный конструктор сайтов - uCoz