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

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

Автор: cdman67
Дата сообщения: 03.12.2008 17:06
Добрый день, господа !!! Подскажите, возможен ли вывод окна SFX-архива, запускаемого в процессе инсталляции, в произвольном месте экрана или эта задача принципиально нерешабельна средствами инно ? Если этот вопрос уже освещался - просьба подтвердить, я не поленюсь перелопатить все 4 ветки )
Автор: DarkSeroy
Дата сообщения: 03.12.2008 17:44
Ребяра можно сюда вставить к примеру не BMP , JPEG а GIF




Зарание СПС
Автор: skeptik_vdm
Дата сообщения: 03.12.2008 18:39

Цитата:
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модераторуПодскажите кто нибудь как сделать чтобы на странице выбора директории снизу на чертой
отображались вот эти надписи:
Требуется места на диске: (объем) Гб
Доступно места на диске: (объем) Гб



Мне кто нибудь может с этим помочь или нет срочно надо?!?!?!

Добавлено:

Цитата:
Подскажите кто нибудь как сделать чтобы на странице выбора директории снизу на чертой
отображались вот эти надписи:
Требуется места на диске: (объем) Гб
Доступно места на диске: (объем) Гб


Помогите мне пожалуйста?!?!
Автор: serg_aka_lain
Дата сообщения: 03.12.2008 23:22
DarkSeroy
вариант на основе "gifctrl.dll"

Автор: htuos
Дата сообщения: 04.12.2008 00:19
SotM

Цитата:
Не подскажет ли кто, что за прикол.
Есть вот такой простой скрипт

И вот компилятор ругается на строку "Var1 := 10;", говорит что это "Unknown identifier".

по мне, так это глюк инно, сталкивался с таким когда-то еще в более ранних версиях
а так все корректно написано

cdman67

Цитата:
Добрый день, господа !!! Подскажите, возможен ли вывод окна SFX-архива, запускаемого в процессе инсталляции, в произвольном месте экрана или эта задача принципиально нерешабельна средствами инно ?

возможен (ф-я SetWindowPos), если сможешь получить хэндл окна распаковщика.
а вот как его получить надо подумать. как вариант можно использовать FindWindow, хотя мне никогда не нравилось использовать эту функцию
Автор: ChVL
Дата сообщения: 04.12.2008 07:29
Повисший в воздухе предыдущий вопрос конкретизирую.
Использую Check-функцию IsWin64. В полном соответствии с Help’ом прописываю:

Код: [_Code]
begin
if IsWin64 then
begin
MsgBox('64-bit program files reside in: ' +
ExpandConstant('{pf64}'), mbInformation, MB_OK);
end;
end;
Автор: omals
Дата сообщения: 04.12.2008 09:10
ChVL

Цитата:
Повисший в воздухе предыдущий вопрос конкретизирую.
Использую Check-функцию IsWin64. В полном соответствии с Help’ом прописываю:


ну говорили тебе, что ты из самой IsWin64 ее же и вызываеш - рекурсия
мертвая (вызвал IsWin64 из нее еще раз вызов IsWin64 и т.д. до бесконечности)

ну назви свою функцию не IsWin64, а MyFigna64
и уже в ней вызывай IsWin64
Автор: Diawer
Дата сообщения: 04.12.2008 11:23
Не получается сделать, что бы надпись убиралась, т.е. при выборе компонента, на следующей странице появляется надпись, вопрос в том, что если вернутся назад на страницу выбора компонентов и убрать галочку с компонента, то соответственно убиралась надпись. Что нужно [more= здесь][Setup]
AppName=My program
AppVerName=My program
DefaultDirName={pf}\My program
DefaultGroupName=My program

[Components]
Name: Main; Description: Choose program:

[Files]
Source: compiler:\Default.isl; DestDir: {app}

[Code_]
procedure CurPageChanged(CurPageID: Integer);
var
MsgStr: TNewStaticText;
StaticText: TNewStaticText;
begin
with WizardForm do
begin
if CurPageID = wpSelectDir then
SelectDirPage.Notebook.ActivePage:= SelectComponentsPage;
if CurPageID = wpSelectComponents then
SelectComponentsPage.Notebook.ActivePage:= SelectDirPage;
DiskSpaceLabel.Caption:= ComponentsDiskSpaceLabel.Caption;
end;
if (CurPageID = wpSelectComponents) and IsComponentSelected('Main') then
begin
StaticText := TNewStaticText.Create(WizardForm);
StaticText.Top := WizardForm.GroupEdit.Top + WizardForm.GroupEdit.Height + ScaleY(20);
StaticText.Left := ScaleX(0);
StaticText.AutoSize := True;
StaticText.Font.Color:= clBlue;
StaticText.Parent := WizardForm.SelectDirPage
StaticText.Caption := 'Only English version'
end;
end;[/more] добавить.


Добавлено:
Не получается сделать, что бы надпись убиралась, т.е. при выборе компонента, на следующей странице появляется надпись, вопрос в том, что если вернутся назад на страницу выбора компонентов и убрать галочку с компонента, то соответственно убиралась надпись. Что нужно [more= здесь][Setup]
AppName=My program
AppVerName=My program
DefaultDirName={pf}\My program
DefaultGroupName=My program

[Components]
Name: Main; Description: Choose program:

[Files]
Source: compiler:\Default.isl; DestDir: {app}

[Code_]
procedure CurPageChanged(CurPageID: Integer);
var
MsgStr: TNewStaticText;
StaticText: TNewStaticText;
begin
with WizardForm do
begin
if CurPageID = wpSelectDir then
SelectDirPage.Notebook.ActivePage:= SelectComponentsPage;
if CurPageID = wpSelectComponents then
SelectComponentsPage.Notebook.ActivePage:= SelectDirPage;
DiskSpaceLabel.Caption:= ComponentsDiskSpaceLabel.Caption;
end;
if (CurPageID = wpSelectComponents) and IsComponentSelected('Main') then
begin
StaticText := TNewStaticText.Create(WizardForm);
StaticText.Top := WizardForm.GroupEdit.Top + WizardForm.GroupEdit.Height + ScaleY(20);
StaticText.Left := ScaleX(0);
StaticText.AutoSize := True;
StaticText.Font.Color:= clBlue;
StaticText.Parent := WizardForm.SelectDirPage
StaticText.Caption := 'Only English version'
end;
end;[/more] добавить.
Автор: ChVL
Дата сообщения: 04.12.2008 14:53
omals
Спасибо! Более внимательно отнёсся к Вашему решению, и всё получилось. Я же свято верил этой библии - Help'у и никак не мог предположить, что там так некорректно привели пример.

На один вопрос так и нет ответа: кому и зачем нужны флаги 32bit и 64bit?
Автор: SotM
Дата сообщения: 04.12.2008 15:55
ChVL

Цитата:
Я же свято верил этой библии Help'у и никак не мог предположить, что там так некорректно привели пример.

В хелпе всё правильно написано, цитирую:
Код:
begin
// Check IsWin64 before using a 64-bit-only feature to
// avoid an exception when running on 32-bit Windows.
if IsWin64 then
begin
MsgBox('64-bit program files reside in: ' +
ExpandConstant('{pf64}'), mbInformation, MB_OK);
end;
end;
Автор: htuos
Дата сообщения: 04.12.2008 16:13
Diawer

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

примерно [more=так][Setup]
AppName=My program
AppVerName=My program
DefaultDirName={pf}\My program
DefaultGroupName=My program

[Components]
Name: Main; Description: Choose program:

[Files]
Source: compiler:\Default.isl; DestDir: {app}

[Code_]
var
StaticText: TNewStaticText;

procedure InitializeWizard;
begin
StaticText := TNewStaticText.Create(WizardForm);
with StaticText do begin
Top := WizardForm.GroupEdit.Top + WizardForm.GroupEdit.Height + ScaleY(20);
Left := ScaleX(0);
AutoSize := True;
Font.Color:= clBlue;
Parent := WizardForm.SelectDirPage;
Caption := 'Only English version';
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
with WizardForm do begin
case CurPageID of
wpSelectDir: begin
SelectDirPage.Notebook.ActivePage:= SelectComponentsPage;
PageNameLabel.Caption:='SelectComponentsPage';
PageDescriptionLabel.Caption:='SelectComponentsPage';
end;
wpSelectComponents: begin
SelectComponentsPage.Notebook.ActivePage:= SelectDirPage;
StaticText.Visible:=IsComponentSelected('Main');
PageNameLabel.Caption:='SelectDirPage';
PageDescriptionLabel.Caption:='SelectDirPage';
end;
end;
DiskSpaceLabel.Caption:= ComponentsDiskSpaceLabel.Caption;
end;
end;[/more]
Автор: Don_Juan
Дата сообщения: 04.12.2008 19:13
Ребят ну скажите можно ли мой вопрос решить или нет?
http://forum.ru-board.com/topic.cgi?forum=5&topic=27438&start=1620
Автор: Diawer
Дата сообщения: 04.12.2008 19:27
Приогромнейше благодарю.

