Показать полную графическую версию : Inno Setup. Прочие вопросы
niki12899@vk
14-12-2020, 13:29
Не буду же я папку с архивом (заранее изменённым на расширение .bin) засовывать в сам Inno Setup »
niki12899@vk, в установщик архивы запихивать не надо, они лежат рядом с установщиком, в котором должны быть логика по управлению этими архивами (чего, куда и при каких условиях извлекать файлы) и отрисовка прогресса установки.
Хорошо, теоретически я стал знать больше. Спасибо. Но осталось узнать практически. Можно конкретно привести пример как эту логику нужно подключать? Т.е. писать ее в скриптах или как?
Я был бы очень признателен, если бы вы помогли мне разобраться с данным вопросом.
niki12899@vk
14-12-2020, 15:51
Мне просто нужно узнать, как это можно реализовать? Как мне сделать так, чтобы мой бинарник работал и распаковывался из установщика.
Можно конкретно привести пример как эту логику нужно подключать? »
Работа с архивами 7z (http://forum.oszone.net/post-2012750-1182.html).
niki12899@vk
14-12-2020, 16:54
Можно конкретно привести пример как эту логику нужно подключать? »
Работа с архивами 7z (http://forum.oszone.net/post-2012750-1182.html).
Спасибо, довольно полезная информация. А теперь осталось понять, что тут и к чему)
Простите за мою тупость, но в коде довольно плохо разбираюсь. Я так понимаю там есть переменные которые зависят от действия? Можно небольшое пояснение к этому коду?
Ну в плане того, как этим пользоваться, что нужно менять и в целом, как это использовать в целях распаковки моего архива.
P.S. я там вижу, что у него есть какая то последовательность. Он сам пакует файл, а потом распаковывает? Или я как обычно несу херню)
Можно небольшое пояснение к этому коду? »
Я тут вам не особо помогу, обратитесь к автору поста (кода/порта) и в соответствующей теме (http://forum.oszone.net/thread-334142.html), тут оффтоп.
dmitriy9100
14-05-2021, 20:01
Подскажите пожалуйста, как создать установщик GOG Script пользуюсь Inno Setup Compiller 5.5.1
habib2302
16-05-2021, 15:39
dmitriy9100, https://krinkels.org/threads/zakos-pod-gog.4140/
dmitriy9100
16-05-2021, 19:30
dmitriy9100, https://krinkels.org/threads/zakos-pod-gog.4140/
Я там пробывал зарегестрироваться не получается, ответ на почту не приходит, если можете поделитесь здесь, пожалуйста
если можете поделитесь здесь »
dmitriy9100, читайте внимательно ограничения форума (https://krinkels.org/threads/dobavlenie-novoj-gruppy-i-uslovija-perexoda-v-nejo-ili-pochemu-ja-ne-mogu-skachivat-bez-ogranichenij.4191/).
Цитата: "Пользователям, имеющим право на скачивание файлов из нашего менеджера ресурсов запрещено распространять их где-либо в интернете, они предназначены исключительно для личного использования."
dmitriy9100
17-05-2021, 14:51
если можете поделитесь здесь »
dmitriy9100, читайте внимательно ограничения форума (https://krinkels.org/threads/dobavlenie-novoj-gruppy-i-uslovija-perexoda-v-nejo-ili-pochemu-ja-ne-mogu-skachivat-bez-ogranichenij.4191/).
Цитата: "Пользователям, имеющим право на скачивание файлов из нашего менеджера ресурсов запрещено распространять их где-либо в интернете, они предназначены исключительно для личного использования."
Я не собираюсь распространять, мне для личного использования, по-моему форум для этого и существует
dmitriy9100, вот это:
поделитесь здесь, »
— «распространять».
dmitriy9100
20-05-2021, 09:13
А может кто-нибудь сделать скрипт GOG
Как выше уже писалось не мог тоже получить регистрацию на форуме krinkels.org нашел и сети что здесь также обсуждается Inno Setup
Установил Inno Setup 6.2.0
Собрал программу, запустил ее установку после сборки, исправил всё что мне нужно, пользуясь различными мануалами.
Но есть одна проблема которую не могу решить. Помогите найти причину.
В общем суть такая.
В программе в подпапке есть два ехе файла запустив которые можно запустить программу. Обзовем их:
INPA.exe и INPALOAD.exe
находятся они тут:
C:\EC-APPS\INPA\BIN\INPA.exe
C:\EC-APPS\INPA\BIN\INPALOAD.exe
Проблема заключается в том, что в главной папке EC-APPS создается файл INPALOAD.exe естественно что запустив его программа дает ошибку при запуске.
Иконка на рабочем столе создается с правильным адресом запуска стартового файла: C:\EC-APPS\INPA\BIN\INPALOAD.exe
Как сделать чтобы файл INPALOAD.exe не создавался в этой директории: C:\EC-APPS\INPALOAD.exe
Этот файл указан как файл запуска программы:
#define MyAppExeName "INPALOAD.exe"
Bio_Hazard
01-09-2022, 14:30
Здравствуйте, когда-то нашел Inno Setup 5.5.1, не помню точно где вот такую сборку (смотри скрины). По некоторым причинам она на сегодняшний момент не подходит. Ссылки уже мертвые. Не подскажете, нету ли такой же только версии 5.6.1?
https://images2.imgbox.com/4a/97/6sdePxrr_o.png
https://images2.imgbox.com/40/93/zJbVLKnX_o.png
https://images2.imgbox.com/d5/9d/rvvFZKT2_o.png
Vanadiy777
01-09-2022, 17:55
Не подскажете, нету ли такой же только версии 5.6.1? »
Bio_Hazard,
К сожалению, расширенная версия 5.6.1 не выпускалась...
Vanadiy777
01-09-2022, 19:03
Bio_Hazard,
Отправил Вам в личку, попробуйте, может приживется... :)
Доброго дня. Есть сборка игры. Нужно чтобы перед установкой Стим был выключен. Можно, конечно, написать огромными буквами, что стим надо закрывать до начала установки, но всегда найдется кто-то, кто тыкает далее не читая вообще ничего. Поэтому хотелось бы в инсталяторе делать принудительное закрытие. Например, через cmd: taskkill /im steam.exe.
Но как сделать это до установки? Т.е. надо что-то вроде [InstallDelete], но для команд. Писать свой скрипт? Если да, то может есть уже готовые примеры, которые выполняются до установки.
Vanadiy777
08-10-2022, 17:44
Но как сделать это до установки? Т.е. надо что-то вроде [InstallDelete], но для команд. Писать свой скрипт? Если да, то может есть уже готовые примеры, которые выполняются до установки. »
EdMSL,
Можно так попробовать:
[_code]
function IsProcessRunning(FileName: String): Boolean;
var
objSWbemLocator, objSWbemServices: Variant;
begin
try
objSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
except
ShowExceptionMessage;
Exit;
end;
objSWbemServices := objSWbemLocator.ConnectServer();
objSWbemServices.Security_.ImpersonationLevel := 3;
Result := (objSWbemServices.ExecQuery('SELECT * FROM Win32_Process WHERE Name="' + FileName + '"').Count > 0);
end;
procedure CurStepChanged(CurStep: TSetupStep);
var
i: integer;
begin
if CurStep = ssInstall then
begin
if IsProcessRunning('Steam.exe') then
Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM Steam.exe', '', SW_HIDE, ewWaitUntilTerminated, i);
end;
end;
Перед установкой проверяет, запущен ли Steam.exe, если запущен - то закрывает принудительно и продолжается установка.
Ну, или так:
[Files]
Source: ISTask.dll; DestDir: {app}; Flags: dontcopy
[_Code]
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
function InitializeSetup(): Boolean;
begin
If RunTask('Steam.exe', false) then
begin
if MsgBox('Программа Steam используется. Закрыть и продолжить установку?', mbInformation, mb_YesNo) = idYes then
begin
KillTask('Steam.exe');
Result:= True;
end else
Exit;
end;
Result:=True;
end;
Только тогда ISTask.dll будет нужен...
Можно так попробовать »
Спасибо, попробую.
Нашел еще тут скрипт, но он что-то не работает.
http://forum.oszone.net/post-2401734-1524.html
Пишет, что Unknown identifier 'CallbackAddr'
Можно так попробовать »
Так, работает.
Тогда еще вопрос. Можно ли добавить условие как-то, чтобы закрывался он только в том случае, если выбран вариант установки для Стим? Есть компоненты в [Components] только для стим. И если пользователь их выбрал, то стим закрывается, не выбрал - ничего не делаем.
Vanadiy777
08-10-2022, 19:20
Нашел еще тут скрипт, но он что-то не работает. »
EdMSL,
Первый вариант, который я Вам предложил, самый простой, и работает без сторонних библиотек...
Проверено на версиях компилятора 5.6.1- 6.0.5.
Сам им пользуюсь. :)
P.S. Нам с Вами надо в эту тему (http://forum.oszone.net/thread-334142-83.html) перебраться... А то модераторы будут недовольны... :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.