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

» ISDone.dll

Автор: Profrager
Дата сообщения: 13.12.2010 10:41
nik1967
мало кто хелп читает, а сразу вопрос на форум кидает, что, собственно, и огорчает.
Автор: cdman67
Дата сообщения: 13.12.2010 14:00
Profrager, пожелания на будущее:

1) IsDeltaExtract ()
2) IsOGGDecode ()
3) IsTAKExtract ()



Автор: vasyaetoyaept
Дата сообщения: 13.12.2010 14:06
да
все нашел сори
справку читал давно еще уж не помню что и как
Автор: Shegorat
Дата сообщения: 13.12.2010 14:14
cdman67

Цитата:
3) IsTAKExtract ()

Угу, еслиб был еще исходный код в открытом виде Хотя можно сделать также как и прекомп...
Автор: cdman67
Дата сообщения: 13.12.2010 14:18
Shegorat, ну вот щас качнул дистр с офсайта - SDK в комплекте.
Автор: Profrager
Дата сообщения: 13.12.2010 16:09
cdman67

Цитата:
1) IsDeltaExtract ()
будет

Цитата:
2) IsOGGDecode ()
3) IsTAKExtract ()
не в таком виде, но будет когда-нить. Паковка звуков и графики у меня пока под другим проектом идут (спайдер последний lossless с помощью него на 4.27Гб получилось вместить).

Shegorat

Цитата:
Угу, еслиб был еще исходный код в открытом виде
а смысл? Все равно вряд ли кто откомпилит выложенный мной код, потому как там используется не сильно известные добавки к дельфям (KOL+сторонний менеджер памяти. Устанавливаются в среду делфи+прописываются в конфигах проекта), к тому же там все пути в конфигах и других файлах проекта к этим добавкам прописаны в абсолюных величинах. Каждый раз их править на относительные - это ад. Плюс к этому еще кучу комментов писать, которые я ненавижу. Плюс это пригодится одному человеку от силы. Итого имеем: шкурка выделки не стоит.

Цитата:
Хотя можно сделать также как и прекомп...
это как?
Автор: cdman67
Дата сообщения: 13.12.2010 16:21

Цитата:
это как?

Наверное он имел в виду, что прекомп у тебя реализован внешним вызовом проги, а не интегрирован в dll. И предложил реализовать TAK аналогичным способом, то бишь вызовом tak.exe из ISDone.

Автор: Profrager
Дата сообщения: 13.12.2010 16:31
cdman67

Цитата:
Наверное он имел в виду, что прекомп у тебя реализован внешним вызовом проги, а не интегрирован в dll. И предложил реализовать TAK аналогичным способом, то бишь вызовом tak.exe из ISDone.
неее, так же как в precomp'е делать не буду, там бы все переделать надо, а то все через задницу работает, но как говорит древняя мудрость: не трогай налаженный механизм.. так что TAK, OptimFrog, vorbis, BMF уж сразу через dll будут.
Автор: vasyaetoyaept
Дата сообщения: 13.12.2010 19:33

Цитата:
1) IsDeltaExtract ()
2) IsOGGDecode ()

согласен пригодиться
Автор: duxa174
Дата сообщения: 15.12.2010 13:40
Что-то не везет мне с isdone.
Очередная ошибка, возникающая перед выполнением секции run.

Решено. Только как-то не аккуратно выглядит, нельзя ли этого как-то избежать не монтируя диск с setup.exe?



P.S. Profrager планируешь ли свой MediaPack распространять как исдоне или это останется эксклюзивом для рекодингов?
Автор: Profrager
Дата сообщения: 15.12.2010 15:21
duxa174

Цитата:
Очередная ошибка, возникающая перед выполнением секции run.
У тебя на нескольких двд репак? Если да, то скорее всего установка средствами isdone только во втором диске начинается и распаковка ExtractTemporaryFile('records.inf'); производится соответственно уже при вставленном втором диске. Либо вообще что-то напутал при портировании в свой скрипт. Эту ошибку сама Инно пишет, типа ей файлика этого не хватает для каких-то действий.

Цитата:
P.S. Profrager планируешь ли свой MediaPack распространять как исдоне или это останется эксклюзивом для рекодингов?
пока им практически никто не пользуется, кроме меня, потому как надо доделывать обработку графики, а мне влом)

Добавлено:

Цитата:
Решено. Только как-то не аккуратно выглядит, нельзя ли этого как-то избежать не монтируя диск с setup.exe?

