Можно как нибудь распаковать 7z архив (не SFX) также как rar архив через Unrar.exe
» Inno Setup (создание инсталяционных пакетов)
mavzer12
?! Разве твой вопрос каким нибудь образом относится к Inno??? Если и относится, то тогда вопрос сформулирован не правильно.
?! Разве твой вопрос каким нибудь образом относится к Inno??? Если и относится, то тогда вопрос сформулирован не правильно.
к примеру распаковка 7z SFX.exe через Inno
Filename: "{app}\GAME_RUS.exe"; WorkingDir: "{app}"; Parameters: "-y"; StatusMsg: "Процесс русификации..."; Flags: waituntilterminated skipifdoesntexist
А мне надо не SFX а просто ddd.7z архив через Inno
Filename: "{app}\GAME_RUS.exe"; WorkingDir: "{app}"; Parameters: "-y"; StatusMsg: "Процесс русификации..."; Flags: waituntilterminated skipifdoesntexist
А мне надо не SFX а просто ddd.7z архив через Inno
mavzer12
Дык, Help нужно читать, особенно раздел [Files]. К тому же, в шапке темы достаточно примеров. Подобные вопросы здесь уже обсуждались. Поиск рулит.
Дык, Help нужно читать, особенно раздел [Files]. К тому же, в шапке темы достаточно примеров. Подобные вопросы здесь уже обсуждались. Поиск рулит.
mavzer12
Распаковать 7z архив можно с помощью консольного разархиватора 7za.exe.К примеру я так делал:
[Run]
Filename: {src}\7za.exe; WorkingDir: {src}; Parameters: "x Oblivion.7z -y -o""{app}"""; StatusMsg: Установка The Elder Scrolls 4 - Oblivion; Flags: waituntilterminated
Распаковать 7z архив можно с помощью консольного разархиватора 7za.exe.К примеру я так делал:
[Run]
Filename: {src}\7za.exe; WorkingDir: {src}; Parameters: "x Oblivion.7z -y -o""{app}"""; StatusMsg: Установка The Elder Scrolls 4 - Oblivion; Flags: waituntilterminated
Как сделать след. в сексии [Run]
Если в рестре определеная запись стоит тогда он не устанавливаеться... (+ дайте тоже самое но наоботот тапа нет записи не устанавливается)
+ еще 1-ин ?-сик
Хочу распоковать архив *.zip любым способом...
ЗаРаНеЕ сПаСиБо!
Если в рестре определеная запись стоит тогда он не устанавливаеться... (+ дайте тоже самое но наоботот тапа нет записи не устанавливается)
+ еще 1-ин ?-сик
Хочу распоковать архив *.zip любым способом...
ЗаРаНеЕ сПаСиБо!
KurtWagner
В шапке есть примеры. Взято из примера CheckRegValue.iss
По идее должно работать с секцией [Run].
Код: [Run]
Filename: "{src}\Redist\wmpcdcs8.exe"; WorkingDir: "{src}\Redist"; Description: "есть такая буква в этом слове"; Parameters: "/q"; Check: CheckKey
Filename: "{src}\Redist\wmpcdcs8.exe"; WorkingDir: "{src}\Redist"; Description: "нет такой буквы в этом слове"; Parameters: "/q"; Check: not CheckKey
[no][Code][/no]
Function CheckKey: Boolean;
Begin
if ExpandConstant('{reg:HKLM\Software\LucasArts\Star Wars Empire at War\1.0,CD Key}') = 'fc4c-3d8-05f-d411-uk20' then Result:= True
End;
В шапке есть примеры. Взято из примера CheckRegValue.iss
По идее должно работать с секцией [Run].
Код: [Run]
Filename: "{src}\Redist\wmpcdcs8.exe"; WorkingDir: "{src}\Redist"; Description: "есть такая буква в этом слове"; Parameters: "/q"; Check: CheckKey
Filename: "{src}\Redist\wmpcdcs8.exe"; WorkingDir: "{src}\Redist"; Description: "нет такой буквы в этом слове"; Parameters: "/q"; Check: not CheckKey
[no][Code][/no]
Function CheckKey: Boolean;
Begin
if ExpandConstant('{reg:HKLM\Software\LucasArts\Star Wars Empire at War\1.0,CD Key}') = 'fc4c-3d8-05f-d411-uk20' then Result:= True
End;
Ребята, ктото пробовал на заднем фоне проигрывать видео в формате bik библиотекой binkw32.dll?
Уважаемые специалисты в области кодинга в Inno Setup, у меня возник вопрос, нет, даже скорее идея. М.б. есть вариант использования специфической библиотеки (?!) для подгрузки собственной озвучки действий инсталлятора, например, через паскаль-скрипт привязать озвучку кнопок ("OK" и "Отмена") диалоговых окон не удается, также нельзя изменить озвучку появления информативных окон (например, сообщения об ошибке и др.). Очень интересный вариант озвучивания действий инсталлятора реализовал в Coronа Skin Victor_Dobrov, однако в данном варианте инсталлятор ссылается на .wav файлы операционной системы. Вопрос в том, можно ли использовать вариант Виктора, но с условием включения .wav ресурсов в дистрибутив инсталлятора, при запуске которого, все звуковые файлы (сопровождающие действия инсталлятора) копировались во временную папку (откуда, соответственно и используются). Искренне надеюсь, что мой вопрос не останется без внимания!
Ruud
Большой thanks
Большой thanks
Vitalliano
Цитата:
Как-то не интересовался этим. Слайд-шоу вполне устраивает. Инсталляторы сейчас и так объёмные и показ видео вместе с lzma-распаковкой сделает установку весьма затянутой. А показ bik-файла требует ещё больше ресурсов, чем например, divx.
Цитата:
Ребята, кто-то пробовал на заднем фоне проигрывать видео в формате bik библиотекой binkw32.dll?
Как-то не интересовался этим. Слайд-шоу вполне устраивает. Инсталляторы сейчас и так объёмные и показ видео вместе с lzma-распаковкой сделает установку весьма затянутой. А показ bik-файла требует ещё больше ресурсов, чем например, divx.
Просто bik занемает меньше места чем divx или xvid.
Друзья, пожалуйста посмотрите мой вопрос на предыдущей странице, может быть у кого-нибудь есть конструктивное решение. Буду рад любой Вашей помощи!!!
Vitalliano
Нет смысла в проигрывании видео в фоновом режиме. Victor_Dobrov вполне понятно объяснил.
Чувствую скоро здесь будут спрашивать про то как проигрывать на фоне DVD диски...
Нет смысла в проигрывании видео в фоновом режиме. Victor_Dobrov вполне понятно объяснил.
Чувствую скоро здесь будут спрашивать про то как проигрывать на фоне DVD диски...
Ктонить может подредактировать скрипт для создания бекапа, таким образом, что б он начинал работать не тогда когда его отметили в строке [Task] (IsTaskSelected) а когда его выбрали в [Components]
[more=Скрипт]
function MoveFile(const srcFile, destFile: PChar): Integer;
external 'MoveFileA@kernel32.dll stdcall';
procedure CreateBackup;
var
srcFile, destFile: string;
basePath, shortPath: string;
begin
if IsTaskSelected('src') then
begin
basePath := ExpandConstant('{app}');
srcFile := ExpandConstant(CurrentFileName);
shortPath := srcFile;
StringChangeEx(shortPath, basePath, '', True);
destFile := ExpandConstant('{app}\Backup_Anti-Balance_Mod') + shortPath;
ForceDirectories(ExtractFilePath(destFile));
MoveFile(PChar(srcFile), PChar(destFile));
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
MoveDir(ExpandConstant('{app}\Backup_Anti-Balance_Mod\'), ExpandConstant('{app}'));
RemoveDir(ExpandConstant('{app}\Backup_Anti-Balance_Mod\'));
end;
end;
[/more]
[more=Скрипт]
function MoveFile(const srcFile, destFile: PChar): Integer;
external 'MoveFileA@kernel32.dll stdcall';
procedure CreateBackup;
var
srcFile, destFile: string;
basePath, shortPath: string;
begin
if IsTaskSelected('src') then
begin
basePath := ExpandConstant('{app}');
srcFile := ExpandConstant(CurrentFileName);
shortPath := srcFile;
StringChangeEx(shortPath, basePath, '', True);
destFile := ExpandConstant('{app}\Backup_Anti-Balance_Mod') + shortPath;
ForceDirectories(ExtractFilePath(destFile));
MoveFile(PChar(srcFile), PChar(destFile));
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
MoveDir(ExpandConstant('{app}\Backup_Anti-Balance_Mod\'), ExpandConstant('{app}'));
RemoveDir(ExpandConstant('{app}\Backup_Anti-Balance_Mod\'));
end;
end;
[/more]
SotM
Цитата:
Не надо писать таким умные ответы, я спросил, мне ответили и все, а то складывается впечатление, что Вы самый умный!!!
Добавлено:
Victor_Dobrov
У меня вопрос лично к Вам! Когда я прокомпелировал Coroa Skin и пытаюсь запустить, у меня выдает сообщение Мастер установки данной программы уже запущен!, как решить эту проблему?
Цитата:
Нет смысла в проигрывании видео в фоновом режиме. Victor_Dobrov вполне понятно объяснил.
Чувствую скоро здесь будут спрашивать про то как проигрывать на фоне DVD диски...
Не надо писать таким умные ответы, я спросил, мне ответили и все, а то складывается впечатление, что Вы самый умный!!!
Добавлено:
Victor_Dobrov
У меня вопрос лично к Вам! Когда я прокомпелировал Coroa Skin и пытаюсь запустить, у меня выдает сообщение Мастер установки данной программы уже запущен!, как решить эту проблему?
Raf_SE -- замени IsTaskSelected на IsComponentSelected
Genri
Спасибо, я просто немного протупил, и тестировал с IsComponentsSelected, потому ничё не получалось.
Спасибо, я просто немного протупил, и тестировал с IsComponentsSelected, потому ничё не получалось.
Ребята, неужели заданный мной на 53 странице вопрос так сложен, насколько я знаю данной теме на форуме уделялось не так много внимания.
Добавлено:
Victor_Dobrov - в Coronа Skin у Вас просто замечательно реализована озвучка действий инсталлятора. Интересно, а можно привязать .wav файл к клику по кнопкам диалогового окна, указанию чек-боксов и радиобаттонов. Я понимаю, если включать все .wav файлы в инсталляционный дисрибутив его размер значительно увеличится, но тем не менее, это очень интересно.
Добавлено:
Victor_Dobrov - в Coronа Skin у Вас просто замечательно реализована озвучка действий инсталлятора. Интересно, а можно привязать .wav файл к клику по кнопкам диалогового окна, указанию чек-боксов и радиобаттонов. Я понимаю, если включать все .wav файлы в инсталляционный дисрибутив его размер значительно увеличится, но тем не менее, это очень интересно.
Vitalliano
Цитата:
Надеюсь, мастер запущен только 1 раз? Тогда это сообщение будет, если Result:= AlreadyRun разместить не в InitializeSetup. О прочем, не видя исходного скрипта, судить трудно. В старых версиях скина такая проверка делалась немного иначе.
Artem_Butenko - по озвучке вопросы не ко мне. Чек-боксы перехватить можно, но диалоги только при открытии/закрытии.
Цитата:
пытаюсь запустить Corona Skin, выдает сообщение "Мастер установки данной программы уже запущен!"
Надеюсь, мастер запущен только 1 раз? Тогда это сообщение будет, если Result:= AlreadyRun разместить не в InitializeSetup. О прочем, не видя исходного скрипта, судить трудно. В старых версиях скина такая проверка делалась немного иначе.
Artem_Butenko - по озвучке вопросы не ко мне. Чек-боксы перехватить можно, но диалоги только при открытии/закрытии.
Artem_Butenko
Цитата:
про чекбоксы и радиобатоны тебе написали
звуки к кнопкам диалоговых окон привязать можно, но только в сторонней длл, т.к. инно не знает тип Pointer. только муторное это дело. если сможешь отловить событие создания окон приложением, то и скин свой повесить сможешь
Цитата:
Интересно, а можно привязать .wav файл к клику по кнопкам диалогового окна, указанию чек-боксов и радиобаттонов.
про чекбоксы и радиобатоны тебе написали
звуки к кнопкам диалоговых окон привязать можно, но только в сторонней длл, т.к. инно не знает тип Pointer. только муторное это дело. если сможешь отловить событие создания окон приложением, то и скин свой повесить сможешь
Мое долгое молчание обусловлено тем, что я поднимаю ща свой ftp, куда и выложу программы для прямого скачивания. Прошу прощения за задержку.
Хотелось бы "добить" один из проектов, прошу помощи.
Нужно: считать из реестра путь установки, но удалить последние символы до слеша \. Например, устанавливается программа, в частности MSI пакет, но путь установки (C:\Program Files\My Program) не указывается, а путь прописывается в реестре с именем, например, главного файла (C:\Program Files\My Program\MyProg.exe). Вот и требуется процедурка, которая бы "фильтровала" такой путь, т.е. чтобы инсталлятор уже считывал настоящий путь установки без имени главного файла.
Нужно: считать из реестра путь установки, но удалить последние символы до слеша \. Например, устанавливается программа, в частности MSI пакет, но путь установки (C:\Program Files\My Program) не указывается, а путь прописывается в реестре с именем, например, главного файла (C:\Program Files\My Program\MyProg.exe). Вот и требуется процедурка, которая бы "фильтровала" такой путь, т.е. чтобы инсталлятор уже считывал настоящий путь установки без имени главного файла.
Kindly -- см. в хелпе функцию ExtractFilePath - подозреваю, это то, что тебе надо.
привет всем.
каким образом можно организовать выбор типа установки и выбор компонентов на разных страницах...
и еще, содержание выбора компонентов (его перечень) зависило бы от выбранного типа установки. т.е. при выборе "тип1" набор устанавливаемых компонентов был "набор1", а при выборе "тип2", "набор2".
спасибо
каким образом можно организовать выбор типа установки и выбор компонентов на разных страницах...
и еще, содержание выбора компонентов (его перечень) зависило бы от выбранного типа установки. т.е. при выборе "тип1" набор устанавливаемых компонентов был "набор1", а при выборе "тип2", "набор2".
спасибо
Друзья, у меня возник такой конструктивный вопрос, при распаковке SFX-7z архива через Inno Setup (пример из руководства тов. Kindly) стандартный статус-бар замирает в конечной точке, а хотелось бы в это время вывести новый прогресс-бар (под стандартным) на время распаковки SFX-архива. Если это возможно, пожалуйста помогите буду очень благодарен.
Artem_Butenko
Если не ошибаюсь, у 7Zip есть 2 модуля, один чисто консольный, второй - графический. Фишка в том, что графический потдерживает все консольные команды. И при расспаковке через него ты увидеш прогрессбар распаковки.
Если не ошибаюсь, у 7Zip есть 2 модуля, один чисто консольный, второй - графический. Фишка в том, что графический потдерживает все консольные команды. И при расспаковке через него ты увидеш прогрессбар распаковки.
Raf_SE -- это не совсем то к чему я стремлюсь! Мне просто интересно, можно ли при распаковке архива расположенного рядом с инсталлятором, отрисовывать еще один прогресс-бар, под базовым (в окне Inno), показывающий статус распаковки "внешнего" архива (когда базовый прогресс установки уже "отработал"). Теперь, думаю, объяснил толково?
Artem_Butenko
Ответ прост: не получится. Inno сам не может распаковывать никакие архивы, если только не он сам их создал.
Ответ прост: не получится. Inno сам не может распаковывать никакие архивы, если только не он сам их создал.
Artem_Butenko
Цитата:
если точнее, то можно, если, к примеру, найдешь (или напишешь) длл, которая тебе сможет вернуть MaxValue для твоего прогрессбара и в любой момент времени CurrentValue. тогда используя цикл со Sleep(xxx) можно рисовать прогрессбар где тебе вздумается. или отдавать хэндл прогрессбара в какую-нибудь процедурку из длл, чтобы она сама его обновляла. а средствами инно, тоже думаю что не выйдет
Цитата:
Ответ прост: не получится. Inno сам не может распаковывать никакие архивы, если только не он сам их создал.
если точнее, то можно, если, к примеру, найдешь (или напишешь) длл, которая тебе сможет вернуть MaxValue для твоего прогрессбара и в любой момент времени CurrentValue. тогда используя цикл со Sleep(xxx) можно рисовать прогрессбар где тебе вздумается. или отдавать хэндл прогрессбара в какую-нибудь процедурку из длл, чтобы она сама его обновляла. а средствами инно, тоже думаю что не выйдет
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
Предыдущая тема: Презентация
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.