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

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

Автор: EvilAlex21
Дата сообщения: 14.10.2011 18:52
I_Am_Good время запуска приложения скорее всего слишком долгое, гдето в скрипте удоления или чтото удолил не то или чтото нето дописал, смотри скрипт ...
Автор: Dark_Delphin
Дата сообщения: 14.10.2011 19:20
Кто может помочь сделать картинку на всех страницах?

Перемучался и не получается..

Заранее спасибо.
Автор: Snoopak96
Дата сообщения: 14.10.2011 19:41
Dark_Delphin
[more=Очень старый пример..]
[_Code]
var
pnl: TPanel;

///////////////////////WelcomePage//////////////////////////////////////
procedure WelcomePage;
begin
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.WelcomeLabel1. AutoSize;
SetBounds(WizardForm.WelcomeLabel1.Left,WizardForm.WelcomeLabel1.Top,
WizardForm.WelcomeLabel1.Width,WizardForm.WelcomeLabel1.Height);
WordWrap:= WizardForm.WelcomeLabel1.WordWrap;
Caption:= WizardForm.WelcomeLabel1.Caption;
with Font do
begin
Color:= WizardForm.WelcomeLabel1.Font.Color;
Style:= WizardForm.WelcomeLabel1.Font.Style;
Name:= WizardForm.WelcomeLabel1.Font.Name;
Size:= WizardForm.WelcomeLabel1.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.WelcomeLabel2. AutoSize;
SetBounds(WizardForm.WelcomeLabel2.Left,WizardForm.WelcomeLabel2.Top,
WizardForm.WelcomeLabel2.Width,WizardForm.WelcomeLabel2.Height);
WordWrap:= WizardForm.WelcomeLabel2.WordWrap;
Caption:= WizardForm.WelcomeLabel2.Caption;
with Font do
begin
Color:= WizardForm.WelcomeLabel2.Font.Color;
Style:= WizardForm.WelcomeLabel2.Font.Style;
Name:= WizardForm.WelcomeLabel2.Font.Name;
Size:= WizardForm.WelcomeLabel2.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////

///////////////////////SelectDirPage//////////////////////////////////////
procedure SelectDirPage;
begin
with WizardForm do
begin
with DirEdit do
begin
Left:= 40;
Top:= 137;
Parent:= pnl;
end;
with DirBrowseButton do
begin
Left:= WizardForm.DirEdit.Left + WizardForm.DirEdit.Width + 10;
Top:= WizardForm.DirEdit.Top - 1;
Parent:= pnl;
end;
with SelectDirBitmapImage do
begin
Left:= WizardForm.DirEdit.Left;
Top:= WizardForm.DirEdit.Top - 62;
Stretch:= True;
Parent:= pnl;
end;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectDirBrowseLabel.AutoSize;
SetBounds(WizardForm.DirEdit.Left,WizardForm.DirEdit.Top - 30,
WizardForm.SelectDirBrowseLabel.Width, WizardForm.SelectDirBrowseLabel.Height);
WordWrap:= WizardForm.SelectDirBrowseLabel.WordWrap;
Caption:= WizardForm.SelectDirBrowseLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectDirBrowseLabel.Font.Color;
Style:= WizardForm.SelectDirBrowseLabel.Font.Style;
Name:= WizardForm.SelectDirBrowseLabel.Font.Name;
Size:= WizardForm.SelectDirBrowseLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectDirLabel.AutoSize;
SetBounds(WizardForm.SelectDirBitmapImage.Left + 50,WizardForm.SelectDirBitmapImage.Top + 10,
WizardForm.SelectDirLabel.Width,WizardForm.SelectDirLabel.Height);
WordWrap:= WizardForm.SelectDirLabel.WordWrap;
Caption:= WizardForm.SelectDirLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectDirLabel.Font.Color;
Style:= WizardForm.SelectDirLabel.Font.Style;
Name:= WizardForm.SelectDirLabel.Font.Name;
Size:= WizardForm.SelectDirLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.DiskSpaceLabel .AutoSize;
SetBounds(WizardForm.DirEdit.Left,WizardForm.Bevel.Top - 25,
WizardForm.DiskSpaceLabel.Width,WizardForm.DiskSpaceLabel.Height);
WordWrap:= WizardForm.DiskSpaceLabel.WordWrap;
Caption:= WizardForm.DiskSpaceLabel.Caption;
with Font do
begin
Color:= WizardForm.DiskSpaceLabel.Font.Color;
Style:= WizardForm.DiskSpaceLabel.Font.Style;
Name:= WizardForm.DiskSpaceLabel.Font.Name;
Size:= WizardForm.DiskSpaceLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////

