Как добавить файл в программу
Привет друзья! Думаю, что если вы прочитаете сегодняшнюю статью, то сможете добавить необходимую вам программу практически в любой Live CD, сделанный кем угодно. Также я уверен в том, что вы сможете "вытащить" любую программу из любого другого Live CD (если вам это будет нужно), коих в интернете пруд-пруди. У вас возник вопрос: - Зачем это может понадобится?
Все вы знаете, что такое Live CD, - это операционная система, загружающаяся со сменного носителя (CD-диск, DVD-диск, флешка USB, переносной USB-диск ) и не требующая для своей работы установки на жёсткий диск компьютера или ноутбука. Простыми словами, на Live CD находится облегчённая версия операционной системы Windows или Linux с набором самых необходимых программ, с помощью которых можно производить диагностику, восстанавливать, лечить от вирусов и производить другие действия с установленной на вашем (или чужом) компьютере штатной операционной системой. На многих Live CD находятся программы для работы с интернетом, графикой и другой специфичный софт.
Чем особенно ценен Live CD, так это тем, что он позволяют работать с компьютером даже в тех в тех случаях, когда основная операционная система не является работоспособной, то есть с помощью программ для диагностики, находящихся на Live CD вы сможете определить причину неработоспособности вашей основной Windows и устранить её.
Если вы компьютерный энтузиаст или занимаетесь ремонтом компьютеров профессионально, то бьюсь об заклад, у вас таких Live CD на флешке с десяток и уверен, вам не раз приходила в голову мысль создать один универсальный Live CD с набором ваших любимых программ.
В большинстве случаев, все программы добавляются в сборку Live CD при помощи различных скриптов (плагинов) самим автором сборки, но сегодня мы предложим вам свой, относительно простой способ, с которым справится даже начинающий пользователь. Приведу даже два способа быстрой интеграции в Live CD нужной вам программы , первый способ правильный (но дольше по времени), а второй неправильный ( без применения командной строки и он быстрее).
Начнём с того, что на нашем сайте вы можете скачать очень полезный, по моему мнению Live CD AOMEI PE Builder, построенный на основе операционной системы Windows 8.1 Enterprise и содержащий различный полезный софт, который мы добавляли в него сами, например:
1. Утилиты для диагностики жёсткого диска (Victoria, HDDScan, CrystalDiskInfo 6.7.4, DiskMark, HDTune),
3. Также на диске находится программа AOMEI Partition Assistant Standard Edition (способная делить жёсткий диск на разделы, а ещё она может восстановить удалённый раздел, и клонировать Windows на другой жёсткий диск или на SSD).
4. WinNTSetup может установить Windows 7, 8.1, 10 используя только ISO-образ винды или даже только один WIM-файл! Чем особенно ценна эта программа - она с успехом может заменить встроенную производителем ноутбука программу отката к заводским настройкам.
6. Утилита OEM Key позволит вам узнать лицензионный ключ установленной у вас Windows 7, 8.1, 10. Вы сможете узнать ключ даже в том случае, если Windows вообще не установлена на ваш ноутбук (то есть ключ "вшит" в БИОС ноутбука).
Ещё на нашем Live CD имеется встроенный браузер и другие программы. Подробное описание работы со всеми этими программами есть в наших статьях (смотрите рубрики сайта).
При желании вы и сами можете добавить в Live CD AOMEI PE Builder необходимую вам программу. Сделать это очень просто, но добавлять нужно портативные (портабельные) версии программ. Если постараться, то из многих программ можно сделать портабельные версии по этой нашей статье, если для вас это трудно, то выход есть, ведь в сети можно запросто найти уже готовую портабельную версию практически любой программы.
К сожалению, не из каждой программы можно сделать портативную, к примеру некоторый серьёзный софт может работать только в полноценной среде операционной системы с запуском всех своих фоновых служб и сервисов.
Итак друзья, если нашему читателю понадобился в нашем Live CD дефрагментатор, то давайте добавим его в набор программ диска. Я самостоятельно сделал портабельную версию дефрагментатора Auslogics Disk Defrag Portable и сейчас добавлю его на Live CD (кстати зря делал, портабельную версию этого популярного дефрагментатора можно скачать где угодно).
Первым делом скачайте на нашем сайте ISO-образ Live CD AOMEI PE Builder 32 бит .
Щёлкаем двойным щелчком левой мыши на скачанном ISO-образе и подсоединяем его к виртуальному дисководу (в моём случае буква K:), заходим в виртуальный дисковод в папку "sources"
В папке "sources" находится файл boot.wim, представляющий из себя файл-образ Live CD AOMEI PE Builder, построенный на основе операционной системы Windows 8.1 Enterprise, то есть в данном файле и находится операционная система и интегрированные в неё программы. Файл с расширением (WIM) — представляет из себя образа диска, данный формат был разработан компанией Microsoft и используется для развертывания операционных систем.
Примечание : В любом Live CD есть файл-образ Windows с расширением .WIM, например XM64.WIM, W732.Wim, XP.WIM и так далее.
Копируем файл boot.wim в любую папку, например, я копирую файл boot.wim в корень диска (G:), также в корне это диска создаю папку с названием "1".
При помощи системы обслуживания образов (Dism), мы подключим содержимое образа boot.wim к папке 1, затем добавим к содержимому образа портабельную версию дефрагментатора Auslogics Disk Defrag Portable.exe и отключим образ, в последнюю очередь мы заново соберём ISO образ Live CD AOMEI PE Builder в программе UltraISO.
Открываем командную строку от имени администратора и вводим команду:
Dism /Get-WimInfo /WimFile:G : \boot.wim (где G: буква диска с файлом boot.wim), данной командой мы уточняем содержимое образа boot.wim (видим, что образ содержит одну операционную систему Microsoft Windows Recovery Environment (x86) с индексом 1, index:1), соответственно вводим следующую команду
Dism /Mount-Wim /index:1 /WimFile:G:\boot.wim /MountDir:G:\1 (где G : буква диска с файлом install.wim, а "1", это папка, в которую мы смонтируем содержимое образа файла boot.wim,
Подключение образа
Операция успешно завершена.
командную строку не закрываем.
Заходим в папку G:\1\Пользователи\Default\Desktop\Integrated Tools (в этой папке хранятся ярлыки запуска программ).
и копируем в неё портабельную версию дефрагментатора Auslogics Disk Defrag Portable.exe.
Закрываем папку "1".
В командной строке вводим команду:
Dism /Unmount-Wim /MountDir:G:\1 /Commit (данная команда отключает образ boot.wim от папки "1").
Теперь осталось заново собрать ISO-образ Live CD AOMEI PE Builder в программе UltraISO
В главном окне программы UltraISO выбираем:
Файл-->Открыть
В открывшемся окне проводника находим ISO-образ Live CD AOMEI PE Builder 32bit, выделяем его левой мышью и жмём «Открыть»
Удаляем, находящийся в ISO-образе файл boot.wim.
В левой нижней части окна программы выделяем левой мышью диск (G:), именно на нём у нас находится созданный нами файл boot.wim. Л евой мышью перетаскиваем файл boot.wim в папку «sources».
Присваиваем ISO-образу название Live CD AOMEI PE Builder 32bit new.iso
Live CD AOMEI PE Builder 32bit new.iso, с программой-дефрагментатором, готов.
Создаём из нашего Live CD загрузочную флешку по этой статье и загружаем с неё наш компьютер или ноутбук.
Загружается рабочий стол Live CD AOMEI PE Builder.
Открываем папку Integrated Tools, именно в неё мы скопировали наш дефрагментатор Auslogics Disk Defrag Portable.
В главном окне программы отмечаем нужный диск галочкой и жмём на кнопку Defrag, начинается процесс дефрагментации выбранного диска.
Друзья, вот таким простым образом, мы добавили необходимую нам программу в Live CD.
Если было интересно, то могу выложить способ попроще (без применения командной строки).
В конце статьи замечу, что есть официальный способ интеграции программ в Live CD AOMEI PE Builder и он описан моим коллегой Ro8 в этой статье (интеграция в сборку программы WinNTSetup).
Сегодня мы добавили программу в Live CD AOMEI PE Builder 32-bit, но многие приложения будут работать только в 64-битной операционной системе, в этом случае интегрируйте программу в Live CD AOMEI PE Builder 64-bit .
Внедрил три текстовых файла в проект. Думал они все время будут в проекте, однако они ссылаются на файлы в папке debug, что не есть хорошо, так как если этих файлов нет на диске - то и при компиляции возникают ошибки.
они ссылаются на файлы которые есть физически на компьютере. А мне нужно чтобы они были внедрены в сам проект.\
Как я понял, он хочет, что бы файлы были вшиты в программу и на стороне клиента не было в них нужны. @Grundy, а как ты ссылаешь на файле в коде? Мне казалось, что VS по умолчанию их в код зашивает.
1 ответ 1
Для добавления ресурсов в проект необходимо щелкнуть правой кнопкой мыши узел Свойства в проекте в Обозревателе решений, щелкнуть Открыть, а затем на странице Ресурсы в Конструкторе проектов нажать кнопку Добавить ресурс. Ресурсы можно добавить в проект в качестве связанных ресурсов (внешние файлы) или как внедренные ресурсы (внедренные непосредственно в файл RESX).
- При добавлении связанного ресурса в файле RESX со сведениями о ресурсах проекта будет указан только относительный путь на файл ресурса на диске. Если в качестве связанных ресурсов добавить изображения, видео или другие сложные файлы, их можно будет изменять в редакторе по умолчанию, сопоставленном с соответствующим типом файла в конструкторе ресурсов.
- В случае внедренных ресурсов, данные хранятся непосредственно в файле ресурсов проекта (RESX). Строки могут храниться только как внедренные ресурсы.
После добавления файлов в ресурсы, добавленные файлы помещаются в папку Resources, находящуюся в корне проекта.
Также можно задать действие при построении:
- None — файл не включается в выходную группу проекта и не компилируется в процессе построения. Примером такого файла является текстовый файл документации, например файл Readme.
- Compile — файл компилируется в выходные файлы построения. Эта настройка используется для файлов кода.
- Content — файл не компилируется, но включается в выходную группу "Содержимое". Этот вариант используется по умолчанию для файлов HTM и других веб-файлов.
- Embedded Resource — файл внедряется в основные выходные файлы построения проекта в виде DLL или исполняемого файла. Обычно это значение используется для файлов ресурсов.
Для задания свойства Действие при построении ( Build Action ) или свойства Копировать в выходной каталог( Copy to Output Directory ) необходимо зайти в свойства у файла ресурсов и изменить необходимое свойство.
Собственно говоря, Вас интересует свойство Действие при построении ( Build Action ) - которое необходимо указать под Ваши нужды.
Мне надо чтобы этот файл упаковался вместе с моей программой в один файл.
Вы осознаете то, что h файлы подключаются на этапе препроцессора, а Вам похоже нужно на этапе исполнения? или вы хотите включить текстовый файл внутрь cpp на этапе препроцессора (компиляции)?
@ThreadShakur вам прямой путь в документацию почитать о файловом вводе выводе. P.S.: std::ifstream/std::ofstream
4 ответа 4
На основании Вашего комментария становится ясно, что нужно встроить текстовый файл непосредственно в исполняемый *.exe файл. Такого рода задачу можно решить разными способами, например:
Использовать файл ресурсов и компилятор ресурсов для соответствующей ОС (или IDE). Например, для Windows.
Преобразовать с помощью утилит типа xxd Ваш файл в массив данных и включить его непосредственно в код, например:
Какое решение будет для Вас оптимальным зависит от используемой ОС, IDE и необходимости в кросс-платформенности подхода.
1) Создаётся файл ресурсов.
2) В ресурсы добавляется новый файл (через контекстное меню) НЕИЗВЕСТНОГО ЕЩЁ КОМПИЛЯТОРУ типа, например BINARY. Если не уверены что добавилось, то заходите в .rc файл и правьте руками. Будет строка типа:
3) Во время работы программы обращаться стандартными средствами: Пример кода:
Мне кажется, что человек спрашивает по сути, как ему в проекте (как я понимаю, на Visual C++) обратиться к файлу, который лежит в папке с проектом. В этом случае - надо учесть, что текущим каталогом при запуске из IDE становится не папка, в которой лежит .sln -файл проекта, а в которой лежат исходники и .vcxproj (для Visual Studio). И именно в нее и надо укладывать этот 1.txt .
Если ошибся в трактовке вопроса - мои извинения, тогда смотрите ответ @Xambey.
Текущая папка для отлаживаемого проекта задается через Debugging - Working Directory (по умолчанию она установлена в $(ProjectDir), что попадает под ваш ответ).
Надо проверять отсутствие fail / bad битов. Проверка на eof приведет к зацикливанию, например, если файл вовсе не удалось открыть. Да и закрывать явно не обязательно, т.к. это сделает деструктор.
Да вы не поняли все, я знаю как файл считать.. про папку с проектом я имел ввииду папку с исходниками в проекте. то есть вот программа есть у нас 1.exe лежит в папке porga.. Мне надо файл читать не из папки proga а чтобы как бы этот файл упаковался вместе с моей программой в один файл
Здравствуйте админ, хочу у Вас спросить, каким образом можно добавить файл в ISO образ операционной системы Windows? Почему собственно говоря спрашиваю, на моём ноутбуке установлена Windows 8 Single Language, а я хочу установить Windows 8.1 Профессиональная 64-bit Rus, при установке выходит ошибка «Введенный ключ продукта не соответствует ни одному из образов Windows», происходит это потому, что в БИОСе UEFI ноутбука вшит ключ заводской Windows 8 Single Language. Прочитал Вашу статью Как переустановить Windows 8 на ноутбуке, в ней Вы советуете добавить в образ ISO винды файлы EI.cfg и PID.txt – это дополнительные файлы конфигурации, используемые Windows в процессе установки для указания ключа продукта и выпуска Windows!
То есть я понял, что если я добавлю в ISO образ Windows 8.1 Профессиональная 64-bit Rus файлы EI.cfg и файл идентификатора продукта PID.txt, то профессиональная восьмёрка установится мне на ноутбук, также при установке Windows 8.1 не нужно будет вводить ручками ключ продукта, так как он прописан в файле PID.txt! Но как мне добавить эти файлы в ISO образ Windows?
Как добавить файл в ISO образ
Друзья, во первых, если Вы имеете установочный диск с Windows 8.1 Профессиональная 64-bit, то сначала нужно сделать из него образ, это Вы можете сделать по нашей статье Как создать ISO образ диска.
Если ISO образ винды готов, то для добавления в него файлов можно использовать программу UltraISO, она самая надёжная в этом отношении. С помощью этой программы можно добавлять любые файлы в любой образ ISO, будь-то образ операционной системы или любой другой образ.
Скачиваем и запускаем установку программы.
К сожалению программа платная, но имеет пробный период работы, но опять же, от этого не легче, так как в триальном режиме программа не даст Вам работать с образами весом более 300 МБ.
В открывшемся окне проводника находим наш образ Windows 8.1 Профессиональная 64-bit выделяем его левой мышью и жмём Открыть.
В левой нижней части этого окна находим папку с нашими файлами EI.cfg и PID.txt. Данные файлы будут отображены в правой части окна. В нашем случае копировать файлы EI.cfg и PID.txt нужно в папку sources , заходим в неё двойным щелчком левой мыши.
Выделяем файлы, которые мы собрались копировать левой мышью и перетаскиваем в верхнюю часть окна программы UltraISO в папку sources.
Файлы скопированы, остаётся только создать образ заново.
Оригинальный файл ISO трогать не будем, создадим его ISO копию с уже добавленными файлами. Назовём новый образ Windows 8.1 Профессиональная 64-bit. Файл->Сохранить как
Вводим новое имя Windows 8.1 Профессиональная 64-bit и жмём Сохранить
Всё, новый ISO образ готов.
Вот таким простым способом мы добавили нужные файлы в образ ISO операционной системы. Точно таким же способом Вы можете добавить любые файлы в любой ISO образ! Кстати, теперь Windows 8.1 Профессиональная 64-bit при установке не будет просить ввести ключ, так как он прописан в скопированном файле конфигурации PID.txt.
Как добавить файл в исключения Защитника Windows
Привет друзья! Я тоже столкнулся на днях с подобной проблемой. На одном компьютере была установлена старая версия Windows 10 build 1607 (14393.447) и там было невозможно запустить поисковик по торрентам HAL, исполняемый файл программы сразу удалялся встроенным антивирусом. На другой машине была последняя версия Windows 10 1703 (Сборка ОС 15063.332) и на ней HAL прекрасно запускался и работал. Я просто внёс в исключения антивируса личную папку HAL и этим решил проблему. Показываю, как это можно сделать.
- У любого антивируса есть Проактивная защита (Поведенческий анализ), это когда антивирус постоянно находится в оперативной памяти и мониторит всё, что происходит в операционной системе. К примеру, вы запускаете какую-либо программу и перед её запуском Защитник обязательно производит поведенческий анализ действий этой программы (на это уходят доли секунд) и если антивирус посчитает, что действия запущенного приложения напоминают действия вируса, то программа будет остановлена и её исполняемые файлы помещены в карантин. Принцип и характер действий проактивной защиты может со временем меняться, то есть вместе с обновлениями Windows Defender получает информацию о том, что определённые действия, производимые приложениями, уже не считаются вредоносными, именно это и произошло в моём случае, старая версия Win 10 реагировала на действия HAL как угрозу, а новая нет.
«Защита от вирусов и угроз »
« Параметры защиты от вирусов и других угроз«»
«Добавление или удаление исключений»
Выбираем файл или папку, в зависимости от того, что нужно. Зачастую лучше выбрать всю папку с установленным приложением.
В открывшемся проводнике находим личную папку программы, которую мы хотим внести в исключения.
Теперь Windows Defender не будет мешать запуску этой программы.
Добавленный в исключения файл или папку вы можете в любой момент удалить из исключений.
Читайте также: