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

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

Автор: Neronk001
Дата сообщения: 28.12.2011 13:48
nik1967

Слуш чел спасибо, реально был закомментирован. Во я дурае
Автор: Kizyak
Дата сообщения: 28.12.2011 14:55
Всем привет, такой вопрос - у кого нибудь есть сей скрипт, поделитесь...)
[more=подробнее]

[/more]
буду очень признателен!
Автор: meekrab
Дата сообщения: 28.12.2011 16:06
Kizyak
Вот тут смотри http://forum.ru-board.com/topic.cgi?forum=5&topic=36421&start=0&limit=1&m=6#1
Need for Speed™ Undercover.iss v 2.2 [Final] + ISDone
Автор: Kizyak
Дата сообщения: 28.12.2011 17:11
а такой вопрос, возможно ли скрипте Need for Speed™ Undercover.iss v 2.2 [Final] + ISDone поставить картинку на каждую страницу инсталлятора?
Автор: Gnom3
Дата сообщения: 29.12.2011 09:46
Обновил сборку InnoUltra, не забываем отписываться об обнаруженных ошибках.
Автор: Taran2ul
Дата сообщения: 29.12.2011 10:58
скажите что за проверка

Код: Check: not ModifyingCheck
Автор: bugron
Дата сообщения: 29.12.2011 11:41

Цитата:
скажите что за проверка

Видимо проверка на изменение чего-либо (файла на HDD, переменной в коде, ключа реестра и т.д.). Эту процедуру написал сам автор скрипта, поэтому в справке вы ничего не нашли.
Автор: TaTTDoGG
Дата сообщения: 29.12.2011 21:35

Цитата:
Здравствуйте. Почему если iswin7 ставлю на страницу удаления, то после удаления остается пустая папка. Как ето можно исправить?  

попробуй так:

Код: [UninstallDelete]
Type: filesandordirs; Name: {app}
Автор: YURSHAT
Дата сообщения: 30.12.2011 00:27

Цитата:
озможно ли скрипте Need for Speed™ Undercover.iss v 2.2 [Final] + ISDone поставить картинку на каждую страницу инсталлятора?

Точно не скажу, скрипт не видел, но наверное возможно
Автор: Taran2ul
Дата сообщения: 30.12.2011 09:06
Скажите пожалуйста, как сделать чтобы инсталлятор закрывался после запуска программы. В конце если оставить галочку "Запустить приложение", то программа запускается, а инсталлятор не закрывается, пока не закрыть программу.

Добавлено:
Скажите пожалуйста, как сделать чтобы инсталлятор закрывался после запуска программы. В конце если оставить галочку "Запустить приложение", то программа запускается, а инсталлятор не закрывается, пока не закрыть программу.
Автор: YURSHAT
Дата сообщения: 30.12.2011 09:27
Taran2ul

Цитата:
Скажите пожалуйста, как сделать чтобы инсталлятор закрывался после запуска программы.

Скачайте в шапке русскую справку от товарища bugron и почитайте про секцию [Run] и флаги для запуска программ из этой секции.
Автор: Taran2ul
Дата сообщения: 30.12.2011 09:46
YURSHAT
спасибо. Справка была, а в секцию [Run] заглянуть не додумался.
Автор: bugron
Дата сообщения: 30.12.2011 19:15
Привет всем!
Дорогие модераторы и пользователи, простите за , но должен спросить. Ни у кого не найдётся компонент для Delphi Virtual Explorer Tree (автор Jim Kueneman, мучительный поиск не дал результатов)? Ещё раз простите за оффтопик.
Автор: Gnom3
Дата сообщения: 30.12.2011 20:12

Цитата:
мучительный поиск не дал результатов
Ссылка
Результатов много, но в основном аналоги этого компонента. а в ветке по дельфе тебе не ответили?

Не оно?
Автор: bugron
Дата сообщения: 30.12.2011 20:32

Цитата:

Gnom3
Ссылка

Спасибо, но ссылка на файл не рабочая, как и все остальные.


Цитата:
Результатов много, но в основном аналоги этого компонента. а в ветке по дельфе тебе не ответили?
Не оно?


Не это кажется Virtual Treeview, это я имею. Честно говоря я посмотрел разел касающиеся компонентов, но там посты были такие старые, что подумал спросить здесь.
Автор: GhoSt_1616
Дата сообщения: 30.12.2011 21:44
Kizyak, это моя адаптация под себя скрипта Юршата версии 1.2 + Исдан 0,5 + полупрозрачность. Там потом много еще чего появилось со временем... Самый продвинутый вариант был на ТДУ2 только вот у меня был вирус, который повредил MBR харда и все скрипты, наработки пропали)))

Хотя черной рамкой-разводами поделиться могу

