Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: GDDR7
Дата сообщения: 22.09.2012 22:06
вот скрины помогите найти пожалуйста этот скрипт http://i26.fastpic.ru/big/2012/0610/e1/aff42c5af303e8d45d3bbd60b386ebe1.png http://i36.fastpic.ru/big/2012/0610/d8/2b2a4322503f11c8e1be19d40b10f9d8.png http://i25.fastpic.ru/big/2012/0610/75/3bf4d9af0706969c4b08724ecd85c775.png
Автор: Nuclear_glare
Дата сообщения: 24.09.2012 16:30
Помогите пожалуйста с кодом. Нужно чтобы WizardForm.Color:=clblack был только на стартовой странице установщика.
Автор: log1stable
Дата сообщения: 24.09.2012 16:51
Nuclear_glare,
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=1 then WizardForm.Color:=clBlack else WizardForm.Color:=clGreen;
end;

Добавлено:
MOD_TEC, что ты пробовал? М? По-моему, ничего, кроме твоего сообщения, ты не пробовал. А вообще, оформляй деинсталлятор в процедуре UninstallProgressForm. Она - что-то вроде Initialize Wizard, только для деинсталлятора.

Добавлено:
Hell_Dog2011, цвет инсталлятора? Где именно цвет менять? Поподробнее вопрос надо задавать.
Автор: Gunman316
Дата сообщения: 25.09.2012 05:59
А кто знает доки, справки по созданию плагинов на Делфи?
Автор: BUU
Дата сообщения: 25.09.2012 06:50
Всем привет, подскажите пожалуйста как на отдельную страницу добавить ввод ника и пароля, чтобы ввел ник записал в 1 строчку файла ini, а пароль во вторую строчку, только без этих Password=пароль, надо чтоб было просто пароль и ник на двух строчках
Автор: Gnom3
Дата сообщения: 25.09.2012 09:41
BUU
Вот так?
[more=код]
Код: [Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[no][Code][/no]
var
AkkPage: TWizardPage;
LPEdit: array[0..1]of TNewEdit;

procedure InitializeWizard();
var
i : Integer;
begin
AkkPage := CreateCustomPage(wpWelcome, 'Учетная запись', 'Введите данные учетной записи, если имеется.');

for i := 0 to 1 do
begin
with TLabel.Create(WizardForm) do
begin
Parent := AkkPage.Surface;
Alignment := taCenter;
AutoSize := False;
case i of
0 : Caption := 'Введите свой ник';
1 : Caption := 'Введите пароль';
end;
SetBounds(ScaleX(30), ScaleY(56+i*80), ScaleX(357), ScaleY(13));
end;

LPEdit[no][i][/no] := TNewEdit.Create(WizardForm);
with LPEdit[no][i][/no] do
begin
Parent := AkkPage.Surface;
SetBounds(ScaleX(30), ScaleY(72+i*80), ScaleX(357), ScaleY(21));
end;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
if ((LPEdit[0].Text <> '') and (LPEdit[1].Text <> '')) then
SaveStringToFile({ не забудь указать путь и имя файла},LPEdit[0].Text + #13#10 + LPEdit[1].Text, False); { #13#10 - перенос строки}
end;
Автор: SsSsL
Дата сообщения: 25.09.2012 09:53
Всем привет! Подскажите пожалуйста. Установщик скомпилирован на расширенной версии ANSI. Возникает ошибка в окне выбора языка инсталлятора если нажать "Отмена" или крестик, если выбрать нужный язык и нажать Ok - работа мастера начинается и он на выбранном языке. Если компилировать на обычной версии то ошибка не появляется.

Подскажите где посмотреть или что добавить. Спасибо.
Автор: Gnom3
Дата сообщения: 25.09.2012 10:02
SsSsL
Код забыл показать. без кода скажу так - при выходе на этапе выбора языка, ты пытаешься выгрузить что-то , какой-то плагин, который что-то делал с Wizardform. Но на этапе выбора языка она еще не была создана, отсюда и ошибка. создай булевый флаг, и ставь его в зависимость от Wizardform - пока не создана - False, уже создана - true. и на этапе deinitializeSetup проверяей его. если true, то выгружаешь, то что нужно выгрузить, false - ничего не делаешь.
Автор: BUU
Дата сообщения: 25.09.2012 10:33
Да оно, но не понятно как тут вводить ?
SaveStringToFile({не забудь указать имя файла и путь},LPEdit[0].Text + #13#10 + LPEdit[1].Text, False); { #13#10 - перенос строки}
Автор: Gnom3
Дата сообщения: 25.09.2012 10:56

Цитата:
не понятно как тут вводить ?

что вводить? не знаешь как указать файл, в который сохранить? но и я этого не знаю. я не знаю, как у тебя этот файл называется и где он лежит, какова его структура я тоже не знаю. задавая вопрос вы все всегда не даете никаких данных и при этом с пеной у рта и глубокими обидками требуете полного и развернутого ответа. если нет желания включить голову или почитать справку, почему-бы не подумать тогда - как вам отвечать, не имея вообще никаких данных?
Автор: BUU
Дата сообщения: 25.09.2012 11:05
Я знаю,
SaveStringToFile({app}\i4m.ini) ,LPEdit[0].Text + #13#10 + LPEdit[1].Text, False);

Пробывал компиляцию запустить, пишет syntex error, как толком вводить сюда, скобки нужны, блин понять не могу
Автор: Gnom3
Дата сообщения: 25.09.2012 11:07
BUU
А константу раскрывать кто будет? И в справке посмотреть синтаксис функции тоже можно, раз компилятор говорит, что он неверен.

Код: SaveStringToFile(ExpandConstant('{app}\i4m.ini') ,LPEdit[0].Text + #13#10 + LPEdit[1].Text, False);
Автор: BUU
Дата сообщения: 25.09.2012 13:27
спс за константу, а вот другая проблема графическая


Если в чекбоксы вводить, то белый шрифт пишет, а как сделать черный только в этих чекбоксах?, пробывал цвет менять, если менять, в них черный, а общее чёрный шрифт
Автор: Gnom3
Дата сообщения: 25.09.2012 14:06
это эдиты а не чекбоксы.


Код: LPEdit[no][i][/no] := TNewEdit.Create(WizardForm);
with LPEdit[no][i][/no] do
begin
Parent := AkkPage.Surface;
Color := clBlack;
Font.Color := clWhite;
SetBounds(ScaleX(30), ScaleY(72+i*80), ScaleX(357), ScaleY(21));
end;
Автор: BUU
Дата сообщения: 25.09.2012 14:33
Спс, работает
Автор: MOD_TEC
Дата сообщения: 25.09.2012 15:01
Как сделать чтобы при нажатии на кнопку появлялась форма png...Заранее спасибо...
http://forum.oszone.net/attachment.php?attachmentid=87945&d=1348574380
Автор: tahirg
Дата сообщения: 25.09.2012 18:39
мужики помогите плиз
есть извлечённый скрипт, в нём команда на выполнение файл *.vbs, я скрипт русифицировал, но вот при выполнении этого vbs вываливается ошибка vbs не является приложением win32, я так понимаю что то было в секции code
куски скрипта
[Files]
Source: "{tmp}\javaappdatafolder.vbs"; DestDir: "{tmp}"; Components: "javax64 javax86"; MinVersion: 0.0,5.01; Flags: deleteafterinstall
[Run]
Filename: "{tmp}\javaappdatafolder.vbs"; StatusMsg: "Java (TM) Platform SE 7 is being installed..."; Components: "javax64 javax86"; MinVersion: 0.0,5.01;
[Components]
Name: "javax86"; Description: "Java(TM) Platform SE 7 Update 7 for x86 systems (1.7.0_07-b10)"; Types: "custom"; MinVersion: 0.0,5.01;

что написать в секции code, чтобы не было ошибки?
Автор: Gnom3
Дата сообщения: 25.09.2012 19:56
tahirg
[Run]
Filename: "{tmp}\javaappdatafolder.vbs"; StatusMsg: "Java (TM) Platform SE 7 is being installed..."; Flags : shellexec; Components: "javax64 javax86"; MinVersion: 0.0,5.01;
Автор: tahirg
Дата сообщения: 25.09.2012 20:18
Gnom3

хм..такого в оригинальном скрипте нет Flags : shellexec
я не оспариваю ваше решение и не критикую, однако когда запускаю оригинальный exe всё проходит без ошибок, а когда компилирую сввой скрипт, то валится ошибка т.е делаю вывод, что где то в CODE в оригинальном скрипте записано решение
Автор: Gnom3
Дата сообщения: 25.09.2012 21:03
tahirg
Скрипт вынуый анпакером - это только огрызок скрипта, даже в дефолтных секциях. обратите внимание - много-ли флагов присутствует вообще в вытащеном скрипте? в компонентах, при правильном оформлении типов, например, флаги быть обязательно должны.
Цитата:
ошибка vbs не является приложением win32

и это естественно. Вы пытаетесь запустить vbs-скрипт как приложение, а он таковым не является. Флаг shellexec запускает связанное приложение, которое и выполняет этот скрипт на самом деле.
Автор: BUU
Дата сообщения: 25.09.2012 21:12
Ещё вопрос такой, можно ли сделать так чтобы компоненты, можно выбрать только один из них или вообще отказаться установки, почитал про компоненты, так не понял,
Вот -
Автор: Gnom3
Дата сообщения: 25.09.2012 21:22
BUU
секцию компонентов покажи, красивше решение сейчас дам.
Автор: BUU
Дата сообщения: 25.09.2012 21:25
[Components]
Name: NT7; Description:Microsoft .NET Framework - Данный пакет необходим для запуска приложений и в том числе игр (Windows Vista и 7); Flags: exclusive
Name: NET; Description:Microsoft .NET Framework - Данный пакет необходим для запуска приложений и в том числе игр (Windows XP); Flags: exclusive
Автор: Gnom3
Дата сообщения: 25.09.2012 21:30
BUU
Вот так лучше будет - будет создан только тот компонент, который можно ставить на этой системе.


Код: [Components]
Name: NT7; Description:Microsoft .NET Framework - Данный пакет необходим для запуска приложений и в том числе игр (Windows Vista и 7); Check: isWin7
Name: NET; Description:Microsoft .NET Framework - Данный пакет необходим для запуска приложений и в том числе игр (Windows XP); Check: not isWin7

[no][code][/no]
function isWin7():boolean;
var
Version: TWindowsVersion;
begin
GetWindowsVersionEx(Version);
Result := ((Version.Major >= 6) and (Version.Minor >= 0));
end;
Автор: BUU
Дата сообщения: 25.09.2012 21:52
Классный скрипт, спс ещё раз
Автор: Jacsonn
Дата сообщения: 26.09.2012 02:13
Ребят, а подскажите можно ли сделать ComponentsList так чтобы были видны только галочки и компоненты, а самой панели невидно, а то уменя там картинка и ComponentsList пол картинки закрывает. Можно вообще так сделать? Спасибо!!!
Автор: Gnom3
Дата сообщения: 26.09.2012 07:43
Jacsonn
можно. пример в расширенной версии скрипт Example_NewCheckListBox.
Автор: Jacsonn
Дата сообщения: 26.09.2012 15:52
Gnom3
За скрипт спасибо , но как это сделать без кнопоки. Что-бы тот кусок изображения, на котором лежит ComponentsList закрывал его, собственно всё так как и в этом скрипте, но что бы всё это происходило автоматически, без кнопки.
Автор: Gnom3
Дата сообщения: 26.09.2012 17:50
Jacsonn
дык. не создавать кнопку, а из обработчика нужное перенести в InitializeWizard. Логично, вроде?
Новый чеклистбокс можно не создавать, а просто применить функцию LoadBgBmpFrom... прямо к компонентлисту.
Автор: Jacsonn
Дата сообщения: 26.09.2012 21:01
Gnom3 А поподробней можно, просто я так и не понял, откуда выдирать и что?
Всё с этим разобрался, а за скрипт ПАСИБ!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.