///////////////////////ReadyPage//////////////////////////////////////
procedure ReadyPage;
var
ready_str: string;
begin
ready_str:= WizardForm.ReadyMemo.Text;
with TLabel.Create(pnl) do
begin
SetBounds(45,115,WizardForm.ReadyMemo.Width, WizardForm.ReadyMemo.Height);
Caption:= ready_str;
with Font do
begin
Color:= WizardForm.ReadyLabel.Font.Color;
Style:= WizardForm.ReadyLabel.Font.Style;
Name:= WizardForm.ReadyLabel.Font.Name;
Size:= WizardForm.ReadyLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TBevel.Create(WizardForm) do
begin
SetBounds(40,110, WizardForm.ReadyMemo.Width, WizardForm.ReadyMemo.Height);
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.ReadyLabel.AutoSize;
SetBounds(40,70, WizardForm.ReadyLabel.Width, WizardForm.ReadyLabel.Height);
WordWrap:= WizardForm.ReadyLabel.WordWrap;
Caption:= WizardForm.ReadyLabel.Caption;
with Font do
begin
Color:= WizardForm.ReadyLabel.Font.Color;
Style:= WizardForm.ReadyLabel.Font.Style;
Name:= WizardForm.ReadyLabel.Font.Name;
Size:= WizardForm.ReadyLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////

///////////////////////InstallingPage//////////////////////////////////////
procedure InstallingPage;
begin
with WizardForm.ProgressGauge do
begin
Left:= 40;
Top:= 115;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.FilenameLabel.AutoSize;
SetBounds(WizardForm.ProgressGauge.Left,WizardForm.ProgressGauge.Top-20,
WizardForm.FilenameLabel.Width,WizardForm.FilenameLabel.Height);
WordWrap:= WizardForm.FilenameLabel.WordWrap;
Caption:= WizardForm.FilenameLabel.Caption;
with Font do
begin
Color:= WizardForm.FilenameLabel.Font.Color;
Style:= WizardForm.FilenameLabel.Font.Style;
Name:= WizardForm.FilenameLabel.Font.Name;
Size:= WizardForm.FilenameLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.StatusLabel. AutoSize;
SetBounds(WizardForm.StatusLabel.Left,WizardForm.StatusLabel.Top,
WizardForm.StatusLabel.Width,WizardForm.StatusLabel.Height);
WordWrap:= WizardForm.StatusLabel.WordWrap;
Caption:= WizardForm.StatusLabel.Caption;
with Font do
begin
Color:= WizardForm.StatusLabel.Font.Color;
Style:= WizardForm.StatusLabel.Font.Style;
Name:= WizardForm.StatusLabel.Font.Name;
Size:= WizardForm.StatusLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////

///////////////////////FinishedPage//////////////////////////////////////
var
CheckBox: array of TNewCheckBox;

procedure CheckBoxClick( Sender: TObject);
begin
if TNewCheckBox( Sender).Checked then
WizardForm.RunList.Checked[TNewCheckBox( Sender).Tag]:= True
else WizardForm.RunList.Checked[TNewCheckBox (Sender).Tag]:= False;
end;

procedure LabelClick( Sender: TObject);
begin
if CheckBox[TLabel( Sender).Tag].Checked then
begin
WizardForm.RunList.Checked[TLabel( Sender).Tag]:= False;
CheckBox[TLabel(Sender).Tag].Checked:= False;
end
else
begin
WizardForm.RunList.Checked[TLabel( Sender).Tag]:= True;
CheckBox[TLabel( Sender).Tag].Checked:= True;
end;
end;

