R.i.m.s.k.y.
29-06-2011, 14:43
Спасибо, но я имел ввиду размер окна инсталлятора »
это сложно, вытянешь или окно и остальные элементы останутся на месте или закроются, руками надо каждый элемент сдвигать
поставь расширенный инно (в шапках все есть), в нем есть inno form designer, можно мышко сдвигать и рисовать, попробуй
No4noylis
29-06-2011, 14:55
это сложно, вытянешь или окно и остальные элементы останутся на месте или закроются, руками надо каждый элемент сдвигать
поставь расширенный инно (в шапках все есть), в нем есть inno form designer, можно мышко сдвигать и рисовать, попробуй »
Я уже устанавливал inno form designer, у меня возник такой вопрос: можно ли из inno setup как нибудь достать *.isf файл чтоб отредактировать его???
insombia
29-06-2011, 15:02
У кого то есть нормальная ссылка на Inno Setup Form Designer 2.0.8?А то здесь ссылка битая
R.i.m.s.k.y.
29-06-2011, 15:04
У кого то есть нормальная ссылка на Inno Setup Form Designer 2.0.8?А то здесь ссылка битая »
на руборде в соответствующей теме поищи
а вообще Лександер допилил свой инно ультра, можно им пользоваться, там все в одном флаконе
valyok666
29-06-2011, 15:40
доброго времени суток)легче ли делать скрипт модулями?????
R.i.m.s.k.y.
29-06-2011, 15:57
доброго времени суток)легче ли делать скрипт модулями »
с точки зрения моей банальной эрудиции - таки да, если модуль не для одного дистра
Savage-i
29-06-2011, 16:06
Добрый вечер всем
Обыскался по всему интернету и по форумам
Собственно вопрос. Есть инсталляшки сделанные в версии 5.3.10. Так вот ни одним распаковщиком взять его нельзя
Перепробовал разные вариации. Версия 0.36 тоже не берет - пишет неподдерживаемый тип
Может у него чего правят уже в самом экзешнике, что потом он не распаковывается
Подскажите, как и чем можно победить, распаковать
R.i.m.s.k.y.
29-06-2011, 16:18
Добрый вечер всем
Обыскался по всему интернету и по форумам
Собственно вопрос. Есть инсталляшки сделанные в версии 5.3.10. Так вот ни одним распаковщиком взять его нельзя
Перепробовал разные вариации. Подскажите, как и чем можно победить, распаковать »
наверное стоит чуток подождать пока инноанпакер научится его распаковывать
No4noylis
29-06-2011, 16:20
на мой вопрос не ответят???
Savage-i
29-06-2011, 16:28
R.i.m.s.k.y., я так понял, что анпакер эту версию вообще не может распаковать?
Хотя на сайте написано
0.32 (2010.06.14)
Added support for IS versions 5.3.10 (both ANSI and Unicode).
А каким-нибудь обходным средством из него можно вытянуть скрипт?
R.i.m.s.k.y.
29-06-2011, 16:46
как нибудь достать *.isf файл чтоб отредактировать его??? »
что за isf файл? не видел таких
А каким-нибудь обходным средством из него можно вытянуть скрипт? »
не все инно дистры можно распотрошить, не разворачиваются запароленные дистры и дистры, компиленные неInnoSetup
Как можно зашифровать скрипт с файлами чтобы анпакер не брал их?
[hr]
спасибо не заметил.
upd
при компилировании вылезает следующая ошибка internal error an attempt was made to access wizardform before it has been created с жалобой на строчку
WizardForm.PasswordEdit.Text:= 'Вот и нет пароля';
R.i.m.s.k.y.
29-06-2011, 16:52
Как можно зашифровать скрипт с файлами чтобы анпакер не брал их »
я же выше написал, верный способ - запаролить
пример есть в шапке - Сборник вопросов и рядом в коллекции
No4noylis
29-06-2011, 18:13
Как сделать прозрачным фон текста???
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;
R.i.m.s.k.y.
29-06-2011, 20:31
при компилировании вылезает следующая ошибка internal error an attempt was made to access wizardform before it has been created с жалобой на строчку
WizardForm.PasswordEdit.Text:= 'Вот и нет пароля'; »
инно честно тебе написал 0 форма не создана
скорее всего ты WizardForm.PasswordEdit.Text:= делаешь в initializeseup, а надо в initializewizard
R.i.m.s.k.y., брал прямиком из архива со справкой, странно :)
http://rghost.ru/12892541
R.i.m.s.k.y.
29-06-2011, 22:40
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;
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.