Вы должны войти, чтобы создавать сообщения и темы.

Хранение файлов в .exe с возможностью распаковки

Привет, подскажите пожалуйста, в идеале тыкните примером т.к. я нуб, но на примерах боль мень соображаю)) Нужно поместить в исполняемый файл дофига разных файлов чтобы их потом можно было вытянуть оттуда в нужную папку.

Привет 🖐
Тебе нужен SFX-архив. С помощью него Ты сможешь указать, куда распаковать файлы, что делать до / после распаковки.
Вот видеоинструкция.

Цитата: Сергей от 21.04.2022, 15:59

Привет 🖐
Тебе нужен SFX-архив. С помощью него Ты сможешь указать, куда распаковать файлы, что делать до / после распаковки.
Вот видеоинструкция.

Нет, за sfx я вкурсе, но мне нужно в коде c# именно реализовать на формах т.к. надо небольшую логику к подбору нужного файла прикрутить.

Добрый день.
Не совсем понял что и зачем это надо, но как вариант можно просто в ресурсы проекта добавить все нужные файлы, а потом их оттуда извлечь в нужное место. Если файлов много, то добавлять их туда в архиве, а потом распаковывать архив.

Цитата: Adler от 21.04.2022, 16:28

Добрый день.
Не совсем понял что и зачем это надо, но как вариант можно просто в ресурсы проекта добавить все нужные файлы, а потом их оттуда извлечь в нужное место. Если файлов много, то добавлять их туда в архиве, а потом распаковывать архив.

Нужно чтоб можно было выборочно каждый файл вытянуть. Но за совет спасибо, буду пробовать хотя пока не представляю как это делается.

Цитата: Adler от 21.04.2022, 16:28

Добрый день.
Не совсем понял что и зачем это надо, но как вариант можно просто в ресурсы проекта добавить все нужные файлы, а потом их оттуда извлечь в нужное место. Если файлов много, то добавлять их туда в архиве, а потом распаковывать архив.

А можно всё-таки пример как из ресурсов вытянуть нужный файл в нужный каталог ?)

В СкопированоProperties создаете файл ресурсов, если там его нет

Добавляете в него нужные файлы, а потом просто из кода обращаетесь к конкретному ресурсу СкопированоProperties.Resources.<название ресурса> (название ресурса будет в редакторе предлагаться автоматически). А потом уже делаете с ним что хотите.

Лайкнул Максим
Максим

Разобрался, спасибо )) Ключевые строчки кода:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.ShowDialog();
File.WriteAllBytes(saveFileDialog1.FileName, Properties.Resources.имя ресурса);

 

По хорошему должно быть так:

if (saveFileDialog1.ShowDialog() == DialogResult.Ok) File.WriteAllBytes(saveFileDialog1.FileName, Properties.Resources.имя ресурса);

 

Лайкнул Максим
Максим