Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Несколько exe в одном файле (http://forum.oszone.net/showthread.php?t=350359)

ispolin 25-12-2021 13:39 2976011

Несколько exe в одном файле
 
Здравствуйте. Есть несколько тестов в exe формате, хочется их объединить под один интерфейс с выбором запуска любого теста и главное, чтобы был это один exe файл.
Autorunы не предлагать. Они все создают лишь меню, а сами файлы кладутся рядом, мне надо запаковать всё в одно и интерфейс с кнопками запуска тестов.
Тесты не требуют установки, запускаются простым кликом.


Iska 25-12-2021 17:18 2976017

Цитата:

Цитата ispolin
…и главное, чтобы был это один exe файл. »

ispolin, не делайте так.

boss911 25-12-2021 17:47 2976022

Либо брать Autorun (где можно создавать кнопки и на них вешать запуск), либо писать/кодить свой Autorun/Launcher. Все это в один EXE - например SFX или Install (RAR\7zip или InnoSetup\NSIS). А еще можно сделать Launcher с кнопками на базе того же InnoSetup\NSIS, но нужно кодить.

MKN 25-12-2021 17:49 2976023

Цитата:

Цитата ispolin
Несколько exe в одном файле »

Вот антивирусы обрадуются... :)
Цитата:

Цитата boss911
можно сделать Launcher с кнопками »

Наверное это будет самое простое и верное решение.

Iska 25-12-2021 17:58 2976027

Цитата:

Цитата MKN
Вот антивирусы обрадуются... »

Во-во :).


Цитата:

Цитата MKN
Наверное это будет самое простое и верное решение. »

Только не надо для этих целей пользовать инсталляторы. Инсталляторы — для создания дистрибутивов инсталляции.

MKN 25-12-2021 18:15 2976029

Цитата:

Цитата Iska
Только не надо для этих целей пользовать инсталляторы. »

Если имеется ввиду nsis или inno , то почему бы нет ? На их базе можно делать что угодно, в том числе абсолютно автономные программы. (Ессно в меру их возможностей.)
А уж лаунчер с кнопками управления-запуска иных программ, это вообще не вопрос.

ispolin 25-12-2021 18:56 2976031

Цитата:

Цитата Iska
не делайте так »

что так?
Цитата:

Цитата boss911
можно сделать Launcher »

т.е самому..знаний нет

Цитата:

Цитата MKN
inno »

он такое может?

Iska 25-12-2021 20:41 2976037

Цитата:

Цитата MKN
…то почему бы нет ? »

См. выше:
Цитата:

Цитата Iska
Инсталляторы — для создания дистрибутивов инсталляции. »

Цитата:

Цитата ispolin
что так? »

Не надо громоздить Пелион на Оссу лепить один исполняемый файл из кучи других, уже существующих исполняемых файлов. Сделайте оболочку любым способом, хоть исполняемым файлом, хоть скриптом. Возьмите WIX, InnoSetup, NSIS или, на худой конец, WinRAR/7-Zip и создайте обычную инсталляцию, которая будет разворачиваться на целевой машине.

MKN 26-12-2021 10:50 2976057

Цитата:

Цитата Iska
См. выше: »

Ну да :) :
Цитата:

Цитата MKN
На их базе можно делать что угодно, в том числе абсолютно автономные программы. »

Именно программы, а не только
Цитата:

Цитата Iska
дистрибутивов инсталляции »


habib2302 26-12-2021 12:36 2976060

AutoIt можно использовать, но все равно файлы, которые будут запакованы в скрипт надо их куда-то извлекать. То же самое и с Inno Setup

ispolin 26-12-2021 14:48 2976070

habib2302, так можно в темп, подскажите скрипт?

Iska 26-12-2021 14:49 2976071

Про что и речь. Может быть, как-то возможно будет запускать из смещения, может быть, можно будет извлекать и запускать непосредственно из памяти. Но, так или иначе — здравствуй срабатывание поведенческого анализатора антивируса! И, коль один хрен надо будет извлекать эти файлы, то почему бы вместо всех этих телодвижений не сделать банальную инсталляцию (вместе со своей оболочкой)?!

ispolin, скажите — почему Вы не хотите сделать обычную инсталляцию? Каковы причины?

habib2302 26-12-2021 16:17 2976073

