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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


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

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

Аватара для No4noylis

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


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

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


Как сделать прозрачным фон текста???

-------
Нет ничего невозможного...

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

Отправлено: 18:13, 29-06-2011 | #2101



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

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


Аватара для Rikill

Старожил


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

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


No4noylis, читай форумы, гугли в конце концов, короче:
TNewStaticText не имеет свойство прозрачности , а статик текст во всём инсталляторе используется (по дефолту) , но есть альтернатива
Код: Выделить весь код
procedure initializewizard();
var
label: TLabel;
begin
  Label := TLabel.Create(WizardForm);
  with Label do begin
    AutoSize:=False; //авторазмер
    SetBounds(ScaleX(100), ScaleY(219), ScaleX(200), ScaleY(17)); //размеры
    OnClick:= @LabelClick; //что делает текст при нажатии, если не нужно удалить
    Cursor:= CrHand; //курсор при наведении, если не нужно удалить
    Transparent:=True; //а вот и главное, прозрачность
    Font.Name:= 'Comic Sans MS' //шрифт если не нужно удалить
    Font.Size:= 8;//размер текста если не нужно удалить
    Font.Color:=$00FFFF; //цвет текста если не нужно удалить
    Font.Style:=[fsItalic]; //стиль текста italic это курсив fsbold это жирный и тд. если не нужно удалить
    Caption := 'наш текст';
    Parent := WizardForm; //где находится
  end;
end;

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

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

Отправлено: 18:45, 29-06-2011 | #2102


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

Ветеран


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

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


Цитата Rikill:
при компилировании вылезает следующая ошибка internal error an attempt was made to access wizardform before it has been created с жалобой на строчку
WizardForm.PasswordEdit.Text:= 'Вот и нет пароля'; »
инно честно тебе написал 0 форма не создана
скорее всего ты WizardForm.PasswordEdit.Text:= делаешь в initializeseup, а надо в initializewizard

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


Отправлено: 20:31, 29-06-2011 | #2103


Аватара для Rikill

Старожил


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

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


R.i.m.s.k.y., брал прямиком из архива со справкой, странно

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

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

Отправлено: 21:27, 29-06-2011 | #2105


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

Ветеран


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

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


Rikill, покаж скрипт

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


Отправлено: 21:36, 29-06-2011 | #2106


Аватара для Rikill

Старожил


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

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


http://rghost.ru/12892541

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


Отправлено: 21:40, 29-06-2011 | #2107


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

Ветеран


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

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


Rikill,
лишняя CheckPassword потому что
Код: Выделить весь код
If Setup finds the CheckPassword event function in the Pascal script, it automatically displays the Password page and calls CheckPassword to check passwords. Return True to accept the password and False to reject it.
вот так надо + в CurPageChanged добавить 2 строчки для нажатия кнопки Далее
Код: Выделить весь код
;2. В процедуре InitializeSetup, заполняется массив символов, которые могут использоваться для пароля (а могут и не использоваться).
;3. В процедуре InitializeWizard, поле ввода пароля делается скрытым, что немного прорежает ряды школьников, пытающихся вскрыть ваш инсталлятор.
;4. Как заполняется поле ввода пароля, можно увидеть в процедуре CurPageChanged. Это, наверно, самый простой вариант, но и он не дает увидеть пароль в коде. Еще лучше, если использовать функции и циклы.
;5. Еще одна фишка, это использование в пароле функции с участием GetDateTimeString. При каждом клике на кнопку <Далее>, в переменную сохраняется время. В пароле используется разница между сохраненными и текущими секундами. Так как при нормальной инсталляции, это происходит автоматически и очень быстро, разница практически всегда равна нулю. А вот если проходить в пошаговом режиме (под отладчиком), разница будет не нулевая, и введенный пароль будет не верен. Откровенно говоря, это слабая защита (так как человека, знакомого с такими методами взлома, это не остановит), но все-таки притормозить может.
;6. И, наконец, сразу после проверки пароля, в функции CheckPassword страница PasswordPage ликвидируется.
;Все. Не стоит думать, что этот код нельзя вскрыть. Это только затруднит вскрытие для неподготовленного человека. Но в 99% случаев, этого достаточно.

[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DisableProgramGroupPage=yes
Encryption=yes
Password=Inn0

[*Code]
var
str: string;
MyArray: array of Char;

function InitializeSetup(): Boolean;
begin
	MyArray:= ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0','!','@','#','$','%','^','&','*','(',')'];
	Result:= True;
end;

//function CheckPassword(Password: String): Boolean;
//begin
//	WizardForm.PasswordEdit.Text:= 'Вот и нет пароля';
//	WizardForm.PasswordPage.Free;
//Result:= True;
//end;

procedure InitializeWizard();
begin
//	WizardForm.PasswordEdit.Visible:= False;
	WizardForm.PasswordEdit.Text:= '';
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
	str:= GetDateTimeString('ss', #0, #0);
	Result:= True;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
begin
	WizardForm.PasswordEdit.Text:= MyArray[8]+MyArray[39]+MyArray[39] +	IntToStr(StrToInt(str) - StrToInt(GetDateTimeString('ss', #0, #0)));
	SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0)
  SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0)
//	WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
end;

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

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

Отправлено: 22:40, 29-06-2011 | #2108


Аватара для Rikill

Старожил


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

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


R.i.m.s.k.y., спасибо, надо значит обновить архив в шапке
Сейчас решил вскрыть свой инсталлятор unpacker'ом (Inno Setup Unpacker, расширенная версия) раньше открывался а теперь, когда я перешёл на restools версию инсталлятор не открывается, так-то!


немного не понимаю как русифицировать рестуловскую версию...

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


Последний раз редактировалось Rikill, 29-06-2011 в 23:01.


Отправлено: 22:49, 29-06-2011 | #2109


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

Ветеран


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

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


Цитата Rikill:
R.i.m.s.k.y., спасибо, надо значит обновить архив в шапке »
пожалуйста!
жми полезное сообщение под постом, который помог

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


Отправлено: 22:52, 29-06-2011 | #2110



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход