Добрый день, господа !!! Подскажите, возможен ли вывод окна SFX-архива, запускаемого в процессе инсталляции, в произвольном месте экрана или эта задача принципиально нерешабельна средствами инно ? Если этот вопрос уже освещался - просьба подтвердить, я не поленюсь перелопатить все 4 ветки )
» Inno Setup (создание инсталяционных пакетов)
Ребяра можно сюда вставить к примеру не BMP , JPEG а GIF
Зарание СПС
Зарание СПС
Цитата:
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модераторуПодскажите кто нибудь как сделать чтобы на странице выбора директории снизу на чертой
отображались вот эти надписи:
Требуется места на диске: (объем) Гб
Доступно места на диске: (объем) Гб
Мне кто нибудь может с этим помочь или нет срочно надо?!?!?!
Добавлено:
Цитата:
Подскажите кто нибудь как сделать чтобы на странице выбора директории снизу на чертой
отображались вот эти надписи:
Требуется места на диске: (объем) Гб
Доступно места на диске: (объем) Гб
Помогите мне пожалуйста?!?!
SotM
Цитата:
по мне, так это глюк инно, сталкивался с таким когда-то еще в более ранних версиях
а так все корректно написано
cdman67
Цитата:
возможен (ф-я SetWindowPos), если сможешь получить хэндл окна распаковщика.
а вот как его получить надо подумать. как вариант можно использовать FindWindow, хотя мне никогда не нравилось использовать эту функцию
Цитата:
Не подскажет ли кто, что за прикол.
Есть вот такой простой скрипт
И вот компилятор ругается на строку "Var1 := 10;", говорит что это "Unknown identifier".
по мне, так это глюк инно, сталкивался с таким когда-то еще в более ранних версиях
а так все корректно написано
cdman67
Цитата:
Добрый день, господа !!! Подскажите, возможен ли вывод окна SFX-архива, запускаемого в процессе инсталляции, в произвольном месте экрана или эта задача принципиально нерешабельна средствами инно ?
возможен (ф-я SetWindowPos), если сможешь получить хэндл окна распаковщика.
а вот как его получить надо подумать. как вариант можно использовать FindWindow, хотя мне никогда не нравилось использовать эту функцию
Повисший в воздухе предыдущий вопрос конкретизирую.
Использую Check-функцию IsWin64. В полном соответствии с Helpом прописываю:
Код: [_Code]
begin
if IsWin64 then
begin
MsgBox('64-bit program files reside in: ' +
ExpandConstant('{pf64}'), mbInformation, MB_OK);
end;
end;
Использую Check-функцию IsWin64. В полном соответствии с Helpом прописываю:
Код: [_Code]
begin
if IsWin64 then
begin
MsgBox('64-bit program files reside in: ' +
ExpandConstant('{pf64}'), mbInformation, MB_OK);
end;
end;
ChVL
Цитата:
ну говорили тебе, что ты из самой IsWin64 ее же и вызываеш - рекурсия
мертвая (вызвал IsWin64 из нее еще раз вызов IsWin64 и т.д. до бесконечности)
ну назви свою функцию не IsWin64, а MyFigna64
и уже в ней вызывай IsWin64
Цитата:
Повисший в воздухе предыдущий вопрос конкретизирую.
Использую Check-функцию IsWin64. В полном соответствии с Helpом прописываю:
ну говорили тебе, что ты из самой IsWin64 ее же и вызываеш - рекурсия
мертвая (вызвал IsWin64 из нее еще раз вызов IsWin64 и т.д. до бесконечности)
ну назви свою функцию не IsWin64, а MyFigna64
и уже в ней вызывай IsWin64
Не получается сделать, что бы надпись убиралась, т.е. при выборе компонента, на следующей странице появляется надпись, вопрос в том, что если вернутся назад на страницу выбора компонентов и убрать галочку с компонента, то соответственно убиралась надпись. Что нужно [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] добавить.
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] добавить.
omals
Спасибо! Более внимательно отнёсся к Вашему решению, и всё получилось. Я же свято верил этой библии - Help'у и никак не мог предположить, что там так некорректно привели пример.
На один вопрос так и нет ответа: кому и зачем нужны флаги 32bit и 64bit?
Спасибо! Более внимательно отнёсся к Вашему решению, и всё получилось. Я же свято верил этой библии - Help'у и никак не мог предположить, что там так некорректно привели пример.
На один вопрос так и нет ответа: кому и зачем нужны флаги 32bit и 64bit?
ChVL
Цитата:
В хелпе всё правильно написано, цитирую:
Код:
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;
Цитата:
Я же свято верил этой библии 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;
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]
Цитата:
Не получается сделать, что бы надпись убиралась, т.е. при выборе компонента, на следующей странице появляется надпись, вопрос в том, что если вернутся назад на страницу выбора компонентов и убрать галочку с компонента, то соответственно убиралась надпись. Что нужно здесь добавить.
примерно [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]
Ребят ну скажите можно ли мой вопрос решить или нет?
http://forum.ru-board.com/topic.cgi?forum=5&topic=27438&start=1620
http://forum.ru-board.com/topic.cgi?forum=5&topic=27438&start=1620
Приогромнейше благодарю.
Добавлено:
htuos
Добавлено:
htuos
Товарищи, подскажите как организовать в Inno Setup вывод анимированного gif, как splash-заставки.
Господа, как в старом VistaSkin (там, где транспарент) вернуть при установке отображение файлов, которые ставятся? чёт не врублюсь.
Парни, читал мануал по внесению в реестр значений, при установке программы. Там используется секция: [Registry]
Никак не пойму, как мне высnроить правильно строку, чтобы внести вот эти значения:
REGEDIT4
[HKEY_CURRENT_USER\Software\Valve\Steam]
"Language"="russian"
А то людям, послt устновки программы, приходится вручную запускать файл реестра с этим содержимым.
Никак не пойму, как мне высnроить правильно строку, чтобы внести вот эти значения:
REGEDIT4
[HKEY_CURRENT_USER\Software\Valve\Steam]
"Language"="russian"
А то людям, послt устновки программы, приходится вручную запускать файл реестра с этим содержимым.
Mouzes
Цитата:
Вы имеете ввиду, как написать в скрипте? Если да, то [more=вот][Registry]
Root: HKCU; SubKey: Software\Valve\Steam; ValueType: string; ValueName: Language; ValueData: russian[/more]
Цитата:
Никак не пойму, как мне выс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]
Mouzes
[Registry]
Root: HKCU; Subkey: "Software\Valve\Steam\"; ValueType: string; ValueName: "Language"; ValueData: "russian";
[Registry]
Root: HKCU; Subkey: "Software\Valve\Steam\"; ValueType: string; ValueName: "Language"; ValueData: "russian";
Цитата:
Вы имеете ввиду, как написать в скрипте? Если да, то вот
Цитата:
[Registry]
Root: HKCU; Subkey: "Software\Valve\Steam\"; ValueType: string; ValueName: "Language"; ValueData: "russian";
Парни, низкий поклон вам, огроменное пасипки от всей нашей сети!
Доступна обновленная версия распаковщика innounp enhanced (с поддержкой русского языка).
Изменения:
Цитата:
Скачать innounp v0.23 (2008.12.06)
При копировании, пожалуйста, указывайте автора сборки и переводчика.
Изменения:
Цитата:
- улучшен алгоритм определения версии упаковщика
- улучшена работа с зашифрованными инсталляторами, также добавлена возможность вывода хеша пароля по алгоритму md5 и соли (password md5 hash, password salt)
- доработан код, который отвечает за работу с инсталляторами, использующими модифицированные загрузчики и нестандартные сценарии установки, в т.ч. с поддержкой шифрования (сейчас на стадии beta2)
- реализована многоязыковая поддержка (языковые ресурсы лежат в папке Lang, которая должна находиться в одной директории с innounp) Язык назначается автоматически в зависимости от пользовательской локали, при условии, что соотвествующий языковой модуль найден в папке Lang. Если модуль не найден, языком по умолчанию будет английский.
Скачать innounp v0.23 (2008.12.06)
При копировании, пожалуйста, указывайте автора сборки и переводчика.
Друзья -- я все с тем же вопросом, как на основе библиотеки gifctrl.dll организовать из анимированного *.gif splash-screen?
Можно ли как то реализовать что бы первый компонент устанавливался в одну директорию по умолчанию, 2ой во вторую и 3й в третью и что бы при установке можно было сменить каталог, также хотелось бы что бы DefaultGroupName был для каждого компонента свой, в общем охота загнать в один инсталлятор 3 игрухи с выбором какую игру ставить. Возможно ли вообще такое? или придется для каждой игры делать свой инсталл.
Почти везде вместо названия программы использую переменную {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;
Кто знает причину и как ее можно исправить?
Вот изначальный код:
[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;
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 такой мелкой неприятностью
не 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 такой мелкой неприятностью
Victor_Dobrov и Genri -- прошу Вашей помощи ребята. Возникла идея вывода анимированного *.gif как сплэш-скрина на основе библиотеки gifctrl.dll. Самому организовать подобное сложно, просто я не знаю какие функции необходимо вызывать из данной библиотеки. Буду очень благодарен за Ваше содействие.
Artem_Butenko
Незачем на одной странице по 3 раза повторять одну и ту же просьбу. Может людям некогда заглядывать сюда, либо заняты, либо пока еще не знают ответа. Так что: терпение!
Незачем на одной странице по 3 раза повторять одну и ту же просьбу. Может людям некогда заглядывать сюда, либо заняты, либо пока еще не знают ответа. Так что: терпение!
Цитата:
Victor_Dobrov и Genri -- прошу Вашей помощи ребята. Возникла идея вывода анимированного *.gif как сплэш-скрина на основе библиотеки gifctrl.dll. Самому организовать подобное сложно, просто я не знаю какие функции необходимо вызывать из данной библиотеки. Буду очень благодарен за Ваше содействие.
Мне кстати тоже очень интересно...
Кстати, а есть у кого ещё примеры анимированных картинок (прогресс баров) Ну что то типо этого:
Заранее спасибо...
Кстати на странице установки, эта gif'ка перебивает отображение процесса копирования файлов в байтах и процентах...
Заранее спасибо...
Кстати на странице установки, эта gif'ка перебивает отображение процесса копирования файлов в байтах и процентах...
Цитата:
Кстати на странице установки, эта gif'ка перебивает отображение процесса копирования файлов в байтах и процентах...Я тоже обратил на это внимание.
Цитата:
а есть у кого ещё примеры анимированных картинокМне тоже было бы интересно...
Artem_Butenko
Forslay
Если для вас не критичен размер аж целых 177кб., то я написал issplash.dll показывающюю Splash-screen из gif,bmp,jpg файлов. Забирайте по ссылке Описание в архиве.
P.S.
Нужно ли добавлять возможность использования avi,swf,flv в качестве Splash-screen? это заметно увеличит размер dll.
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, истории становления российского интернета. Сделано для людей.