Добавлено:
htuos
Автор: Artem_Butenko
Дата сообщения: 04.12.2008 20:10
Товарищи, подскажите как организовать в Inno Setup вывод анимированного gif, как splash-заставки.
Автор: EagleSH
Дата сообщения: 05.12.2008 20:07
Господа, как в старом VistaSkin (там, где транспарент) вернуть при установке отображение файлов, которые ставятся? чёт не врублюсь.
Автор: Mouzes
Дата сообщения: 06.12.2008 04:55
Парни, читал мануал по внесению в реестр значений, при установке программы. Там используется секция: [Registry]

Никак не пойму, как мне высnроить правильно строку, чтобы внести вот эти значения:


REGEDIT4

[HKEY_CURRENT_USER\Software\Valve\Steam]
"Language"="russian"

А то людям, послt устновки программы, приходится вручную запускать файл реестра с этим содержимым.

Автор: Serega0675
Дата сообщения: 06.12.2008 09:01
Mouzes

Цитата:
Никак не пойму, как мне высnроить правильно строку, чтобы внести вот эти значения:

REGEDIT4

[HKEY_CURRENT_USER\Software\Valve\Steam]
"Language"="russian"

Вы имеете ввиду, как написать в скрипте? Если да, то [more=вот][Registry]
Root: HKCU; SubKey: Software\Valve\Steam; ValueType: string; ValueName: Language; ValueData: russian[/more]
Автор: omals
Дата сообщения: 06.12.2008 10:02
Mouzes
[Registry]
Root: HKCU; Subkey: "Software\Valve\Steam\"; ValueType: string; ValueName: "Language"; ValueData: "russian";
Автор: Mouzes
Дата сообщения: 06.12.2008 16:17

Цитата:
Вы имеете ввиду, как написать в скрипте? Если да, то вот


Цитата:
[Registry]
Root: HKCU; Subkey: "Software\Valve\Steam\"; ValueType: string; ValueName: "Language"; ValueData: "russian";


Парни, низкий поклон вам, огроменное пасипки от всей нашей сети!
Автор: equis
Дата сообщения: 06.12.2008 16:53
Доступна обновленная версия распаковщика innounp enhanced (с поддержкой русского языка).

Изменения:

Цитата:
- улучшен алгоритм определения версии упаковщика
- улучшена работа с зашифрованными инсталляторами, также добавлена возможность вывода хеша пароля по алгоритму md5 и соли (password md5 hash, password salt)
- доработан код, который отвечает за работу с инсталляторами, использующими модифицированные загрузчики и нестандартные сценарии установки, в т.ч. с поддержкой шифрования (сейчас на стадии beta2)
- реализована многоязыковая поддержка (языковые ресурсы лежат в папке Lang, которая должна находиться в одной директории с innounp) Язык назначается автоматически в зависимости от пользовательской локали, при условии, что соотвествующий языковой модуль найден в папке Lang. Если модуль не найден, языком по умолчанию будет английский.


Скачать innounp v0.23 (2008.12.06)