Раз уж я отписался, вопрос к знатокам ибо я хз когда последний раз был на руборде (больше года назад): идея создания инсталятора из пнг-формы все так же стоит на месте? Можно ли на CreateFornFromPicture наложить кнопки без гемороя или хотя бы как-то попроще нежели это реализовано у Хтуоса в его старкрафте 2?
Автор: Edison007007
Дата сообщения: 30.12.2011 23:52
GhoSt_1616
нет, с ПНГ всё на месте
Автор: Xom9I4oK
Дата сообщения: 30.12.2011 23:58
В последней версии юникод инно (нормальной, не китайской) у меня какой-то глюк с этой процедурой
Код: Procedure PercentsProc(h, msg, idevent, dwTime: Longword);
Begin
with WizardForm.ProgressGauge do
begin
PercentsLabel.Caption:= 'Выполнено: ' + IntToStr((Position-Min)/((Max - Min)/100)) + ' %';
SetAppTitle('Установка: ' + IntToStr((Position-Min)/((Max - Min)/100)) + ' %');
end;
End;
Автор: Gnom3
Дата сообщения: 31.12.2011 07:04
Xom9I4oK попробуй так:


Код: function NumToStr(Float: Extended): String;
begin
Result:= Format('%.1n', [Float]); StringChange(Result, ',', '.');
while Pos('.', Result) >0 do SetLength(Result, Length(Result)-1);
end;

Procedure PercentsProc(h, msg, idevent, dwTime: Longword);
begin
with WizardForm.ProgressGauge do
PercentsLabel.Caption:= 'Выполнено ' + NumToStr((Position*100)div Max) + ' %';
SetAppTitle('Установка: ' + NumToStr((Position*100)div Max) + ' %');
end;
Автор: Snoopak96
Дата сообщения: 31.12.2011 07:53
GhoSt_1616
Да уже пробовали как бы, в XP всё норм, в win7/vista мигают контролы при кликах по второй форме, вырубать доступность второй формы не вариант, т.к. не передать захват на неё, там с фокусами ковыряться надо - в общем забили на эту идею (я по кране мере точно ) Маска к стати там вообще не нужна.
Автор: Xom9I4oK
Дата сообщения: 31.12.2011 13:55
Gnom3
Спасибо.

Как сделать чтобы заработал этот код (проверка присутствует какой-либо файл с расширением ехе в определенной папке)

Код: If (FileSearch('*.exe', ExpandConstant('{app}'))='') then
Автор: R3Pa4eK
Дата сообщения: 31.12.2011 14:13
Xom9I4oK
Используй связку FindFirst, FindNext, FindClose.
Автор: bugron
Дата сообщения: 31.12.2011 16:31
YURSHAT
Я тут в шапке посмотрел ссылка на "Инструкция по добавлению нужных кусков кода в скрипт (русский язык)" (раздел "Дополнительные утилиты для Inno Setup") была неисправна. Исправьте эту ссылку на следующую, пожалуйста - http://pastehtml.com/view/bj5zbh42r.html
Автор: nik1967
Дата сообщения: 31.12.2011 16:34
Дорогие форумчане! С наступающим Новым 2012 годом Вас!
Автор: YURSHAT
Дата сообщения: 31.12.2011 16:41
bugron

Цитата:
Исправьте эту ссылку на следующую
Исправил

nik1967
И тебя с наступающим!
Автор: bugron
Дата сообщения: 31.12.2011 16:42

Цитата:
Дорогие форумчане! С наступающим Новым 2012 годом Вас!

Я тоже всех поздравляю. Пусть новый год будет удачным для всех. Ура-Ура-Ура!!!
Автор: Gnom3
Дата сообщения: 31.12.2011 17:43

Цитата:
То есть в данном виде он не работает как надо, то есть не находит ехе-файл по маске.


Цитата:
Используй связку FindFirst, FindNext, FindClose.

Делал для себя - Получение списка файлов в папке, подсчет количества, удаление с отображением на прогрессбаре:
[more=код]
Код: ; Скрипт создан через Мастер Inno Setup Script.
; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Code*]
var
UnInstPage: TWizardPage;
fIleCount: TLabel;
FileList: TNewListBox;
UninsProgress: TNewProgressBar;
OkButton,BrowseButton,UninsBtn: TNewButton;
BrowseEdit: TNewEdit;
ExtractTimer: TTimer;
Step:Integer;

procedure UpdPos(lpStep: Integer);
var k: Integer;
begin
for k:=1 to lpStep div 2 do begin
UninsProgress.Position:= UninsProgress.Position+1;
UninsProgress.Refresh;
end;
end;

procedure Extracted(Sender: TObject);
var
i: Integer;
begin
for I:=0 to FileList.Items.Count-1 do begin
UpdPos(Step);
DeleteFile(FileList.Items.Strings);
UpdPos(Step);
UninsProgress.Position:= Step*(i+1);
end;
UninsProgress.Position:=UninsProgress.Max;
UninsProgress.Refresh;
DelTree(BrowseEdit.Text,True,True,True);
Sleep(500);
ExtractTimer.Enabled:=False;
end;

