![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
|
|
------- Отправлено: 20:56, 09-04-2015 | #461 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать kotyarko@fb, Понял, да эта страница после выбора портабле и инсталер. Скрипт собирается, но инсталлятор выдаёт ошибку и не запускается.
|
Отправлено: 21:00, 09-04-2015 | #462 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
|
|
------- Отправлено: 21:05, 09-04-2015 | #463 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать kotyarko@fb, На одной из страниц установщика. Щас попробую через CurPageChanged. Кто мне про неё говорил, но тогда я не понял этого.
kotyarko@fb, Не могу допетрить и всё... |
Отправлено: 21:10, 09-04-2015 | #464 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
[Setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf}\My Application [Code] var AkkPage: TWizardPage; portbtn: TNewCheckbox; procedure InitializeWizard(); begin AkkPage := CreateCustomPage(wpWelcome, 'PortablePage_Caption', 'PortablePage_Description'); portbtn := TNewCheckBox.Create(WizardForm); portbtn.Parent := WizardForm.WelcomePage; portbtn.Caption := 'Portable'; portbtn.SetBounds(ScaleX(180), ScaleY(280), ScaleX(80), ScaleY(23)); end; function ShouldSkipPage(PageID: Integer): Boolean; begin if (PageID = AkkPage.id) then Result := not portbtn.Checked; end; |
|
------- Отправлено: 21:57, 09-04-2015 | #465 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать function ShouldSkipPage(PageID: Integer): Boolean;
begin if (PageID = AkkPage.id) then Result := not portbtn.Checked; end; В этом вся проблема была, этого не хватало. Я создал TRichEditViewer. Как к нему прикрутить файл .rtf? |
Отправлено: 22:13, 09-04-2015 | #466 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
Скрытый текст
[Setup] AppName=My Program AppVerName=My Program version 1.5 DefaultDirName={pf}\My Program [Files] Source: ReadMe.rtf; Flags: dontcopy [Code] var Page: TWizardPage; RichEditViewer: TRichEditViewer; Readme: ansistring; procedure InitializeWizard(); begin Page := CreateCustomPage(wpWelcome, 'Information', 'Please read the following important information before continuing.'); RichEditViewer := TRichEditViewer.Create(Page.Surface); with RichEditViewer do begin ExtractTemporaryFile('ReadMe.rtf'); LoadStringFromFile(ExpandConstant('{tmp}')+'\ReadMe.rtf', Readme); SetBounds(ScaleX(12),ScaleY(12),ScaleX(400),ScaleY(222)); Parent := Page.Surface; Font.Size := 8; RTFText:= Readme; ReadOnly := True; ScrollBars := ssVertical; end; end; |
|
------- Последний раз редактировалось Dodakaedr, 09-04-2015 в 23:17. Отправлено: 23:11, 09-04-2015 | #467 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать AlekseyPopovv,
Скрытый текст
[Setup] AppName=My Program AppVerName=My Program v 1.5 DefaultDirName={pf}\My Program OutputDir=. Compression=lzma/ultra InternalCompressLevel=ultra SolidCompression=yes InfoBeforeFile=ReadMeRu.rtf [Languages] Name: ENG; MessagesFile: "compiler:Default.isl" Name: RUS; MessagesFile: "compiler:Languages\Russian.isl" [Files] Source: ReadMeRu.rtf; Flags: dontcopy Source: ReadMeEn.rtf; Flags: dontcopy [Code] var InfoBefore: TRichEditViewer; ReadmeRu,ReadmeEn: AnsiString; procedure InitializeWizard(); begin ExtractTemporaryFile('ReadMeRu.rtf'); LoadStringFromFile(ExpandConstant('{tmp}')+'\ReadMeRu.rtf', ReadmeRu); ExtractTemporaryFile('ReadMeEn.rtf'); LoadStringFromFile(ExpandConstant('{tmp}')+'\ReadMeEn.rtf', ReadmeEn); InfoBefore:= TRichEditViewer.Create(WizardForm); with InfoBefore do begin SetBounds(ScaleX(0),ScaleY(24),ScaleX(417),ScaleY(205)); Parent:= WizardForm.InfoBeforePage; ParentColor:= True; Color:= WizardForm.Color; BorderStyle:= bsNone; ScrollBars:= ssVertical; ReadOnly:= true; if ActiveLanguage='RUS' then RTFText:= ReadmeRu else if ActiveLanguage='ENG' then RTFText:= ReadmeEn; end; end; Это на стандартной инновской странице InfoBefore. И с выбором языка. |
------- Последний раз редактировалось nik1967, 09-04-2015 в 23:46. Отправлено: 23:33, 09-04-2015 | #468 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать У меня на странице 2 "CheckBox'a". Первый - копирует файл в папку, второй - этот файл запускает. По умолчанию оба "Checked:=True;". Как сделать так, что бы если галочку снять с первого, второй был не активен?
NewDel := TNewGroupBox.Create(WizardForm); with NewDel do begin Parent := NewForPortablePage.Surface; Caption := 'Дополнительно:'; Left := ScaleX(0); Top := ScaleY(195); Width := ScaleX(417); Height := ScaleY(40); end; StartNewDel := TNewCheckBox.Create(WizardForm); with StartNewDel do begin Parent := NewForPortablePage.Surface; Left := ScaleX(5); Top := ScaleY(210); Width := ScaleX(174); Height := ScaleY(17); Caption := 'Распаковать My Prog'; Checked:=True; end; PuskNewDel := TNewCheckBox.Create(WizardForm); with PuskNewDel do begin Parent := NewForPortablePage.Surface; Left := ScaleX(225); Top := ScaleY(210); Width := ScaleX(174); Height := ScaleY(17); Caption := 'Запустить My Prog'; Checked:=True; end; end; end; |
Отправлено: 05:16, 11-04-2015 | #469 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата AlekseyPopovv:
Так:
Var NewDel: TNewGroupBox; StartNewDel, PuskNewDel: TNewCheckBox; Procedure EnableWhenChecked(Sender: TObject); begin case StartNewDel.Checked of False: begin PuskNewDel.Checked := False; PuskNewDel.Enabled := False; end; True: begin PuskNewDel.Enabled := True; PuskNewDel.Checked := True; end; end; end; Procedure InitializeWizard(); begin NewDel := TNewGroupBox.Create(WizardForm); with NewDel do begin Parent := WizardForm; Caption := 'Дополнительно:'; Left := ScaleX(0); Top := ScaleY(195); Width := ScaleX(417); Height := ScaleY(40); end; StartNewDel := TNewCheckBox.Create(WizardForm); with StartNewDel do begin Parent := WizardForm; Left := ScaleX(5); Top := ScaleY(210); Width := ScaleX(174); Height := ScaleY(17); Caption := 'Распаковать My Prog'; Checked:=True; OnClick := @EnableWhenChecked; end; PuskNewDel := TNewCheckBox.Create(WizardForm); with PuskNewDel do begin Parent := WizardForm; Left := ScaleX(225); Top := ScaleY(210); Width := ScaleX(174); Height := ScaleY(17); Caption := 'Запустить My Prog'; Checked:=True; end; end; |
|
------- Отправлено: 13:09, 11-04-2015 | #470 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|