При копировании, пожалуйста, указывайте автора сборки и переводчика.
Автор: Artem_Butenko
Дата сообщения: 06.12.2008 22:28
Друзья -- я все с тем же вопросом, как на основе библиотеки gifctrl.dll организовать из анимированного *.gif splash-screen?
Автор: DemonAk
Дата сообщения: 06.12.2008 23:13
Можно ли как то реализовать что бы первый компонент устанавливался в одну директорию по умолчанию, 2ой во вторую и 3й в третью и что бы при установке можно было сменить каталог, также хотелось бы что бы DefaultGroupName был для каждого компонента свой, в общем охота загнать в один инсталлятор 3 игрухи с выбором какую игру ставить. Возможно ли вообще такое? или придется для каждой игры делать свой инсталл.
Автор: GameOver
Дата сообщения: 06.12.2008 23:52
Почти везде вместо названия программы использую переменную {cm:cmProgramName}, которая везде работает, кроме раздела [Code]. Если вставляю туда {cm:cmProgramName} вместо названия программы, то при попытке установить на машину, где нет этой программы я вижу такой текст - "Программа не установлена, чтобы установить {cm:cmProgramName}, установите сначала программу!".

Кто знает причину и как ее можно исправить?


Вот изначальный код:
[Setup]
AppName={cm:cmProgramName}
AppVerName={cm:cmProgramName}

[CustomMessages]
russian.cmProgramName=Фотопак

[Code]
function InitializeSetup(): Boolean;
begin
Result := RegValueExists(HKEY_LOCAL_MACHINE,'SOFTWARE\SPORTS\FM 09', 'Install Dir');
if Result = False then
MsgBox('Программа не установлена, чтобы установить Фотопак, установите сначала программу!', mbError, MB_OK);
end;

Автор: omals
Дата сообщения: 07.12.2008 08:23
GameOver
не cовсем понял вопрос
в коде чтоб получить значение константы нужно
ExpandConstant('{cm:cmProgramName}');
тоесть
MsgBox('Программа не установлена, чтобы установить ' + ExpandConstant('{cm:cmProgramName}') + ', установите сначала программу!', mbError, MB_OK);

Добавлено:
equis & All
если задать
Compression=lzma/ultra (или ultra64)
то InnoUnp в TotalCommander дает
пустую папку
[## Inno Setup ##]
и два файла
install.exe
uninst.exe
размером 0

при других параметрах Compression, все нормально
мож кто знает как в бороться c такой мелкой неприятностью
Автор: Artem_Butenko
Дата сообщения: 07.12.2008 13:00
Victor_Dobrov и Genri -- прошу Вашей помощи ребята. Возникла идея вывода анимированного *.gif как сплэш-скрина на основе библиотеки gifctrl.dll. Самому организовать подобное сложно, просто я не знаю какие функции необходимо вызывать из данной библиотеки. Буду очень благодарен за Ваше содействие.
Автор: SotM
Дата сообщения: 07.12.2008 19:37
Artem_Butenko
Незачем на одной странице по 3 раза повторять одну и ту же просьбу. Может людям некогда заглядывать сюда, либо заняты, либо пока еще не знают ответа. Так что: терпение!
Автор: Forslay
Дата сообщения: 07.12.2008 19:52

Цитата:
Victor_Dobrov и Genri -- прошу Вашей помощи ребята. Возникла идея вывода анимированного *.gif как сплэш-скрина на основе библиотеки gifctrl.dll. Самому организовать подобное сложно, просто я не знаю какие функции необходимо вызывать из данной библиотеки. Буду очень благодарен за Ваше содействие.



Мне кстати тоже очень интересно...
Автор: Forslay
Дата сообщения: 08.12.2008 09:08
Кстати, а есть у кого ещё примеры анимированных картинок (прогресс баров) Ну что то типо этого:



Заранее спасибо...



Кстати на странице установки, эта gif'ка перебивает отображение процесса копирования файлов в байтах и процентах...
Автор: Serega0675
Дата сообщения: 08.12.2008 10:17

Цитата:
Кстати на странице установки, эта gif'ка перебивает отображение процесса копирования файлов в байтах и процентах...
Я тоже обратил на это внимание.

Цитата:
а есть у кого ещё примеры анимированных картинок
Мне тоже было бы интересно...
Автор: ExpeditorR
Дата сообщения: 08.12.2008 10:42
Artem_Butenko
Forslay
Если для вас не критичен размер аж целых 177кб., то я написал issplash.dll показывающюю Splash-screen из gif,bmp,jpg файлов. Забирайте по ссылке Описание в архиве.
P.S.
Нужно ли добавлять возможность использования avi,swf,flv в качестве Splash-screen? это заметно увеличит размер dll.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Презентация


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