procedure GetAllFiles(Path: string; Lb: TNewListBox);
var
sRec: TFindRec;
isFound: boolean;
begin
isFound := FindFirst(Path +'\*.*',sRec);
while isFound do
begin
if (sRec.Name <> '.') and (sRec.Name <> '..') then
begin
if (sRec.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY then
GetAllFiles(Path + '\' + sRec.Name, Lb);
Lb.Items.Add(Path + '\' + sRec.Name);
fIleCount.Caption:= 'Количество файлов:'+ IntToStr(FileList.Items.Count);
end;
Application.ProcessMessages;
isFound := FindNext(sRec);
end;
FindClose(sRec);
end;

procedure BrowseEditChange(Sender: TObject);
begin
OkButton.Enabled:= BrowseEdit.Text<>'';
end;

procedure BrowseButtonClick(Sender: TObject);
var
pach:String;
begin
if BrowseForFolder('',pach,False)then
BrowseEdit.Text:=pach;
BrowseEditChange(nil);
end;

procedure OkButtonClick(Sender: TObject);
begin
FileList.Clear;
fIleCount.Caption:= 'Количество файлов:';
GetAllFiles(BrowseEdit.Text, FileList );
if FileList.Items.Count>0 then
Step:= 1000 div FileList.Items.Count;
UninsBtn.Enabled:=true;
end;

procedure UninsBtnClick(Sender: TObject);
begin
ExtractTimer.Enabled:=True;
end;

procedure InitializeWizard();
begin
{ Creates custom wizard page }
UnInstPage := CreateCustomPage(wpWelcome, 'Список файлов для удаления', 'Нажмите конпку Ок, чтобы получить список файлов');

{ fIleCount }
fIleCount := TLabel.Create(WizardForm);
with fIleCount do
begin
Parent := UnInstPage.Surface;
Alignment := taCenter;
AutoSize := False;
Caption := 'Количество файлов:';
SetBounds(ScaleX(104),ScaleY(190),ScaleX(161),ScaleY(13));
end;

{ FileList }
FileList := TNewListBox.Create(WizardForm);
with FileList do
begin
Parent := UnInstPage.Surface;
SetBounds(ScaleX(0),ScaleY(24),ScaleX(417),ScaleY(160));
ItemHeight := 13;
ItemIndex := -1;
end;

{ UninsProgress }
UninsProgress := TNewProgressBar.Create(WizardForm);
with UninsProgress do
begin
Parent := UnInstPage.Surface;
SetBounds(ScaleX(0),ScaleY(3),ScaleX(417),ScaleY(17));
Max:=1000;
end;

{ OkButton }
OkButton := TNewButton.Create(WizardForm);
with OkButton do
begin
Parent := UnInstPage.Surface;
SetBounds(ScaleX(3),ScaleY(190),ScaleX(43),ScaleY(45));
Caption := 'Ок';
OnClick := @OkButtonClick;
end;

{ BrowseEdit }
BrowseEdit := TNewEdit.Create(WizardForm);
with BrowseEdit do
begin
Parent := UnInstPage.Surface;
SetBounds(ScaleX(48),ScaleY(214),ScaleX(290),ScaleY(21));
OnChange := @BrowseEditChange;
end;

{ BrowseButton }
BrowseButton := TNewButton.Create(WizardForm);
with BrowseButton do
begin
Parent := UnInstPage.Surface;
SetBounds(ScaleX(342),ScaleY(212),ScaleX(75),ScaleY(23));
Caption := 'Обзор';
OnClick := @BrowseButtonClick;
end;

{ UninsBtn }
UninsBtn := TNewButton.Create(WizardForm);
with UninsBtn do
begin
Parent := UnInstPage.Surface;
SetBounds(ScaleX(312),ScaleY(185),ScaleX(105),ScaleY(23));
Caption := 'Удаление';
OnClick := @UninsBtnClick;
Enabled:=False;
end;

ExtractTimer := TTimer.Create(WizardForm);
with ExtractTimer do begin
Interval := 100;
OnTimer := @Extracted;
Enabled:=False;
end;

BrowseEditChange(nil);
end;
Автор: bugron
Дата сообщения: 01.01.2012 21:54
Всем привет в новом году!
И так, первый оффтопик (сорри). Ребят, что скажете на такой набор софта (на версии не смотрим), чё лишнее, чё не хватает, что чем заменить и т.д. Пишите в личку (тема "Набор софта"). Заранее всем спасибо за ответы.
Автор: RuS_UA
Дата сообщения: 01.01.2012 22:42
С Новым годом.
Извините, подскажите как сделать так чтоб при определённых условиях, например любая функция = true, то один из компонентов становится неактивным (и выключается или включается).
Или же при проверке добавляется новый компонент.
Заранее благодарен.
Автор: MISHANCHYK
Дата сообщения: 02.01.2012 01:44
Всех с наступившим Новым Годом!
Подскажите пожалкуйста.
При указывании AppId:

Код: #define AppId "Программа"

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

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


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