Что нового

Выборочная распаковка папки из инсталлятора

John

Новичок
Сообщения
17
Репутация
1
Возможно ли сделать распаковщик/инсталлятор в котором будут такие папки как х86 и х64, а при его запуске он спросит какую из двух папок распаковать? Или же можно будет выбрать папку или поставить галочку на тех папках которые необходимо распаковать?
Спасибо.
 
Автор
J

John

Новичок
Сообщения
17
Репутация
1
Неужели нет никаких вариантов и никто совсем не в курсе про это?
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Возможно. А можно воспользоваться InnoSetup
 
Автор
J

John

Новичок
Сообщения
17
Репутация
1
joiner сказал(а):
Возможно. А можно воспользоваться InnoSetup
вы можете подсказать в какую сторону там копать? с чего хотя бы начать этот путь и на какие команды там смотреть?
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
John
по IS не знаю. но на AutoIT можно сделать что-то вроде этого http://autoit-script.ru/index.php?topic=18264.0
переделываешь интерфейс, добавляешь выбор
мой проект, где это все реализовано http://autoit-script.ru/index.php?topic=21204.0
 
Автор
J

John

Новичок
Сообщения
17
Репутация
1
joiner сказал(а):
John
по IS не знаю. но на AutoIT можно сделать что-то вроде этого http://autoit-script.ru/index.php?topic=18264.0
переделываешь интерфейс, добавляешь выбор
мой проект, где это все реализовано http://autoit-script.ru/index.php?topic=21204.0
можете "JMPack - создаем модпак сами" перезалить? ссылка недоступна.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Видимо у тебя нет доступа. Сообщений мало. Ссылка доступна
можно качать отсюда
 
Автор
J

John

Новичок
Сообщения
17
Репутация
1
joiner сказал(а):
Видимо у тебя нет доступа. Сообщений мало. Ссылка доступна
можно качать
я так понял что вы дали исходники, я там так и не нашел тех скринов что в теме прикреплены.
исходники доступны и так, а вот сама программа недоступна по ссылке яндекс/d/bB1k1eQfrjVMj
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
обновил ссылку на готовую программу(яндекс)
а зачем готовая? ты же свой проект делаешь. поэтому нужны исходники, чтобы глянуть что да как.
 
Автор
J

John

Новичок
Сообщения
17
Репутация
1
joiner сказал(а):
обновил ссылку на готовую программу(яндекс)
а зачем готовая? ты же свой проект делаешь. поэтому нужны исходники, чтобы глянуть что да как.
Спасибо. Можете подсказать, как на третьем скрине оставить только выбор пути распаковки без чистой установки, оставить как есть и так далее.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
в моем проекте несколько окон в одном. тебе, наверняка, это не нужно
тебе нужно запаковать две папки файлов разной разрядности и потом по выбору распаковать.
моя программа пакует папки с одинаковыми именами в одну. при этом меняет названия файлов. добавляет в названия несколько символов. это нужный момент для твоего проекта, так как у тебя тоже будут файлы с одинаковыми именами.
потом в инсталяторе выбираем ( в моем это древо выбора модов) папку по разрядности и нужные файлы распаковываются.
короче, если тебе нужна хорошая помощь, то стоит перенести обсуждение в раздел Заказов. там уже я или кто другой поможет с решением задачи.
тебе нужно подробно изложить техническое задание, ну и свои наработки.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
John
Пример. В папке скрипта находятся два каталога: x86 и x64, в каждом из которых по три файла. Распаковка производится в соответствующую папку временного каталога Windows. Внимательно прочитайте в справке, как задаются пути к файлам для функции FileInstall
Код:
GUICreate("Install")
$Radio1 = GUICtrlCreateRadio("x86", 10, 10, 120, 20)
$Radio2 = GUICtrlCreateRadio("x64", 10, 40, 120, 20)
GUICtrlSetState($Radio1, 1) ; $GUI_CHECKED
$Button = GUICtrlCreateButton("Распаковать", 10, 70, 120, 30)
GUISetState()
Do
  Switch GUIGetMsg()
    Case -3
      Exit
    Case $Button
      If GUICtrlRead($Radio1) = 1 Then
        $Path = @TempDir & "\x86\"
        DirCreate($Path)
        FileInstall(".\x86\1_86.txt", $Path)
        FileInstall(".\x86\2_86.txt", $Path)
        FileInstall(".\x86\3_86.txt", $Path)
      EndIf
      If GUICtrlRead($Radio2) = 1 Then
        $Path = @TempDir & "\x64\"
        DirCreate($Path)
        FileInstall(".\x64\1_64.txt", $Path)
        FileInstall(".\x64\2_64.txt", $Path)
        FileInstall(".\x64\3_64.txt", $Path)
      EndIf
      ShellExecute($Path)
      Exit
  EndSwitch
Until 0
 
Автор
J

John

Новичок
Сообщения
17
Репутация
1
InnI
Все бы хорошо, но вот добавлять путь к каждому файлу отдельно когда их за тысячу это не практично.
Но всеравно спасибо :smile:
 
Верх