procedure HideRunList(Control: TWinControl);
var
i, t: Integer;
str: string;
begin
if WizardForm.RunList.Items.Count > 0 then
begin
WizardForm.RunList.Hide;
SetArrayLength(CheckBox, SizeOf(WizardForm.RunList.Items.Count));
for i:= 0 to WizardForm.RunList.Items.Count-1 do
begin
CheckBox[i]:= TNewCheckBox.Create(Control);
with CheckBox[i] do
begin
SetBounds(ScaleX(WizardForm.RunList.Left+2),ScaleY(WizardForm.RunList.Top+2+t),14,14);
Tag:= i;
Checked:= WizardForm.RunList.Checked[i];
Caption:= WizardForm.RunList.Items.Strings[i];
OnClick:= @CheckBoxClick;
Color:= clWhite;
Parent:= Control;
end;
str:= WizardForm.RunList.Items.Strings[i];
with TLabel.Create(WizardForm) do
begin
SetBounds(ScaleX(WizardForm.RunList.Left+20),ScaleY(WizardForm.RunList.Top+2+t),
WizardForm.RunList.Width,14);
Caption:= str;
Tag:= i;
OnClick:= @LabelClick;
Transparent:= True;
Parent:= Control;
end;
t:= t + 20;
end;
end;
end;

procedure FinishedPage;
begin
HideRunList(pnl);
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.FinishedHeadingLabel.AutoSize;
SetBounds(WizardForm.FinishedHeadingLabel.Left,WizardForm.FinishedHeadingLabel.Top,
WizardForm.FinishedHeadingLabel.Width,WizardForm.FinishedHeadingLabel.Height);
WordWrap:= WizardForm.FinishedHeadingLabel.WordWrap;
Caption:= WizardForm.FinishedHeadingLabel.Caption;
with Font do
begin
Color:= WizardForm.FinishedHeadingLabel.Font.Color;
Style:= WizardForm.FinishedHeadingLabel.Font.Style;
Name:= WizardForm.FinishedHeadingLabel.Font.Name;
Size:= WizardForm.FinishedHeadingLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.FinishedLabel. AutoSize;
SetBounds(WizardForm.FinishedLabel.Left,WizardForm.FinishedLabel.Top,
WizardForm.FinishedLabel.Width,WizardForm.FinishedLabel.Height);
WordWrap:= WizardForm.FinishedLabel.WordWrap;
Caption:= WizardForm.FinishedLabel.Caption;
with Font do
begin
Color:= WizardForm.FinishedLabel.Font.Color;
Style:= WizardForm.FinishedLabel.Font.Style;
Name:= WizardForm.FinishedLabel.Font.Name;
Size:= WizardForm.FinishedLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////

procedure CurPageChanged(CurPageID: Integer);
begin
pnl:= TPanel.Create(WizardForm);
with pnl do
begin
Align:= alClient;
Parent:= WizardForm;
end;
with WizardForm do
begin
with WizardBitmapImage do
begin
Align:= alClient;
Stretch:= True;
Parent:= pnl;
end;
NextButton.Parent:= pnl;
CancelButton.Parent:= pnl;
BackButton.Parent:= pnl ;
Bevel.Parent:= pnl;
pnl.Repaint;
end;

if (CurPageID > wpWelcome) and (CurPageID < wpFinished) then
begin
WizardForm.Bevel1.Parent:= pnl;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.PageNameLabel.AutoSize;
SetBounds(WizardForm.PageNameLabel.Left,WizardForm.PageNameLabel.Top,
WizardForm.PageNameLabel.Width,WizardForm.PageNameLabel.Height);
Caption:= WizardForm.PageNameLabel.Caption;
with Font do
begin
Color:= WizardForm.PageNameLabel.Font.Color;
Style:= WizardForm.PageNameLabel.Font.Style;
Name:= WizardForm.PageNameLabel.Font.Name;
Size:= WizardForm.PageNameLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.PageDescriptionLabel.AutoSize;
SetBounds(WizardForm.PageDescriptionLabel.Left,WizardForm.PageDescriptionLabel.Top,
WizardForm.PageDescriptionLabel.Width,WizardForm.PageDescriptionLabel.Height);
Caption:= WizardForm.PageDescriptionLabel.Caption;
with Font do
begin
Color:= WizardForm.PageDescriptionLabel.Font.Color;
Style:= WizardForm.PageDescriptionLabel.Font.Style;
Name:= WizardForm.PageDescriptionLabel.Font.Name;
Size:= WizardForm.PageDescriptionLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;

