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

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

Автор: NinjaTurtles100500
Дата сообщения: 19.07.2011 23:08
Такой вопрос. Как мне убрать из инсталлятора SelectDirPage (страницу выбора директории установки) и самому прописать путь установки? Заранее спасибо.
Автор: Kasoi
Дата сообщения: 19.07.2011 23:40
NinjaTurtles100500

Цитата:
Как мне убрать из инсталлятора SelectDirPage

[setup]
DisableDirPage=yes


Цитата:
и самому прописать путь установки?

DefaultDirName={pf}\My Program
Автор: crysis1830
Дата сообщения: 20.07.2011 00:38
Разрешите, обратится новая проблема есть два арк архива, к примеру нужно чтобы они распаковались по очереди как мне это сделать пользуюсь скриптом Need for Speed™ Undercover.iss v 2.2 [Final] нашел там строчку

#define ArcLocation "{src}\*.arc"

хотел сделать так, думал я самый умный но не тут то было

#define ArcLocation "{src}\*data-1.bin" размер 20мб
#define ArcLocation "{src}\*data-2.bin" размер 320мб

после сборки начел установку, инсталлятор устанавливает только одни архив с размером 320мб
что делать и что прописать и куда подскажите, пожалуйста!!!


в общем, мне нужно чтоб инсталлятор устанавливал мои архивы




Автор: NinjaTurtles100500
Дата сообщения: 20.07.2011 00:53
Kasoi
Благодарю)
Автор: Snoopak96
Дата сообщения: 20.07.2011 01:08
crysis1830
Так не побывали:

Цитата:
#define ArcLocation "{src}\*.bin"

Вроде как в скрипте Юрташа поиск по маске архивов, скрипт не разу не смотрел, точно не знаю.
Автор: Dark_Delphin
Дата сообщения: 20.07.2011 01:27
Кто подскажет, почему кнопка MusicButon в инсталляторе стала чорна когда я её опустил на уровень с остальными кнопками?

Вот скриншот:



Автор: ssv14
Дата сообщения: 20.07.2011 09:12
serg_aka_lain

Цитата:
Цитата:
теперь в самом деле правильно обрабатывает имена с пробелами

Да, нормально работает, и прогрессбар тоже
[more=Код, с учётом всех исправлений]

[Setup]
AppName=RecodeOgg
AppVerName=RecodeOgg
OutputDir=.
OutputBaseFilename=RecodeOgg
DefaultDirName={pf}\RecodeOgg
AppendDefaultDirName=False
DisableDirPage=True

[files]
Source: oggdec.exe; DestDir: {app};
Source: oggs\*; DestDir: {app};
Source: oggs\*; DestDir: {app}\Data;


Код:
var
Files: Array of String;
S: String;
n: Integer;

Function StringToArray(Text, Cut: String): array of String; var i, k: Integer;
Begin
SetArrayLength(Result, 0); if Cut = '' then Cut:= #1310; //если шаблон пуст, считаем переводы строк
Repeat k:= Pos(Cut,Text);
if k = 1 then begin Delete(Text, 1, Length(Cut)); CONTINUE
end;
SetArrayLength(Result, GetArrayLength(Result) +1); i:= GetArrayLength(Result) -1;
if k = 0 then
Result[i]:=Text
else begin
Result[i]:= Copy(Text, 1, k -1); Delete(Text, 1, Length(Result[i]) + Length(Cut));
end;
Until Length(Text) * k = 0;
End;