все подготовительные ExtractTemporaryFile делай при инициализации инсталлера, тогда все норм будет
Автор: duxa174
Дата сообщения: 15.12.2010 16:11
Profrager Да, репак у меня на 2 сд
Посмотрел ExtractTemporaryFile('records.inf'); все нормально. Но после повторной установки заметил, что ошибка появляется при создании деинсталлятора, тогда меня осенило поглядеть секцию files, поменял флаг records.inf на донткопи. Все работает.
Автор: WildGoblin
Дата сообщения: 15.12.2010 18:45
Profrager
Хочу отдельное спасибо сказать за справку - отлично написана справка!
Автор: Vlad648
Дата сообщения: 19.12.2010 12:28
Почему-то у меня сначала установщик пытается распаковать арк среп и т д, а потом распаковка самого файла О_о в результате возникает ошибка. почему они выполняются не по порядку?
Автор: Profrager
Дата сообщения: 19.12.2010 22:56
Vlad648
Надеюсь я правильно понял тебя. Но зачем вообще архив для распаковки совать внутрь инсталлера, не проще ли держать его рядом с setup.exe? Если все же это так необходимо, то надо в скрипте найти ssInstall и заменить его на ssPostInstall.
Автор: Eddie13
Дата сообщения: 25.12.2010 10:42
покажите плыз пример где ISDone по секции [Tasks] компоненты распаковывает
Автор: Profrager
Дата сообщения: 25.12.2010 17:16
Eddie13
В коде заменить IsComponentSelected на IsTaskSelected соответственно с именем таска, а не компонента в параметре.
Автор: Eddie13
Дата сообщения: 25.12.2010 20:08
Profrager а вот например скрипт
[more=скрипт]
[Setup]
AppName=AppName
AppVerName=AppVerName
DefaultDirName=C:\AppName

[Files]
;Source: 1.exe; DestDir: {app}; Flags: isreadme; Check: Checked1
;Source: 2.exe; DestDir: {app}; Flags: isreadme; Check: Checked2
;Source: 3.exe; DestDir: {app}; Flags: isreadme; Check: Checked3

[_Code]
Var
Page: TWizardPage;
Text1,Text2,Text3,Text4: TNewStaticText;
Panel: TPanel;
ListBox: TListBox;
Check1,Check2,Check3: TCheckBox;
NoChecks,Label1,Label2,Label3: TLabel;

Function Checked1: Boolean;
begin
Result:=Check1.Checked
end;

Function Checked2: Boolean;
begin
Result:=Check2.Checked
end;

Function Checked3: Boolean;
begin
Result:=Check3.Checked
end;

Procedure Check1OnClick (Sender: TObject);
begin
Check1.Checked:=Not(Check1.Checked)
end;

Procedure Check2OnClick (Sender: TObject);
begin
Check2.Checked:=Not(Check2.Checked)
end;

Procedure Check3OnClick (Sender: TObject);
begin
Check3.Checked:=Not(Check3.Checked)
end;

procedure Check1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled:=True
Text4.Caption:='Описание компонента 1'
end;

procedure Check2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled:=True
Text4.Caption:='Описание компонента 2'
end;

procedure Check3MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled:=True
Text4.Caption:='Описание компонента 3'
end;

procedure NoChecksMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled:=False
Text4.Caption:='Наведите курсор мыши на название компонента, чтобы прочесть его описание.'
end;

Procedure InitializeWizard();
begin
Page:=CreateCustomPage(2, 'Компоненты устанавливаемой программы', 'Выберите компоненты, которые вы хотите установить.')

Text1:=TNewStaticText.Create(Page)
Text1.Left:=0
Text1.Top:=0
Text1.Width:=417
Text1.Height:=28
Text1.AutoSize:=False
Text1.WordWrap:=True
Text1.Caption:='Выберите компоненты программы, которые вы хотите установить. Нажмите на кнопку "Далее" для продолжения.'
Text1.Parent:=Page.Surface

Text2:=TNewStaticText.Create(Page)
Text2.Left:=0
Text2.Top:=63
Text2.Width:=130
Text2.Height:=42
Text2.AutoSize:=False
Text2.WordWrap:=True
Text2.Caption:='Выберите компоненты программы для установки:'
Text2.Parent:=Page.Surface

Panel:=TPanel.Create(Page)
Panel.Left:=287
Panel.Top:=60
Panel.Width:=130
Panel.Height:=160
Panel.BevelInner:=bvLowered
Panel.Parent:=Page.Surface

Text3:=TNewStaticText.Create(Page)
Text3.Left:=293
Text3.Top:=54
Text3.Font.Color:=clBlue
Text3.Caption:='Описание'
Text3.Parent:=Page.Surface

Text4:=TNewStaticText.Create(Page)
Text4.Left:=4
Text4.Top:=10
Text4.Width:=122
Text4.Height:=140
Text4.AutoSize:=False
Text4.WordWrap:=True
Text4.Parent:=Panel

NoChecks:=TLabel.Create(Page)
NoChecks.Width:=WizardForm.Width
NoChecks.Height:=WizardForm.Height
NoChecks.Autosize:=False
NoChecks.Transparent:=True
NoChecks.OnMouseMove:=@NoChecksMouseMove
NoChecks.Parent:=Page.Surface

ListBox:=TListBox.Create(Page)
ListBox.Left:=135
ListBox.Top:=60
ListBox.Width:=140
ListBox.Height:=160
ListBox.Parent:=Page.Surface

Check1:=TCheckBox.Create(Page)
Check1.Left:=2
Check1.Top:=0
Check1.Checked:=True
Check1.Parent:=ListBox

Check2:=TCheckBox.Create(Page)
Check2.Left:=2
Check2.Top:=16
Check2.Checked:=True
Check2.Parent:=ListBox

Check3:=TCheckBox.Create(Page)
Check3.Left:=2
Check3.Top:=32
Check3.Checked:=True
Check3.Parent:=ListBox

Label1:=TLabel.Create(Page)
Label1.Left:=16
Label1.Top:=2
Label1.Caption:='Компонент 1'
Label1.OnClick:=@Check1OnClick
Label1.OnMouseMove:=@Check1MouseMove
Label1.Parent:=Check1

Label2:=TLabel.Create(Page)
Label2.Left:=16
Label2.Top:=2
Label2.Caption:='Компонент 2'
Label2.OnClick:=@Check2OnClick
Label2.OnMouseMove:=@Check2MouseMove
Label2.Parent:=Check2

Label3:=TLabel.Create(Page)
Label3.Left:=16
Label3.Top:=2
Label3.Caption:='Компонент 3'
Label3.OnClick:=@Check3OnClick
Label3.OnMouseMove:=@Check3MouseMove
Label3.Parent:=Check3
end;
[/more]
то тогда в isdone

Код: TmpValue:=1;
if Check1('Checked1') then Comps1:=Comps1+TmpValue; //компонент 1
TmpValue:=TmpValue*2;
if Check2('Checked2') then Comps1:=Comps1+TmpValue; //компонент 2
TmpValue:=TmpValue*2;
if Check3('Checked3') then Comps1:=Comps1+TmpValue; //компонент 3
TmpValue:=TmpValue*2;
if Check4('Checked4') then Comps1:=Comps1+TmpValue; //компонент 4
Автор: Profrager
Дата сообщения: 26.12.2010 08:32
Eddie13
У тебя же там чекбоксы самодельные, поэтому прописывать надо как-то так:
Код: TmpValue:=1;
if Check1.Checked then Comps1:=Comps1+TmpValue; //компонент 1
TmpValue:=TmpValue*2;
if Check2.Checked then Comps1:=Comps1+TmpValue; //компонент 2
TmpValue:=TmpValue*2;
if Check3.Checked then Comps1:=Comps1+TmpValue; //компонент 3
TmpValue:=TmpValue*2;
if Check4.Checked then Comps1:=Comps1+TmpValue; //компонент 4
... и т.д.
Автор: Eddie13
Дата сообщения: 26.12.2010 14:10
Profrager благодарю =)
Автор: ALExey1995
Дата сообщения: 30.12.2010 19:12
привет всем.
я никогда не юзал isdone и не знаю какую версию выбрать посоветуйте что нибудь..
Автор: KillTimer
Дата сообщения: 31.12.2010 04:29
ALExey1995

Цитата:
я никогда не юзал isdone и не знаю какую версию выбрать посоветуйте что нибудь

Ещё не юзал, а уже спрашиваешь. Бери последнюю 0.5, если что-то будет работать не так (что очень маловероятно при условии чтении справки) пробуй 0.4.2.5.
Автор: ALExey1995
Дата сообщения: 31.12.2010 13:20
какую именно? тут их ппц скоко
e/f/n/g/h/i какую именно?
Автор: Profrager
Дата сообщения: 31.12.2010 14:39
ISDone.dll v0.5 final

Скачать можно по ссылке на первой странице.
Изменения относительно последней бета-версии:
Исправлен баг с распаковкой 7z архивов с зашифрованным заголовком;
подправлен оптимизирующий код в подсчете md5 суммы в распаковке srep-архивов для совместимости со старыми процессорами.

Всех с Новым Годом!
Автор: 1ne2wo
Дата сообщения: 31.12.2010 16:08
Profrager, спасибо! Хороший подарок Теперь опять возьмешь паузу над работой с ISDone? С Наступающим! ;]
P.S. в ISDone0.5final скрипт не менялся в сравнении с ISDone0.5n ?
Автор: troyan90
Дата сообщения: 31.12.2010 16:30

Цитата:
P.S. в ISDone0.5final скрипт не менялся в сравнении с ISDone0.5n ?

меня тож это интересует. есть ли изменения по сравнению с версией 0.5n?
Автор: Sttaf
Дата сообщения: 31.12.2010 18:27
Ребята ,обьясните пожалуйста как устнановить этот ISDone!!
Автор: Profrager
Дата сообщения: 31.12.2010 18:57
troyan90, 1ne2wo
могли бы посмотреть дату создания файла скрипта) она от 12.12.2010г, так что никаких изменений в скрипте относительно 0.5n beta нет.
Автор: Gnom3
Дата сообщения: 01.01.2011 02:13
Profrager - глобальный респект, давно уже ждал
Всем счастья здоровья и удачи
С Новым годом!
Автор: Sttaf
Дата сообщения: 01.01.2011 19:24
Ну обьясните хоть кто то в двух словах пожалуйста,какими программами нужно пользоваться и как оно устанавливаеться ,очень нужно!!

Страницы: 12345678910111213141516171819202122

Предыдущая тема: ARM Zvit ошибка!


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