ispolin, вот пример... Я использую AutoIt 3.3.14.5 и SciTE4AutoIt3 19.1127.1402.0
Код:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=1306.ico
#AutoIt3Wrapper_Outfile=UnPack.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_UPX_Parameters=--best
#AutoIt3Wrapper_Res_Description=EDeclaration UnPack DB by Xabib
#AutoIt3Wrapper_Res_Fileversion=22.7.2018.0
#AutoIt3Wrapper_Res_ProductVersion=22.7.2018
#AutoIt3Wrapper_Res_LegalCopyright=Xabib © 2018
#AutoIt3Wrapper_Res_Language=1049
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <File.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#Region
$Form1 = GUICreate("Заголовок окна", 226, 163, 259, 189)
$Label1 = GUICtrlCreateLabel("Название", 0, 8, 226, 31, $SS_CENTER)
GUICtrlSetFont(-1, 14, 800, 0, "Arial")
$Button1 = GUICtrlCreateButton("Программа №1", 16, 56, 193, 33, $WS_GROUP)
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
$Button2 = GUICtrlCreateButton("Программа №2", 16, 100, 193, 33, $WS_GROUP)
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
GUISetState(@SW_SHOW)
#EndRegion

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

Case $Button1
        GUISetState(@SW_HIDE)
        FileInstall('Оператор - обучение.exe', @TempDir & '\*')
        ShellExecuteWait(@TempDir & '\Оператор - обучение.exe')
        FileDelete(@TempDir & '\Оператор - обучение.exe')
        GUISetState(@SW_SHOW)
Case $Button2
        GUISetState(@SW_HIDE)
        FileInstall("7z.exe", @TempDir & "\*")
        ShellExecuteWait(@ScriptDir & '\gpuzPortable.exe')
        FileDelete(@TempDir & "\7z.exe")
        GUISetState(@SW_SHOW)
EndSwitch
WEnd

Будут вопросы, спрашивайте. Так же скрипт можно использовать вместе с inno и упаковывать файлы не сам скрипт, а в инсталлятор только надо удалить строки FileInstall и FileDelete

ispolin 26-12-2021 17:03 2976075

Цитата:

Цитата Iska
сделать обычную инсталляцию »

так я же сказал, это просто тесты в exe формате и их не нужно инсталировать

Цитата:

Цитата habib2302
Будут вопросы, спрашивайте. »

вставил код в Autoit..там путь до моего файла..и прочее не понял я..глуп не по годам

вот один тест https://cloud.mail.ru/public/p3J2/kZRgoMPtR
их 8 штук

habib2302 26-12-2021 17:07 2976076

ispolin, я изменил скрипт в посте, посмотрите
FileInstall('Оператор - обучение.exe', @TempDir & '\*')
Первые кавычки это путь и имя файла, который вы хотите упаковать
Вторые кавычки путь куда распаковывать файл и имя файла, которое вы хотите получить после распаковки
@TempDir это константа это по типу переменной среды windows %TEMP%
* имя файла, но я указал маску, чтобы файл распаковывался с тем же названием с каким вы его упаковали.
Пример
FileInstall('Оператор - обучение.exe', @TempDir & '\Test1.exe')
ShellExecuteWait это запуск исполняемого файла допусти экзешника с ожиданием т.е пока вы не закройте тест действия скрипта не буду выполняться

Iska 26-12-2021 17:24 2976077

Цитата:

Цитата ispolin
…и их не нужно инсталировать »

Вы так и не ответили — почему «не нужно». Вопрос не про «можно не инсталлировать, они и так работают», вопрос именно про то, почему «я против того, чтобы инсталлировать».

ispolin 26-12-2021 17:41 2976079

Цитата:

Цитата Iska
почему «не нужно» »

Цитата:

Цитата Iska
они и так работают »

так для чего их инсталировать? чтобы сидели в системе? вариант с темпом думаю подходящий
инсталяция в моём понимании-установка намертво в систему, а эти тесты нужны нам раз в месяц, подготовка перед "великим гемороем"
январь на освежение знаний в памяти, затем отстрелялись в феврале и забыли

habib2302 26-12-2021 17:44 2976080

ispolin, инсталлятор можно сделать без записей в реестр и без создания деинсталлятора. Он просто будет распаковывать в темп и по окончании все будет удалено из темп

Iska 26-12-2021 18:37 2976083

ispolin, то есть, никаких рациональных объяснений Вашему предубеждению нет.

Grabber2006 26-12-2021 18:37 2976084

Программа, которая распаковывает из себя exe-шники, будет детектироваться большинством антивирусов.

ispolin 26-12-2021 19:38 2976085

Iska, пусть будет так
хотя вот скрипт от habib2302, пришёлся кстати
Grabber2006,
др веб молчит


Время: 17:36.

Время: 17:36.
© OSzone.net 2001-