Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 4]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1271
Благодарности: 1029


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Аватара для Photon9

Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


С кавычками попробую
Касаемо корявого вида меню сделал немного по другому, каждую софтину пихнул в отдельную папку и всё пришло в норму, тоесть меню выровнялос, и выделяется каждый пункт по отдельности, а еслм выбрать "дополнительное по" то все вместе
А вот с этими дополнительными командами я запутался несколько, сейчас скрипт подправлю

Отправлено: 22:32, 17-12-2011 | #411



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для valyok666

Старожил


Сообщения: 241
Благодарности: 79

Профиль | Отправить PM | Цитировать


Photon9, читай побольше справку)без неё никак

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"

Это сообщение посчитали полезным следующие участники:

Отправлено: 04:52, 18-12-2011 | #412


Аватара для salat

Пользователь


Сообщения: 54
Благодарности: 2

Профиль | Отправить PM | Цитировать


как сделать mesagebox при запуске инсталятора чтобы проверялось наличие ключа реестра и если ключ существует then "Программа уже установлена" и только кнопка ок?
чтобы без if CurPageID=wpWelcome

Отправлено: 17:16, 18-12-2011 | #413


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


salat,

Код: Выделить весь код
Function InitializeSetup: Boolean; 
Begin 
If RegValueExists(HKLM, 'SubKeyName', ValueName) then MsgBox('Программа уже установлена', mbInformation, mb_Ok) 
End;

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:30, 18-12-2011 | #414


Аватара для kenny_danger

Новый участник


Сообщения: 30
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


ув. пользователи возможно ли запихнуть картинки заместо текста в разделе компоненты
ну допусти чтоб за место
текста "Blue" из "- Style" было изображение не большого размера
http://s017.radikal.ru/i429/1112/b4/78e91b267ff3.png

Отправлено: 23:03, 18-12-2011 | #415


Аватара для Rikill

Старожил


Сообщения: 189
Благодарности: 90

Профиль | Отправить PM | Цитировать


kenny_danger, на сколько я знаю - нет. Но можно воссоздать вручную чекбоксы с радиобатонами и вместо надписей сунуть картинки по стандартному.

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 01:24, 19-12-2011 | #416


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


kenny_danger, смотря на картинку а тебе не пофиг?

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Последний раз редактировалось R.i.m.s.k.y., 19-12-2011 в 10:58.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:03, 19-12-2011 | #417


Пользователь


Сообщения: 57
Благодарности: 1

Профиль | Отправить PM | Цитировать


Доброго времени суток!

Как сделать иконку на сервис?

Мне нужна иконка для запуска сервиса. Ручками это можно сделать легко, в свойствах иконки "Объект" надо прописать "net start имя_сервиса", но с помощью inno не получается.
Код: Выделить весь код
Name: "{group}\Старт сервис имя_севиса";       Filename: "net start имя_севиса"

Отправлено: 10:52, 19-12-2011 | #418


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Gugle, я бы вот так попробовал
Код: Выделить весь код
Name: "{group}\Старт сервис имя_севиса"; Filename: "{sys}\net.exe"; Parameters: " start имя_севиса"; WorkingDir: "{sys}"

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:00, 19-12-2011 | #419


Аватара для Vamp1re

Пользователь


Сообщения: 75
Благодарности: 5

Профиль | Отправить PM | Цитировать


Вообшем я добился того чего хотел (почти), через библиотеку isUtlits все работает в процессе, но когда открою окно сис требований, его невозможно закрыть. Я одного немогу понять как сделать так как написано дальше. Нужно для начала на странице сис требований (только на ней) удалить все кнопки (далее , назад, отмена), и на их место поставить одну под названием например: ок, выход. Хочеться добиться результата, чтоб при нажатии на ету кнопку можно было возвратиться к процессу установки....

Вот скрипт:

читать дальше »
[Setup] AppName=ProgressBar Demo AppVerName=ProgressBar Demo DefaultDirName={pf}\ProgressBar Demo [Languages] Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" [Files] Source: isutils.dll; DestDir: "{tmp}"; Flags: dontcopy Source: back2.bmp; DestDir: {tmp}; Flags: dontcopy [Icons] Name: "{group}\Удалить"; IconFilename: "{app}\unins000.exe"; Filename: "{app}\unins000.exe" [code] Function GetTotalRam: integer; external 'GetTotalRam@files:isutils.dll stdcall'; Function GetVideoName: PANSICHAR; external 'GetVideoName@files:isutils.dll stdcall'; Function GetVideoRam: integer; external 'GetVideoRam@files:isutils.dll stdcall'; Function GetProcessorName: PANSICHAR; external 'GetProcessorName@files:isutils.dll stdcall'; Function GetProcessorFreq: integer; external 'GetProcessorFreq@files:isutils.dll stdcall'; Function GetProcessorCoreCount: integer; external 'GetProcessorCoreCount@files:isutils.dll stdcall'; Function GetSoundCards: integer; external 'GetSoundCards@files:isutils.dll stdcall'; Function GetSoundCardName: PANSICHAR; external 'GetSoundCardName@files:isutils.dll stdcall'; Function GetOsName: PANSICHAR; external 'GetOsName@files:isutils.dll stdcall'; function GetOsNumber: integer; external 'GetOsNumber@files:isutils.dll stdcall'; function GetOsBit: integer; external 'GetOsBit@files:isutils.dll stdcall'; var Trebovaniya: TNewButton; Image: TBitmapImage; RequirementsLbl,ProcessorLbl, ProcessorNameLbl, VideoCardLbl, VideoCardNameLbl, SoundCardLbl, SoundCardNameLbl, RAMLbl, RAMTotalLbl, SystemLbl, SystemNameLbl: TLabel; Processor, coreCount, VideoRam, Ram, OpSystem, OpSystemBit:integer; procedure NewButton1Click(Sender: TObject); begin Processor:=2000; VideoRam:=9964; Ram:=500; OpSystem:=513; WizardForm.InnerNotebook.Hide; WizardForm.OuterNotebook.Hide; WizardForm.Bevel.Hide; ExtractTemporaryFile('back2.bmp'); Image:=TBitmapImage.Create(WizardForm); Image.Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\back2.bmp '); Image.setbounds(0, 0, ScaleX(497), ScaleY(360)); Image.Parent:=WizardForm; Image.Stretch:=True; RequirementsLbl := TLabel.Create(WizardForm); with RequirementsLbl do begin AutoSize:=False; SetBounds(ScaleX(10), ScaleY(45), ScaleX(487), ScaleY(67)); Transparent:=True; WordWrap:=True; Alignment := taCenter; Font.Color:=$FFFFFF; Font.size:=10; Font.Style:=[fsBold]; Caption := 'Программа установки обнаружила следующие компоненты'; Parent:=WizardForm; end; //================= Начало - Процессор =================// ProcessorLbl := TLabel.Create(WizardForm); with ProcessorLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(102), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Процессор'; Parent := WizardForm; end; ProcessorNameLbl := TLabel.Create(WizardForm); with ProcessorNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(102), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetProcessorName+' @' + IntToStr(GetProcessorFreq) + ' MHz'; Parent := WizardForm; end; if (GetProcessorFreq*GetProcessorCoreCount) < Processor then begin RequirementsLbl.Caption := 'Компоненты, выделенные красным, не удовлетворяют требованиям'; ProcessorNameLbl.font.color:=clred; end; //================= Конец - Процессор =================// //================= Начало - Видеоадаптер =================// VideoCardLbl := TLabel.Create(WizardForm); with VideoCardLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(127), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Видеоадаптер'; Parent := WizardForm; end; VideoCardNameLbl := TLabel.Create(WizardForm); with VideoCardNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(127), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetVideoName+' '+inttostr(GetVideoRam)+' Mb'; Parent := WizardForm; end; if GetVideoRam < VideoRam then begin RequirementsLbl.Caption:='Компоненты, выделенные красным, не удовлетворяют требованиям'; VideoCardNameLbl.font.color:=clred; end; //================= Конец - Видеоадаптер =================// //================= Начало - Звуковая карта =================// SoundCardLbl := TLabel.Create(WizardForm); with SoundCardLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(152), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Звуковая карта'; Parent := WizardForm; end; SoundCardNameLbl := TLabel.Create(WizardForm); with SoundCardNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(152), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetSoundCardName; Parent := WizardForm; end; if GetSoundCards=0 then begin RequirementsLbl.Caption:='Компоненты, выделенные красным, не удовлетворяют требованиям'; SoundCardNameLbl.font.color:=clred; SoundCardNameLbl.Caption := 'Звуковая карта отсутствует'; end; //================= Конец - Звуковая карта =================// //================= Начало - ОЗУ =================// RAMLbl := TLabel.Create(WizardForm); with RAMLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(177), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'ОЗУ'; Parent := WizardForm; end; RAMTotalLbl := TLabel.Create(WizardForm); with RAMTotalLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(177), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; //Font.Style:=[fsBold]; Caption := IntToStr(GetTotalRam + 1) + ' Mb'; Parent := WizardForm; end; if (GetTotalRam+1)<RAM then begin RequirementsLbl.Caption := 'Компоненты, выделенные красным, не удовлетворяют требованиям'; RAMTotalLbl.font.color:=clred; end; //================= Конец - ОЗУ =================// //================= Начало - Операционная система =================// SystemLbl := TLabel.Create(WizardForm); with SystemLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(202), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Система'; Parent := WizardForm; end; SystemNameLbl := TLabel.Create(WizardForm); with SystemNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(202), ScaleX(400), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetOsName+' '+inttostr(GetOsBit)+' Bit'; Parent := WizardForm; end; if OpSystem > GetOsNumber then begin RequirementsLbl.Caption := 'Компоненты, выделенные красным, не удовлетворяют требованиям'; SystemNameLbl.font.color:=clred; end; //================= Конец - Операционная система =================// end; procedure InitializeWizard(); begin Trebovaniya := TNewButton.Create(WizardForm); with Trebovaniya do begin Parent := WizardForm.SelectDirPage; SetBounds(0, 184, 115, 25); OnClick := @NewButton1Click; Caption:='Сис Требования' end; end;

Отправлено: 18:21, 19-12-2011 | #420



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход