Быдловопрос такой. У меня есть программка под Венду, которая собой представляет экзешник и набор файликов, которые этот экзешник читает. Программка не моя, файлы мои.
Есть желание перед выдаванием программки конечному пользователю оформить её в виде одного файла. Совсем одного. И тоже чтобы экзешник получался.
Исходники означенного экзешника доступны, но доковырвать их с целью присобачивания нужных файлов прямо к нему не целесообразно.
Ну я поступил просто: сжал 7zip, взял его SFX-модуль, понаписал ему конфиг. Сделал SFX-архив, который разжимается во временный каталог, а дальше в нём запускается, что надо.
Всё вроде работает замечательно, за исключением вот чего. Программка исходная консольная, поэтому и SFX-модуль я взял консольный. С тайной надеждой на то, что если запускать из консоли, то в ней всё и произойдёт, чинно и благородно. Но не тут-то было. Консольный SFX-модуль открывает, собака, ещё одну консоль, в которой он может поругаться на процесс разархивации, а потом, когда всё разархивирует, запускает программку без консоли, поэтому Венда для этой программки уже открывает третью консоль.
Ни исходню программку курочить, ни SFX-модуль от 7zip, у меня ни малейшего желания нету.
Какие есть решения и альтернативы?
А зачем ты взял консольный модуль? Бери обычный, там наверняка есть quiet mode. А если в стандартном нет, то http://7zsfx.info/ru/
@dluciv Почему две? Первой и второй не будет в тихом режиме (распаковщик-то не консольный).
Возьми нормальный инсталлятор типа NSIS вместо использования 7zip в его качестве. Запустится, запустит и исчезнет, а на скриптах можно будет даже что-то набыдлоколить с результатами, если понадобится.