if CurPageID = wpWelcome then WelcomePage;
if CurPageID = wpSelectDir then SelectDirPage;
if CurPageID = wpReady then ReadyPage;
if CurPageID = wpInstalling then InstallingPage;
if CurPageID = wpFinished then FinishedPage;
end;[/more]
Можно и по другому.
Автор: Xom9I4oK
Дата сообщения: 14.10.2011 22:15
Как сделать так чтобы на черном скине Tiger на 7-ке не было этого бага http://farm7.static.flickr.com/6211/6243965213_b1f00412ec.jpg . Т.е. фон там где кнопка ОК тоже был черный...
Автор: EDIK3472
Дата сообщения: 15.10.2011 07:46
Теперь вот что вышло кто знает как исправить помогите пожалуйста
http://linkme.ufanet.ru/images/3ef29e3ccd3a52e229236885b85ed36f.png
Автор: VASYAKRN
Дата сообщения: 15.10.2011 09:03
Как создать тень для текста
Автор: Sten23
Дата сообщения: 15.10.2011 09:40
VASYAKRN
Создаешь ещё один лейбл чёрного цвета с положением на один больше, чем у прежнего))
Автор: VASYAKRN
Дата сообщения: 15.10.2011 10:06
Sten23
А других вариантов нету
Автор: R3Pa4eK
Дата сообщения: 15.10.2011 10:51
FDO.dll 0.2.1 beta
Библиотека умеет устанавливать атрибут для файла\папки, удалять файл, проверять наличие файла\папки, создавать папку, подсчитать сколько файлов в папке, копировать папку, перемещать папку, удалять папку, переименовывать папку.

Функции:
SetFileAttribs - устанавливает атрибут для файла.
SetDirAttribs - устанавливает атрибут для папки.
DelFile - удаляет файл.
DelDir - удаляет папку.
DirExists - проверяет наличие папки.
RenameDir - переименовывает папку.
MoveDir - перемещает папку.
CopyDir - копирует папку.
AllFilesInDir - подсчитывает сколько файлов в папке.
CreateDir - создает папку.
FileExists - проверяет наличие файла.

Скачать
Исправил ошибку в dll. Перекачайте.
Автор: VASYAKRN
Дата сообщения: 15.10.2011 11:17
как убрать етот остаток текста из кнопки папки
Автор: Xom9I4oK
Дата сообщения: 15.10.2011 11:53
R3Pa4eK

Цитата:
FDO.dll 0.2.1 beta

На юникод-версии (обычной, не китайской) не работает!
Автор: R3Pa4eK
Дата сообщения: 15.10.2011 11:55
Xom9I4oK
Что именно не работает?
Автор: Xom9I4oK
Дата сообщения: 15.10.2011 12:12
R3Pa4eK
Ну ты сам свой пример скомпиль, запусти и увидишь - пишет что невозможно выполнить файл во временном каталоге - пробовал прописывать ExtractTemporaryFile('FDO.dll') - все равно та же хрень... Не запускается сетпаник...
На анси версии проверил - не хочет тоже работать как надо - там все нормально устанавливается, а вот дальше...
Дописал в твой скрипт в конец это
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
         MoveDir(ExpandConstant('{app}\Taverna\backup\'),ExpandConstant('{app}'))
         DelDir(ExpandConstant('{app}')+'\Taverna\backup')
DelDir(ExpandConstant('{app}')+'\Taverna')
end;
end;
А в начало это UninstallFilesDir={app}\Taverna
И на этапе удаления пишет что не может не может вызвать процедуру.
Автор: R3Pa4eK
Дата сообщения: 15.10.2011 12:15
Xom9I4oK
Конечно не может. Процедуры нужно копировать для uninstall'a, было на предыдущих страницах, только там был iswin7.dll. Посмотри и поймешь Попробуй заменить dll на эту http://rghost.ru/25652061
Автор: Xom9I4oK
Дата сообщения: 15.10.2011 12:23
Объяснить нормально не судьба желательно с готовым примером! Без отсылов на исвин7, который мне нафиг не сдался. У меня на анси нормально компилиться, но не работает. P.S. заменил дллку - все равно на юникод не запускается сетап...
Автор: R3Pa4eK
Дата сообщения: 15.10.2011 12:29
Xom9I4oK
На анси все работает прекрасно.
Автор: Xom9I4oK
Дата сообщения: 15.10.2011 12:36
R3Pa4eK
Мне надо чтобы на юникод работало!
Попробовал на анси этот код дописать в твой скрипт:
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then
begin
         MoveDir(ExpandConstant('{app}\Taverna\backup\'),ExpandConstant('{app}'))
         DelDir(ExpandConstant('{app}')+'\Taverna\backup')
DelDir(ExpandConstant('{app}')+'\Taverna')
end;
end;
Так он удаляет, но не перемещает!
Автор: R3Pa4eK
Дата сообщения: 15.10.2011 12:39
MoveDir(ExpandConstant('{app}\Taverna_Polputi\backup\'),ExpandConstant('{tmp}\Taverna_Polputi\backup\'))
Автор: Xom9I4oK
Дата сообщения: 15.10.2011 12:43
И что? Мне надо из папки бэкап перенести файлы в корневую папку с игрой на этапе удаления, а у тебя путь один и тот же указан (папка темп вообще тут причем? все папки в app). Просто тк ты не захотел подробнее объяснить чтобы это работало при удалении и не ругалось на то что не найдена процедура, я решил протестить твою дллку на этапе установки. И еще надо чтоб на юникод работало, тк я анси уже не юзаю.
Автор: R3Pa4eK
Дата сообщения: 15.10.2011 12:46
Xom9I4oK
Так попробуй:
MoveDir(ExpandConstant('{app}\Taverna_Polputi\backup\'),ExpandConstant('{app}\*.*'))
если не заработает, то удали *.*
Автор: BADAN36
Дата сообщения: 15.10.2011 12:49
помогите пожалуйста как передвинуть прогресс-бар
Автор: Xom9I4oK
Дата сообщения: 15.10.2011 12:57
R3Pa4eK
Попробовал - все равно пишет что не удается произвести чтение с диска... Что насчет юникод версии - будешь делать или иначе смысла дальше нет вести беседу, тк анси мне не нужна...
Автор: Avengerz13
Дата сообщения: 15.10.2011 13:17
BADAN36
Parent:= WizardForm;
Автор: EDIK3472
Дата сообщения: 15.10.2011 13:39
Теперь вот что вышло кто знает как исправить помогите пожалуйста
http://linkme.ufanet.ru/images/3ef29e3ccd3a52e229236885b85ed36f.png
Автор: Snoopak96
Дата сообщения: 15.10.2011 13:43
EDIK3472
Может надо разкомментировать эти строки в скрипте для чего-то они ведь нужны

Цитата:
#define PrecompInside
#define SrepInside
Автор: EDIK3472
Дата сообщения: 15.10.2011 13:47
Snoopak96
Сделал как ты сказал потом вот что
http://linkme.ufanet.ru/images/5b044d74c78b70d529451a78901b7e4a.png
Автор: Snoopak96
Дата сообщения: 15.10.2011 13:50
EDIK3472
Ну и, так переведи сообщение, наверно надо в папке include заменить версию precomp.exe на ту которой упаковывал.
Автор: EDIK3472
Дата сообщения: 15.10.2011 13:52
Snoopak96
Я прекомпом не пользуюсь я фреарком сжимаю и все!
Автор: Snoopak96
Дата сообщения: 15.10.2011 13:54

Цитата:
Я прекомпом не пользуюсь я фреарком сжимаю и все!

ЛицоЛадонь - 3
Автор: tema001
Дата сообщения: 15.10.2011 14:30
Кто хорошо рисует в фотошопе, прошу скинуть свой логин в скайпе мне в личку. Заранее спасибо.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

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


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