procedure FindFiles(FromDir: String; Mask: String);
var FSR, DSR: TFindRec; FindResult: Boolean;
begin
FindResult:= FindFirst(AddBackslash(FromDir)+Mask, FSR)
while FindResult do begin
if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then begin
S:= S + AddBackslash(fromDir) + FSR.Name +'|';
end;
FindResult:= FindNext(FSR);
end;
FindResult:= FindFirst(AddBackslash(FromDir)+ '*.*', DSR)
while FindResult do begin
if ((DSR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) and not ((DSR.Name = '.') or (DSR.Name = '..')) then begin
FindFiles(AddBackSlash(FromDir)+ DSR.Name, Mask)
end;
FindResult:= FindNext(DSR);
end;
FindClose(FSR); FindClose(DSR)
end;

procedure RecodeOgg;
var ResultCode: integer; CurFile: String;
begin
FindFiles(ExpandConstant('{app}'), '*.ogg') //Находим все файлы по маске, в выбранной папке
Files:= StringToArray(S, '|') //Переводим в массив
WizardForm.ProgressGauge.Max:= GetArrayLength(Files)-1; //Получаем кол-во файлов
for n:=(GetArrayLength(Files)-1) downto 0 do begin
CurFile:= Files[n]
StringChange(CurFile, AddBackslash(ExpandConstant('{app}')), '')
Exec(ExpandConstant('{app}\oggdec.exe'), '-Q '+ AddQuotes(CurFile), '', SW_Hide, EwWaitUntilTerminated, ResultCode) //Для каждого файла запускаем декодер
DeleteFile(Files[n]) //Удаляем ненужный файл
WizardForm.FilenameLabel.Caption:= Files[n]; //Двигаем прогрессбар
WizardForm.ProgressGauge.Position:= WizardForm.ProgressGauge.Position +1;
end;
DeleteFile(ExpandConstant('{app}\oggdec.exe'))
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
WizardForm.ProgressGauge.Position := 0;
WizardForm.StatusLabel.Caption := 'Извлечение аудио файлов...';
RecodeOgg;
end;
end;

[/more]


А возможно как-то сделать, что бы не велся поиск файлов OGG, а брался из списка, например из ogglist.txt, в котором прописаны пути к каждому файлу:

[code]
"Voice\voice true\true.ogg"
"NBK\345.ogg"
"SOUNDS\over voice\hard drum.ogg"
"SOUNDS\music\123.ogg"
"SOUNDS\terminal future\small f.ogg"
.
.
.
"SOUNDS\terminal future\big.ogg"
Автор: SotM
Дата сообщения: 20.07.2011 11:18
Dark_Delphin
Для начала учимся НЕ выкладывать картинки такого размера. Для кого правила написаны?
Убери картинку такого размера/веса!
Автор: Dark_Delphin
Дата сообщения: 20.07.2011 13:02
Кто подскажет, почему кнопка MusicButon в инсталляторе стала чорна когда я её опустил на уровень с остальными кнопками?

Вот скриншот:

Автор: Shegorat
Дата сообщения: 20.07.2011 13:30
Dark_Delphin
Ну ты молодец... А старое сообщение не дано было исправить?
Dark_Delphin 14:02 20-07-2011
Цитата:
Кто подскажет, почему кнопка MusicButon в инсталляторе стала чорна когда я её опустил на уровень  с остальными кнопками?

Логично предположить, что нужно добавить ее в прозрачную область ISWin7 также как и остальные кнопки.
Автор: SotM
Дата сообщения: 20.07.2011 14:29
Dark_Delphin
А кто твое старое сообщение будет редактировать? Пушкин?
Автор: zxcvvcxz1
Дата сообщения: 20.07.2011 15:00
Привет,чуваки
Автор: Profrager
Дата сообщения: 20.07.2011 21:28
zxcvvcxz1
Автор: Denis_T
Дата сообщения: 21.07.2011 14:32

Помогите, пожалуйста, избавиться от текста в окне деинсталляции (именно там, так как при инсталляции всё нормально).
Автор: tema001
Дата сообщения: 21.07.2011 14:36
Dark_Delphin
Отредактировал ты своё первое сообщение, это хорошо, но теперь это флуд! Удалить надо одно из двух.
Автор: vint56
Дата сообщения: 21.07.2011 15:28
Denis_T на форме дейнсталяций скрываеш лайбалы
UninstallProgressForm.PageNameLabel.Hide;
UninstallProgressForm.PageDescriptionLabel.Hide;
Автор: Denis_T
Дата сообщения: 21.07.2011 15:36
vint56
Данке шон.
Автор: DangeSecond
Дата сообщения: 21.07.2011 16:44
Привет форумчане...Дайте заготовку ISDon чтобы я мог делать всё что хочю картинки наклыдвать ботву а то найти немогу всю тему облазил желательно стабильную версию....
Автор: Gnom3
Дата сообщения: 21.07.2011 17:13
DangeSecond
Форум весь облазил,с а в шапку темы посмотреть забыл? Дополнительные библиотеки для Inno Setup - там стабильная версия лежит. Со скриптом.
Автор: ssv14
Дата сообщения: 21.07.2011 19:21
[more=Код, с учётом всех исправлений]
[Setup]
AppName=RecodeOgg
AppVerName=RecodeOgg
OutputDir=.
OutputBaseFilename=RecodeOgg
DefaultDirName={pf}\RecodeOgg
AppendDefaultDirName=False
DisableDirPage=True

[files]
Source: oggdec.exe; DestDir: {app};
Source: oggs\*; DestDir: {app};
Source: oggs\*; DestDir: {app}\Data;


Код:
var
Files: Array of String;
S: String;
n: Integer;

Function StringToArray(Text, Cut: String): array of String; var i, k: Integer;
Begin
SetArrayLength(Result, 0); if Cut = '' then Cut:= #1310; //если шаблон пуст, считаем переводы строк
Repeat k:= Pos(Cut,Text);
if k = 1 then begin Delete(Text, 1, Length(Cut)); CONTINUE
end;
SetArrayLength(Result, GetArrayLength(Result) +1); i:= GetArrayLength(Result) -1;
if k = 0 then
Result[i]:=Text
else begin
Result[i]:= Copy(Text, 1, k -1); Delete(Text, 1, Length(Result[i]) + Length(Cut));
end;
Until Length(Text) * k = 0;
End;

procedure FindFiles(FromDir: String; Mask: String);
var FSR, DSR: TFindRec; FindResult: Boolean;
begin
FindResult:= FindFirst(AddBackslash(FromDir)+Mask, FSR)
while FindResult do begin
if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then begin
S:= S + AddBackslash(fromDir) + FSR.Name +'|';
end;
FindResult:= FindNext(FSR);
end;
FindResult:= FindFirst(AddBackslash(FromDir)+ '*.*', DSR)
while FindResult do begin
if ((DSR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) and not ((DSR.Name = '.') or (DSR.Name = '..')) then begin
FindFiles(AddBackSlash(FromDir)+ DSR.Name, Mask)
end;
FindResult:= FindNext(DSR);
end;
FindClose(FSR); FindClose(DSR)
end;

procedure RecodeOgg;
var ResultCode: integer; CurFile: String;
begin
FindFiles(ExpandConstant('{app}'), '*.ogg') //Находим все файлы по маске, в выбранной папке
Files:= StringToArray(S, '|') //Переводим в массив
WizardForm.ProgressGauge.Max:= GetArrayLength(Files)-1; //Получаем кол-во файлов
for n:=(GetArrayLength(Files)-1) downto 0 do begin
CurFile:= Files[n]
StringChange(CurFile, AddBackslash(ExpandConstant('{app}')), '')
Exec(ExpandConstant('{app}\oggdec.exe'), '-Q '+ AddQuotes(CurFile), '', SW_Hide, EwWaitUntilTerminated, ResultCode) //Для каждого файла запускаем декодер
DeleteFile(Files[n]) //Удаляем ненужный файл
WizardForm.FilenameLabel.Caption:= Files[n]; //Двигаем прогрессбар
WizardForm.ProgressGauge.Position:= WizardForm.ProgressGauge.Position +1;
end;
DeleteFile(ExpandConstant('{app}\oggdec.exe'))
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
WizardForm.ProgressGauge.Position := 0;
WizardForm.StatusLabel.Caption := 'Извлечение аудио файлов...';
RecodeOgg;
end;
end;

[/more]

А возможно как-то сделать, что бы не велся поиск файлов OGG, а брался из списка, например из ogglist.txt, в котором прописаны пути к каждому файлу:

[code]
"Voice\voice true\true.ogg"
"NBK\345.ogg"
"SOUNDS\over voice\hard drum.ogg"
"SOUNDS\music\123.ogg"
"SOUNDS\terminal future\small f.ogg"
.
.
.
"SOUNDS\terminal future\big.ogg"
Автор: troyan90
Дата сообщения: 21.07.2011 20:37
вот что придумал тыц
скрипт
странно что подобных решений не было на форуме..
Автор: crysis1830
Дата сообщения: 21.07.2011 21:21
мне кто ни будь поможет!! как отключить слайд шоу в скрипте от YURSHAT Need for Speed™ Undercover.iss v 2.2 [Final]
Автор: Kasoi
Дата сообщения: 22.07.2011 00:31
crysis1830

закоментируй

Код: #define SlidesCount "15"
Автор: nik1967
Дата сообщения: 22.07.2011 04:42
troyan90
Спасибо! Возьмём на заметку.
Автор: XepAP
Дата сообщения: 22.07.2011 06:12
Ребят помогите, мне нужно создать на рабочем столе ярлык.
Но для Windows XP он создаётся с одним параметром, а Для Windows 7 с другим.
Как сделать разграничение ? Что у казать в Check: ? Справку читал.

Вот для XP:Name: {group}\Играть Pes; Filename: {app}\pes2011.exe; WorkingDir: {app}; Parameters: "-fulls"
А вот для Windows 7:Name: {group}\Играть Pes; Filename: {app}\pes2011.exe; WorkingDir: {app}; Parameters: "-fullscreen"
Автор: nik1967
Дата сообщения: 22.07.2011 08:21
XepAP
[more=Как то так]
Код: [Setup]
AppName=Приложение
AppVerName=Приложение
DefaultDirName={pf}\123
DirExistsWarning=no

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Icons]
Name: {group}\Играть Pes; Filename: {app}\pes2011.exe; WorkingDir: {app}; Parameters: "-fulls"; Check: not isWin7;
Name: {group}\Играть Pes; Filename: {app}\pes2011.exe; WorkingDir: {app}; Parameters: "-fullscreen"; Check: isWin7;
Name: {group}\Удалить пример; IconFilename: "{app}\unins000.exe"; Filename: "{app}\unins000.exe"; WorkingDir: {app};
Name: {commondesktop}\Удалить пример; Filename: {app}\unins000.exe; WorkingDir: {app};

[_code]
Function isWin7():boolean;
begin
if ((GetWindowsVersion shr 24) = 6) and (((GetWindowsVersion shr 16) and $FF) = 1) then Result := true else Result := False;
end;
Автор: DangeSecond
Дата сообщения: 22.07.2011 08:30
Gnom3 Спасибо большое. Я както сам недодумался)

Автор: NinjaTurtles100500
Дата сообщения: 22.07.2011 18:27
Как в новых версиях инно назначить иконку для файла uninst000.exe и иконку в "установке и удалении программ"?

Код: UninstallIconFile=
Автор: crysis1830
Дата сообщения: 22.07.2011 18:28
Kasoi

#define SlidesCount "15"

а если нету там такой строчки как иначе отключить слайд шоу
Автор: Sarcastic_94
Дата сообщения: 22.07.2011 19:27
Source: Slides\*; Flags: dontcopy

попробуй закомментировать

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

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


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