ЛЮДИ! Как сделать EXE файл в Visual Studio?
Я не тупой и знаю, что exe файл находится в папке с проэктом, но он открывается через отдельную ком. строку. А мне нужно чтоб независимо от есть студия на компе или нет файл exe зарускался. есть способ?
Голосование за лучший ответ
Жми на собрать проект, и если нет ошибок то должен собраться ехе файл))
Если проект на C++, то чтоб он работал на другом компьютере, там надо установить Visual C++ Redistributable (распространяемый пакет)
https://www.comss.ru/page.php?id=6172
Проект необходимо (или желательно?) собрать как Release.
Артем УшаковЗнаток (400) 2 года назад
необходим файл, который будет работать вне зависимости от наличия студии на пк
Дед Мазай Гений (58061) Артем Ушаков, я про это и написал
Нажми f5 случится exe чудо
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Инсталлер средствами Visual Studio
Перед многими программистами становится задача, как распространить свое приложение. Конечно, можно его поставлять и в исходных кодах, если вы пишете Open Source Software, но в таком случае обычному пользователю будет не слишком удобно даже с помощью мануала запускать компилятор, например, csc.exe (компилятор C#) с различными параметрами. Для обычных пользователей намного лучше скачать инсталляционный файл и в несколько щелчков мыши установить приложение на свой компьютер.
В этой статье я расскажу, как создать свой установочный файл. Конечно, есть различные платные и бесплатные программы, позволяющие создавать инсталляторы, но если вы пишете свой код в Visual Studio, то там есть уже все необходимое для создания простенького установщика.
Для примера я создал библиотеку, имеющую название SuperLib.dll и содержащую следующий код:
using System; namespace VROLib public static string GetString() return “Hello, world!”; > >
Код этой ценной библиотеки вы можете использовать в своих приложениях без спроса, я разрешаю.
Второй файл – это исполняемый файл, который использует данную библиотеку. Исполняемый файл я назвал vro-test.exe (форма изображена на рисунке).
Вот код vro-test.exe:
using System; using System.Windows.Forms; using SuperLib; namespace vro-test public partial class Form1: Form InitializeComponent(); > private void button1_Click(object sender, EventArgs e) label1.Text = VROLib.GetString(); > >
Теперь у нас есть цель – создать инсталлятор, который установит vro-test.exe и SuperLib.dll на компьютер пользователя.
Для этого добавим к решению (solution) vro-test еще один проект. Для этого нужно щелкнуть правой кнопкой мыши в Обозревателе решения (Solution explorer) по надписи Solution , где — это имя вашего решения, затем в контекстном меню выбрать пункт Add, а затем – New Project (хотя не обязательно добавлять именно к текущему решению, можно создать отдельный проект).
Появится окно добавления нового проекта, в котором нужно выбрать тип проекта Other Project Types -> Setup and Deployment.
Для приложений Windows стоит выбирать либо Setup Project, либо Setup Wizard (первый сразу создает проект, свойства которого вы можете менять, а второй сначала с помощью мастера установит основные параметры, а в конце создаст проект). В статье я рассмотрю случай с использованием Setup Wizard.
Первым вопросом мастера будет тип приложения – Windows application, web application, merge module или CAB file. Для vro-test естественно подойдет Windows application.
Следующим шагом мастер предложит включить в проект вывод других проектов решения, например, файлы с документацией, отладочные символы, файлы с исходниками и т.д. На четвертом шаге вы сможете добавить к проекту любые файлы. Тут добавим vro-test.exe и SuperLib.dll:
В принципе, тут можно нажать Finish, т.к. на пятом шаге мастер покажет суммарную информацию по проекту.
Теперь у нас есть проект установочного файла. Можно добавлять другие файлы и менять различные настройки. Основные параметры приведены в таблице:
Задав все необходимые значения, можем смело делать build. В выводе билда (Debug или Release) теперь находятся два файла – Setup.exe и vro-test-setup.msi. Распространять можно любой из них. Теперь с помощью мастера можно выбрать директорию, в которую устанавливать приложение и менять параметр InstallAllUsers.
После установки при повторном запуске приложения будет предложено либо исправить установку, либо удалить установленное приложение:
Также установленное приложение появится в списке оснастки Программы и компоненты (Установка и удаление приложений в Windows XP):
На этом все. Удачи в разработке!
Written by Поротников Андрей aka wwwnet
Email:
- Добавить комментарий
- 35044 просмотра
Копирование и распространение материалов, находящихся на сайте, запрещено .
Графика: Васючков Андрей aka Soffrick, JimmyJonezz, zahod5277
Создание .exe установщика для UWP приложения
«Нoвый фopмaт пpилoжeний для мaгaзинa Windows pacпpocтpaняeтcя в ycтaнoвoчных фaйлaх .Appx и .AppxBundle и включaет в ceбя лишь caмy пpoгpaммy, eё имя и oпиcaниe. Эти пaкeты пoзвoляют paзpaбoтчикaм нe иcпoльзoвaть coбcтвeнный ycтaнoвщик для инcтaлляции, кaк этo былo c oбычными пpoгpaммaми.» — MIcrosoft.
В обход истории.
Если вам нужна инструкция как создать установщик, сразу листайте до “создание .exe установщика для UWP”
Звучит круто, не правда ли? Но что, если я хочу скинуть свою кривую, новорождённую, никому не нужную программу другу, не проходя все проверки от магазина Microsoft? Или же друг не знает как включить режим разработчика и установить твой сертификат. Тут уже возникают трудности и приходится идти обходными путями и сегодня я расскажу о самом интересном из них! Видите ли, при компиляции программы мы не получим exe’шник, который можно запустить и радоваться жизни. У UWP много таких приколов и ограничений, которые являются одновременно и сильными сторонами (в плане безопасности, кроссплатформенности), так и слабыми (например, нельзя хранить информацию своей программы, где попало на локальной машине). О всех минусах и плюсах данной технологии поговорим в другой раз, а пока я начну свой рассказ со своего знакомства с UWP.
Знакомство с UWP
Как-то раз, на 2 курсе университета у меня получилось отличиться, и преподаватель заметил меня, спустя несколько дней после первых его практических занятий он создал группу и пригласил туда меня.
— Добрый день, не хотите помочь с курсовой работой?
— Отлично! Нам нужно создать свой собственный мессенджер. Давайте начнём с выбора технологии.
На этом моменте кто-то предложил Windows Form (дабы не париться), WPF (для больших возможностей) и… всё. Про UWP ни слова. Я на тот момент жутко любил смотреть новости про обновления UWP и Windows. Меня поражало, как просто можно сделать красивое приложение с готовым дизайном. А плиточки… Ох, это была моя первая любовь в мире IT. Именно поэтому, я начал бить кулаком об грудь и жутко защищать данную технологию, продвигая её в массы. Преподаватель, поддержал меня и сказал следующую фразу: “Хорошо, давайте покажем, что такое новые технологии”. У нас возник вопрос с распространением приложения, ведь оно бы запускалось только на компьютерах с Windows 10, но и эта проблема была решена новым оборудованием в ВУЗе.
Месяц разработки спустя мессенджер был готов, и я успел возненавидеть UWP, ведь она могла кидать такие ошибки, что С++ и рядом не стоял. Как оказалось смотреть как кто-то пишет код и писать код самостоятельно, абсолютно разные вещи, из-за чего вся работа перешла на Олега (моего однокурсника), и он вывозил клиент мессенджера, практически сам. Но пришло время сдавать проект, а скомпилировать его в .exe и отправить на другой компьютер оказалось невозможной задачей.

Создание .exe установщика для UWP
У меня на руках был готовый код и всё что от меня требовалось, так это создать установщик, чтобы распространить приложение. Полазив по интернету, я понял 2 вещи:
- Microsoft любит деньги и приложения нужно загружать на их магазин со всякими комиссиями и аккаунтами разработчика.
- Есть корпоративный способ, но там нужно использовать PowerShell и лезть в настройки, чтобы активировать режим разработчика.
Казалось бы, 2 способ, то, что нужно, но это не установщик. Ты должен сам куда-то лезть и что-то включать. И вы, наверное, уже догадались, что мы должны всё автоматизировать. В этом нам поможет программа “Inno Setup Compiler”. С помощью неё мы создадим тот самый автоматизированный установщик UWP приложения. На этом моменте мой преподаватель объяснил, что новые технологии, это не обязательно хорошо, иногда со старой банально удобнее работать и никакие “фишки” не переманят программистов, если они неудобно реализованы. Таким образом, он специально разрешил нам использовать UWP, чтобы мы столкнулись с этим и поняли всё сами. Мы пропустили дедлайн из-за меня, но задача создать установщик поставлена и её нужно было решить.
Подготовка к созданию установщика
Закончив создание приложения, мы настраиваем package.appxmanifest под свои нужды, после чего правой кнопкой мыши нажимаем по проекту и выбираем publish → создать пакеты приложений. Здесь выбираем Загрузка неопубликованных приложений (и убираем галочку с автоматического обновления) → Да, использовать текущий сертификат → вводим версию, выбираем архитектуру и создаём. Теперь, заходим в папку с проектом и ищем там AppPackages → папка с названием приложения.
Перед нами предстало несколько файлов. Файл с расширением .msixbundle, это и есть тот самый новый установщик. Install.ps1 с Add-AppDevPackage.ps1 это сценарии Windows, который мы и будем использовать. Их можно было бы и так засунуть в наш установщик, но в коде данных сценариев есть специальные блоки, отвечающие за контекстное меню по типу: «Установить: Да? нет?». Естественно, нас это не устраивает, и мы избавляемся от них, примеры кода я скинул на GitHub. + мы добавляем пару строчек, которые включают неполноценный режим разработчика. Видите ли, раньше в настройках Windows было 3 режима, безопасный, установка UWP приложений из неизвестных источников и режим разработчика. Так вот, мы используем тот самый полу вырезанный режим полу разработчика, который теперь нигде не отображается.

Теперь пришло время для создания скрипта на InnoSetup. Я напишу самый простой скрипт, чтобы было легче понять. В блоке Run мы прописываем:
Filename: «powershell.exe»; Verb: runas; \
Parameters: «-ExecutionPolicy Bypass -File «»\Install.ps1″»»; \
WorkingDir: ; Flags: runhidden shellexec
(Verb: runas – запросить права администратора).
Таким образом у нас установился неполноценный режим разработчика и наш сертификат (исполняя инструкцию Windows используя PowerShell), а это значит, что мы удовлетворяем все потребности официального установщика Windows .msixbundle. Следом запустим модифицированную установку приложения, но пользователь не увидит интерфейс, ведь все блоки отвечающие за: «Установить, да? нет?» мы вырезали.
Parameters: «Add-AppxPackage «»\CLient_CS_UWP_0.5.1.0_x86_x64_Debug.msixbundle»»»; \
WorkingDir: ; Flags: runhidden
Полный пример кода опять же можно найти на GitHub.
После всех действий компилируем получившийся скрипт и получаем тот самый .exe установщик для UWP приложения.

В завершении
Хоть у UWP и есть много интересных особенностей, но я всё равно безумно люблю эту платформу. Она по-своему прекрасна и отвратительна в одном лице, что заставляет пережить целую палитру эмоций во время разработки. На ответ почему нет .exe у данных приложений есть 2 ответа. Первый ответ: Они используют безопасное расширение, все файлы хранятся в специальной закрытой папке, благодаря этому можно не беспокоиться о кроссплатформенности. Второй ответ: деньги. И можно было бы долго рассуждать на тему того, как сильно Microsoft любит деньги, но.. Мир меняется, и вот-вот, Microsoft Store станет бесплатен и доступен для всех, а это значит, что у UWP большое и светлое будущее.
Превращаем код на Python в исполняемый EXE-файл
Как скомпилировать Python-код в файл EXE, чтобы защитить свой код или наглядно показать работу вашей программы.
Обычно код на Питон запускают двумя способами: через терминал или через текстовый редактор / IDE.
При этом стоит отметить, что файлик Python — это всего лишь скрипт, который сохранён в расширении .py. Да, это очевидно, но в этом и кроется проблема: иногда нужно скрыть исходный код, а поделиться программкой (в виде альфа-версии, например) очень хочется.
Одно из решений, которое закрывают боль с исходным кодом — это конвертация файла Python в исполняемый exe-файлик.
В этой статье мы научимся создавать «экзешники» при помощи двух библиотек: Pyinstaller and auto-py-to-exe.
Перед тем, как продолжить чтение статьи, скачайте этот репозиторий. Он здорово поможет вам понять процесс, если вы будете повторять все шаги вместе с нами.
Почему возникает потребность конвертировать Python-код в EXE
- Код могут украсть. Об этом мы уже говорили выше. Куда проще достать исходный код непосредственно из py-файла, чем из скомпилированного приложение. Py-файл достаточно просто открыть!
- Хочется поделиться кодом с другими юзерами. Дело не только в том, что ваш код могут украсть. Зачастую код содержит зависимости, которыми должен владеть другой юзер перед запуском вашего Python-кода. Но что, если он вообще ничего не смыслит в программировании? Не заставишь ведь его сперва выучить программирование, чтобы оценить ваше новое суперприложение. Проще создать исполняемый файл.
- Исполняемый файл можно запускать автоматически, по расписанию. Этот пункт актуален, если вы решили написать утилиту для вашего ПК, и эта утилита должна запускаться либо в определенное время, либо вместе с запуском ОС.
Конвертация кода Python в файл .exe
Для начала создадим скрипт на Python. В качестве примера мы используем открытый код бронирования жилья AitBnb в Нью-Йорке. Если у вас уже есть готовый код, можете сразу использовать его.
import pandas as pd from pandas.api.types import CategoricalDtype def perform_validation(filename:str): """ A function to validate inputs for NYC Airbnb Open data. """ path_to_data = "../.." data = pd.read_csv(f"") # Convert neighbourhood_group to type category neighbourhood_group_to_cat = CategoricalDtype( categories=["Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island"], ordered=False ) data["neighbourhood_group"] = data["neighbourhood_group"].astype(neighbourhood_group_to_cat) # Convert room_type to type category room_type_to_cat = CategoricalDtype( categories=["Entire home/apt", "Private room", "Shared room"], ordered=False ) data["room_type"] = data["room_type"].astype(room_type_to_cat) # Convert last_review to datetime data["last_review"] = pd.to_datetime(data["last_review"]) # Minimum nights a person can stay is one night assert data["minimum_nights"].min() >= 1 # Minimum number of reviews is 0 assert data["number_of_reviews"].min() >= 0 # Minimum number of reviews per month assert data["reviews_per_month"].min() >= 0.00 # Minimum amount of listings per host assert data["calculated_host_listings_count"].min() >= 1 # Number of days when listing is available for books # Could be 0 if tennant has long term booking assert data["availability_365"].min() >= 0 # Save validated data data.to_csv("validated_ab_nyc_2019.csv", index=False) if __name__ == "__main__": # User inputs filename filename = input("Enter filename: ") # Ensure it's a string if not filename.isalpha(): filename = str(filename) # Automated validation perform_validation(filename)
Вы не забыли скачать библиотеки по ссылке по введении? Сделайте это сейчас.
Вот структура файлов на GitHub:
# Directory structure | AB_NYC_2019.csv | +---auto_py_to_exe | | requirements.txt | | validation.py +---pyinstaller | requirements.txt | validation.py
Каждая из директорий должна обладать своей виртуальной средой. Убедитесь, что среды развёрнуты и в директории pyinstaller, и в auto-py-to-exe.
Сохраните ваш код и скопируйте его в обе директории.
Что делать в Pyinstaller
Ещё раз убедитесь, что виртуальная среда развёрнута. Да, мы настаиваем. Проверьте, установлены ли все зависимости между библиотеками и кодом.
Всё в порядке? Запускайте команду:
pyinstaller --onefile validation.py
Процесс должен запуститься, и в конце консоль сообщит: «Completed successfully». Значит, всё прошло успешно. ?
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
В папке с библиотекой и кодом должны появиться две новые директории под названиями build и dist. В папке dist вы найдёте заветный exe-файл. Запустите его и проверьте работу приложения.
Что делать в Auto-py-to-exe
Также скиньте файлик с кодом в папку с библиотекой и проверьте зависимости между кодом и библиотекой.
auto-py-to-exe
Команда запустит графический интерфейс.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
- В строчке «Script Location» нажмите «Browse» и выберите py-скрипт.
- В строчке «Onefile» выберите, скомпилируется код в единый файл или в папку. В папке будет содержаться exe-файл и все зависимости кода.
- В строчке «Console Window» выберите настройки отображения exe-приложения, когда оно будет запущено. Если выбрать «Console Based», запустится и программа, и консоль, в которой будут показаны процессы. Опция «Window Based» скрывает консоль.
- Нажмите кнопку «Convert .py to .exe». Готово!
Запускаем exe-файл
В обоих случаях, после компиляции и запуска exe-файла, тот запустит консоль и попросит вас ввести имя файла. Придумайте его и укажите расширение, в котором всё должно работать. К примеру, Tproger-is-the-best-it-media-in-the-world.csv . Тогда консоль закроется, а в папке появится заветный файлик с расширением .csv.
И всё — вы великолепны!
