зины; потратил полтор а часа, но, по-моему, вышло ори-
гинально (рис. 1 )). Тип установки определен как норм аль-
ный, с визуольным интерфейсом. Последние команды о т-
ключают вывод градиента и задою т цвет фона и текста
окна, где показывается процесс инсталляции. Я выбрал
янтарный
( O x F F C 0 4 0 ) по черном у ( 0 x 0 0 0 0 0 0 ) — именно эти
цвета у меня ассоциирую тся с игрой M ight and M agic VI.
# # # # # L i c e n s e p a g e c o n f i g u r a t i o n c o m m a n d s :
L i c e n s e T e x t " $ \ r W h a t i s t h i s ? " " G o o n ! "
L i c e n s e D a t a " R e a d m e . t x t "
S u b C a p t i o n 0 " : I n t r o "
Здесь со б р а н о все, что относится к
странице показа лицензионного со гла-
шения. Поскольку в общ ем -то оно мне
не нужно, то я приспособил эту стр а -
ницу под информационные цели — по-
казать, что именно инсталлируется, и
заодно встроить сюда текст скрипта (то-
гда точно не потеряется © !) Поэтом у я
несколько изменил текст стандартной
кнопки /
Адгее
на
С о оп!,
и окончание
текста заголовка окна с
License Адгее-
ment
на
Intro.
Результат на рисунке 1.
# # # # # C o m p o n e n t p a g e
c o n f i g u r a t i o n c o m m a n d s
C o m p o n e n t T e x t " $ \ r T h i s w
i l l
i n s t a l l $ { F N A M E } o n y o u r c o m p u t e r "
C h e c k B i t m a p " $ { S _ N A M E } C h e c k . b m p "
I n s t T y p e " С о р у R e q u i r e d F i l e s O n l y "
I n s t T y p e " C r e a t e S h o r t c u t s "
I n s t T y p e " F u l l I n s t a l l "
Продолж аем , на этот раз со стр а -
ницей выбора компонентов. Задан текст
в окне и картинка, определяю щ ая вид
выбранных/не вы бранны х/обязатель-
ных и т.п. компонентов. О пять же, не
мудрствуя лукаво, я взял грофику из на-
б о р а поставки NSIS 2.0, заменив па-
литру на красно-оранжевые тона (я уже
объяснял, почему). См отрите, что полу-
чилось (рис. 2). Кроме того, я объявил
здесь три стандартны х типа инсталля-
ции: копирование нужных ф айлов, то
же — с созданием ярлыков, полная.
# # # # # D i r e c t o r y s é l e c t i o n p a g e c o n -
f i g u r a t i o n c o m m a n d s
D i r T e x t " $ \ r S e l e c t t h e d i r e c t o r y
t o i n s t a l l $ { S _ N A M E } "
I n s t a l l D
i r " E : \ G a m e s \ M M 6 "
С траница выбора директории инсталляции, тут совсем
просто. О пять определен текст в окне и путь инсталля-
ции по умолчанию , который потом можно использовать
через внутреннюю переменную $ IN S TD IR (рис. 3).
# # # # # I n s t a l l p a g e c o n f i g u r a t i o n c o m m a n d s
A u t o C l o s e W i n d o w f a l s e
S h o w I n s t D e t a i l s s h o w
I n s t P r o g r e s s F l a g s s m o o t h
A это — установки для окна прогрессо инсталляции.
О пр е де ле н детализированны й показ процесса (лю блю ,
чтобы все было под контролем © ), плавная полоска ин-
дикатора прогресса и ожидание закрытия окна и нста л-
лятора пользователем (рис. 4).
# # # # # I n s t a l l a t i o n e x e c u t i o n c o m m a n d s
# # # # # C h a n g e t h e o p t i o n s f o r t h e c o m p i l e r :
S e t C o m p r e s B o f f
S e t D a t a b l o c k O p t i m i z e o f f
C R C C h e c k o f f
Эти команды определяют поведение компилятора и мо-
гут быть определены в любом месте скрипта, причем их дей-
ствие ночинается строкой ниже от того места, где они бы-
ли определены, и продолжается до тех пор, пока не будет
отменено другой комендой. Здесь отменены все виды опти-
мизации (компрессия и оптимизация блоков данных), посколь-
ку файлы игры М М 6 уже сжаты, и дополнительные манипу-
ляции ничего, кроме потери времени, не дадут. В другом слу-
чое я рекомендую отдельно проверить, дает ли включение
этих опций выигрыш в размере для ваших файлов, и лишь
потом делать выводы. Кроме этого я запретил самопровер-
ку инсталлятором контрольной суммы (CRC) при старте (упо-
ваю на надежность современных носителей © ), поскольку
онс также забирает ощутимо много времени.
# # # # # S e c t i o n d e f i n i t i o n s
Д альш е идет определение секций:
S e c t i o n " $ { M _ N A M E } "
S e c t i o n l n 1 2 3
S e t O u t P a t h " $ I N S T D I R \ A n i m s "
F i l e " $ { S O U R C E P A T H } \ A n i m s \ A n i m s 1 .
v i d "
S e t O u t P a t h " $ l N S T D l R \ D a t a "
F i l e " $ { S O U R C E P A T H } \ D a t a \ B i t m a p s .
l o d "
F i l e " $ { S O U R C E P A T H } \ D a t a \ G a m e s .
l o d "
F i l e " $ { S O U R C E P A T H } \ D a t a \ I c o n s .
l o d "
F i l e " $ { S O U R C E P A T H } \ D a t a \ S p r i t e s .
l o d "
S e t O u t P a t h " $ I N S T D I R \ S o u n d s "
F i l e " $ { S O U R C E P A T H } \ S o u n d s \ A u d i o .
s n d "
C r e a t e D i r e c t o r y " $ I N S T D I R \ S a v e s "
S e t O u t P a t h " $ I N S T D I R "
F i l e " $ { S O U R C E P A T H } \ G a m e U p . e x e "
F i l e " $ { S O U R C E P A T H } \ M M 6 . e x e "
F i l e " $ { S O U R C E P A T H } \ m s s 3 2 . d l l "
F i l e " $ { S O U R C E P A T H } \ s m a c k w 3 2 . d l l "
F i l e " $ { S O U R C E P A T H } \ r e a d m e . t x t "
W r i t e U n i n s t a l l e r
" $ I N S T D I R \ U n i n s t . e x e "
S e c t i o n E n d
Итак, гловная секция нашего инстал-
лятора. Очевидна ее структура: заголо-
вок, набор команд, окончание. Коман-
да
s e c t i o n l n о п р е д е ляе т, в каком из
предустановленных типов инсталляции,
обозначенных выше, будет принимать
участие эта секция (в данном случае —
во всех трех) Дальш е идет серия команд
копирования файлов:
S e t O u t P a t h у ста -
навливает путь, по которому будет про-
изведено копирование файлов (исполь-
зуя шаблоны с $i n s t d i r )
F i l e копиру-
ет необходимый файл (который включа-
ется
в и нста ллято р на этапе компиляции). О ди н о к а я C r e -
a t e D i r e c t o r y создое т директорию сейвов, а W r i t e U n i n -
s t a l l e r , как понятно из названия, производит запись де-
инсталлятора в основную папку с игрой.
S e c t i o n " E x t r a V i d e o F i l e s ( 1 9 9 M B m o r e ) "
S e c t i o n l n 3
S e t O u t P a t h " $ I N S T D I R \ A n i m s "
F i l e " $ { S O U R C E P A T H } \ A n i m s \ A n i m s 2 .
v i d "
S e c t i o n E n d
Если вы все внимательно прочитали, здесь должно быть
все понятно Э та секция задействована только в третьем
(«Полном ») варианте установки, и единственная ее задача —
скопировать громоздкий видеофайл Anims2.vid в папку Anims.
S u b s e c t i o n " S h o r t c u t s "
S e c t i o n " C r e a t e s h o r t c u t o n t h e d e s k t o p "
S e c t i o n l n 2 3
C r e a t e S h o r t C u t " $ D E S K T O P \ $ { S _ N A M E } . I n k "
" $ I N S T D I R \ M M 6 . e x e "
S e c t i o n E n d
S e c t i o n " C r e a t e s h o r t c u t s i n P r o g r a m F i l e s "
S e c t i o n l n 2 3
C r e a t e D i r e c t o r y " $ S M P R O G R A M S \ 3 D O "
C r e a t e D i r e c t o r y " $ S M P R O G R A M S \ 3 D O \ M i g h t a n d M a g i c V I "
C r e a t e S h o r t C u t " $ S M P R O G R A M S \ 3 D O \ M i g h t a n d M a g i c
V I \ $ { S _ N A M E } . I n k " " $ I N S T D I R \ M M 6 . e x e "
C r e a t e S h o r t C u t " $ S M P R O G R A M S \
3 D O \ M i g h t a n d M a g i c
V I \ U n i n s t a l l $ { S N A M E } . I n k " " $ I N S T D I R \ U N I N S T . e x e "
Ш к Рис. 2
Рис.З
Рис.4
№39/314 27 сентября -04 октября 2004
предыдущая страница 35 Мой Компьютер 2004 39 читать онлайн следующая страница 37 Мой Компьютер 2004 39 читать онлайн Домой Выключить/включить текст