Содержание
1.Как скомпилировать EXE
1.1 Технология компиляции
1.2 Сопутствующие файлы
2.Что нужно включить в EXE

1.Как скомпилировать EXE
1.1 Технология компиляции
Эпиграф:
"Ай да Пушкин, ай да..."
А.С.Пушкин

Технология компиляции EXE в Visual FoxPro довольно проста. Мы не будем отвлекаться на такие экстремальные методы как ввод в командном окне команд типа BUILD PROJECT, BUILD APP, BUILD EXE , а ограничимся удобствами, предоставляемыми графическим интерфейсом VFP.
Итак, для создания EXE нам понадобится нажать в менеджере проекта кнопку "BUILD..." . Выбрав в открывшемся диалоговом окне опцию Win32 executable / COM server (EXE) давим OK . ВСЕ. ;-)
"Как все?"-- спросите Вы -- "А указать под каким именем сохранить файл?"
Согласен... Надо указать обязательно, иначе все насмарку.
Кстати, думаю, что нелишним будет напомнить о том, что для того чтобы процесс компиляции прошел успешно необходимо менеджер проекта заполнить файлами Вашей программы, один из которых обязательно должен быть как main (в менеджере проектов имя этого файла выделено жирным шрифтом), т.е. файл который будет исполнен первым. По умолчанию как main-программа устанавливается первый включенный в проект программный файл (*.prg) или файл формы (*.scx).
Вобщем все довольно просто! Просто..?
Теперь о грустном...

1.2 Сопутствующие файлы
Эпиграф:
"... а включаешь - не работает!"
М.Жванецкий

Все перепетии этапа компиляции приложения уже позади, и Вы, гордый от сознания собственного превосходства над простыми смертными, семимильными шагами несетесь к заказчику, устанавливаете свое приложение, попутно расписывая ему(заказчику) как теперь у него все будет круто, и подсчитывая в уме какой винт нужно купить, что бы осталось на пиво, вдруг натыкаетесь на то, что Ваша супер-пупер прога не фурычит. Грустно. Обидно. А главное не будет у Вас нового вичестера или Чего Вы Там Себе запланировали купить с гонорара...

Все дело в том, что скомпилированный нами.exe не есть самодостаточным исполняемым файлом. Для нормальной работы этому псевдо-исполняемому файлу необходимы библиотеки поддержки (.dll). Я не буду сильно вдаваться в рассуждения об этом, а просто приведу названия файлов, необходимых для нормальной работы приложения.
В принципе до 6-й версии включительно для переноса приложения на клиентскую машину можно использовать штатный Setup Wizard , который самостоятельно все прописывает, а в последующих --InstallShield (или другой инсталятор).
Все приведенные ниже файлы есть минимально-необходимый набор файлов для различных версий VFP (по материалам ):

VFP 8.0 msvcr70.dll, vfp8r.dll, vfp8rrus.dll, gdiplus.dll VFP 7.0 msvcr70.dll, vfp7r.dll, vfp7rrus.dll VFP 6.0 vfp6r.dll, vfp6renu.dll , vfp6rrus.dll VFP 5.0 vfpole50.dll, vfpodbc.dll, vfp500.dll, vfp5rus.dll, Foxpro.int
Указанный выше набор библиотек необходимо разместить в каталоге программы или в системном каталоге Windows. Для различных версий Windows эти каталоги различны:

Win9x, WinMe c:\Windows\SYSTEM WinNT,Win2000,WinXP c:\Windows\SYSTEM32

2.Что нужно включить в EXE
Эпиграф:
"To include or not to include?"
пьяный электрик

Все изложенное ниже является личным мнением автора, которым Вы можете пренебречь. Но делая по-своему помните: биться головой в бетонную стену гораздо больнее, чем воспользоваться проломом сделаным до Вас .
По умолчанию в готовый.exe включаются все файлы, необходимые для работы приложения - программы, формы, меню, библиотеки, классы и т.д. кроме файлов баз данных и таблиц (такие файлы можно узнать по перечеркнутому кружочку возле имени файла в менеджере проекта). Все включенные в.exe файлы после компиляции станут немодифицируемыми (доступными только для чтения). Понятно, что файлы таблиц (*.dbf) включать не стоит поскольку они подвергаются постоянным операциям изменения-дополнения данных, но иногда бывают случаи когда необходимо скрыть какие-либо статическиеданные от пользователя, но обеспечить доступ к ним самой программы. Лучшего места чем "внутренности" exe-шника не придумать.
Так же довольно нередкая ситуация, когда нужно "находу", или временно, изменить файл отчета, или когда имеем целый набор отчетов, уникальных для каждого пользователя. Ну в самом деле представьте: десять операторов и каждому по десять отчетов и все это в *.exe. единственным выходом в этой ситуации будет исключить эти отчеты из конечного файла и поставлять их вместе с приложением.
В любом случае решение о том какие файлы исключить, а какие оставить за Вами.

Все, пиво кончилось, надо идти в гастроном.

С уважением, Владислав Кулак

Мы рассмотрим создание.exe с помощью библиотеки модуля py2exe. Для этого необходим Python 3.4 и ниже .

Если у вас установлена более высокая версия Python, попробуйте использовать (ниже)

В этом примере мы рассмотрим создание.exe на примере Python3.4 .

Прежде всего на нужно создать виртуальное окружение для Python3 .4. В этом примере мы назовем myenv, Вы можете выбрать любое другое имя, но не забывайте сделать соответствующие изменения.

На терминале наберите следующие команды:

>py -3.4 -m venv myenv > myenv\Scripts\activate.bat

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

Теперь давайте установим py2exe (https://pypi.python.org/pypi/py2exe~~HEAD=dobj) в нашем виртуальном окружении:

>pip install py2exe

И, наконец, чтобы создать единый EXE-файл, в нашем виртуальном окружении выполняем команду:

>python -m py2exe.build_exe hello.py -c --bundle-files 0

(замените hello.py на имя вашего скрипта. Если скрипт находится в другой папке, то нужно использовать полный путь к вашему сценарию, например, C:\Projects\Python\ hello.py). Это создаст папку DIST, которая содержит исполняемый файл. Для быстрого доступа к нему, наберите в терминале:

> explorer dist

Вы увидите путь к папке, где находится EXE-файл.

Примечание: При выполнении, откроется окно и исчезают так же быстро, как и появилось.
Это происходит потому, что операционная система автоматически закрывает терминал, в котором консольная программа закончена.
Для того, чтобы изменить эту ситуацию, можно добавить строчку

> input (" Нажмите для выхода... ")

в конце файла Python . Интерпретатор будет ждать ввода пользователя, а окно будет оставаться открытым, пока пользователь не нажимает клавишу ввода.

Вы можете подробно изучить использование py2exe в документации на странице модуля: https://pypi.python.org/pypi/py2exe
Выход из виртуального окружения производится командой

>deactivate

Способ 2

Через командную строку Windows устанавливаем pyinstaller:

> pip install pyinstaller

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

Cd c:\...

Затем в командной строке набираем команду

Pyinstaller --onefile example.py

Вместо exapmle.py используем имя файла, из которого нужно создать exe файл.

Через пару минут все готово! Скоркее всего, exe файл будет находится во созданной подпапке dist

Наверняка многим из вас хоть раз в жизни попадался архив с расширением.exe, не rar и даже не zip, а именно exe. Вся прелесть данного архива заключается в том, что он самораспаковывающийся и не требует установки дополнительных программ. Многие думают, что для того чтобы создать подобного рода архив, требуются какие-то специфические знания либо программы, но смею вас уверить, что это не так. Создаются ехе архивы при помощи одного из нескольких самых популярных архиваторов: WinRar и WinZip.

У вас на компьютере наверняка установлен один из двух этих архиваторов, поэтому смело можете сразу приступать к практике. Если же вообще никакого архиватора нет, то можете смело установить 7-zip, ведь он бесплатный и свободно распространяется на просторах Интернета. С этого архиватора мы и начнем.

И так, готовим папку с файлами, которую необходимо заархивировать и кликаем по ней правой кнопкой мыши. Находим такой пункт, как 7-Zip

У нас выскакивает еще одно подменю, из которого мы должны выбрать пункт «Добавить к архиву…»

Открывается у нас окошко, ищем раздел «Опции» , в опциях пункт «Создать SFX-архив» устанавливаем напротив него птичку. Теперь обращаем внимание на самое верхнее поле, где название нашего будущего архива. У нас добавилось расширение ехе. Кстати название архива можно менять. Также можно указать место, в которое его необходимо сохранить. В принципе можете поиграться и с остальными опциями, но на тип архива они не влияют. Можете поставить максимальный уровень сжатия, чтобы размер архива был как можно меньше.

Теперь можно нажать на кнопку «ОК» .

Вот такой файлик у меня получился на рабочем столе:

Теперь давайте разберемся, как создать точно такой же архив, но уже при помощи WinRar.

Точно так же кликаем правой кнопкой мыши по папке и выбираем пункт «Добавить в архив» :

В открывшемся окошке во вкладке «Общие» необходимо в разделе «Параметры архивации» поставить птичку напротив пункта «Создать SFX-архив» . Ставим какой-нибудь метод сжатия. Я выбрал «Хороший» .

Жмем на кнопку «ОК» .

Получился вот такой архив:

Вот мы и рассмотрели несколько способов о том, как создать самораспаковывающийся exe архив .

А также смотрим видео по теме:

Оценить статью:

HomeLisp (по крайней мере в предлагаемой версии) не способен компилировать Лисп-код в команды микропроцессора. Поэтому для создания автономных исполняемых файлов применяется технология, которую можно условно назвать псевдо-EXE .

Суть этой технологии состоит в следующем.

В поставку HomeLisp входит исполняемый файл-заглушка, в составе которого содержится ядро HomeLisp . Объем этого файла составляет около двухсот килобайт. При создании EXE-файла сначала делается копия файла-заглушки с именем, которое задает разработчик. Все дальнейшие манипуляции выполняются с созданной копией, которую далее будем называть целевым файлом.

Предположим, что разработчик написал и загрузил ряд функций, которые в совокупности составляют приложение . При создании EXE-файла, все выбранные разработчиком функции приписываются в "хвост" целевого файла. Кроме этих функций, в "хвост" целевого файла записывается т.н. стартовое S-выражение , а также задаваемые пользователем настройки среды HomeLisp (размеры внутренних стеков, количество динамических объектов и т.д.)

При запуске целевого файла управление получает сначала программа инициализации ядра HomeLisp , которая затем считывает из файла все сохраненные пользователем функции и загружает их в среду Лиспа. После этого управление получает блок стартового S-выражения , и предусмотренная разработчиком программа начинает исполняться.

Рассмотрим процесс создания EXE-файла на простом практическом примере: создадим диалоговую программу, которая будет вычислять наибольший общий делитель двух целых чисел с помощью алгоритма Евклида. Пример этот не так уж бесполезен: поскольку HomeLisp работает с целыми неограниченной разрядности, написание аналогичного примера в любой расхожей среде программирования (VB,C++,Delphi) потребовала бы заметных усилий...

Функция *GCD имеет следующий вид:

(defun *gcd (x y) (cond ((eq x y) x) ((greaterp y x) (*gcd y x)) ((eq (remainder x y) 0) y) (T (*gcd y (remainder x y))))) ==> *gcd (*gcd 655 72) ==> 1 (*gcd 655 75) ==> 5 (*gcd 65536 4096) ==> 4096

Примеры вызова показывают работоспособность функции. Далее необходимо создать диалоговую оболочку для вызова этой функции. В простейшем случае эта оболочка может быть организована следующим образом:

Запрос (посредством функции ASK ) первого операнда;

Запрос второго операнда;

Вычисление результата;

Отображение результата с помощью функции SAY ;

Напишем определяющее выражение для функции GCD-1 , в котором будет реализован приведенный выше алгоритм:

(defun GCD-1 nil (prog (a1 a2) (setq a1 (str2fix (Ask "Введите первый операнд"))) (setq a2 (str2fix (Ask "Введите второй операнд"))) (TRY (say (fix2str (*gcd a1 a2))) EXCEPT (say "Ошибка!"))))

Следует обратить внимание на то, что результат вызова ASK имеет тип STRING , а функция *GCD требует операндов типа FIXED . Поэтому, прежде, чем присваивать введенные пользователем значения локальным переменным, a1 и a2 , эти значения следует преобразовать в тип FIXED (для чего служат вызовы функции STR2FIX ).

Далее, поскольку готовится диалоговая программа, предназначенная для конечного пользователя, следует предусмотреть возможные ошибки. Именно поэтому вычисление наибольшего общего делителя сделано критическим участком кода с помощью вызова функции TRY Если в процессе вычисления произойдет сбой, программа не "упадет", а будет выдано сообщение "Ошибка!".

Если выполнить функцию GCD-1 из среды разработки, то сначала будет выведено окно запроса первого операнда:


Пользователь вводит первый операнд и нажимает кнопку OK ; появляется окно запроса второго операнда:


Пользователь вводит второй операнд, нажимает кнопку OK и получает результат:


Теперь построим на основе отлаженной функции GCD-1 исполняемый файл. Для этого, находясь в среде разработки выберем пункт главного меню EXE-файл или нажмем кнопку на панели инструментов со следующей иконкой:


В обоих случаях будет открыто окно построения EXE-файла:



Чтобы создать EXE-файл, необходимо выполнить следующие действия:

Задать имя EXE-файла. Имя (и путь) будущего EXE-файла задаются в комбинированном поле ввода в левом верхнем углу формы создания EXE-файла. Имя и путь можно задать вручную, а можно нажать кнопку "..." и выбрать директорию и имя с помощью стандартного диалога Сохранить как . По умолчанию создается файл noname.exe в текущей директории.

В области ввода "Стартовое S-выражение" необходимо задать код, с которого начнется выполнение будущего приложения. Стартовое S-выражение может быть вызовом функции. Если требуется задать стартовое S-выражение, состоящее из нескольких вызовов, то эти вызовы следует "заключить" в PROG -конструкцию.

Перечисленные действия являются минимально-необходимыми. Кроме того, дополнительно пользователь может выполнить следующее:

В списке, озаглавленном "Функции, константы, переменные", сбросить флажки, стоящие против объектов, наличие которых для выполнения приложения не является необходимым. Это мероприятие несколько повысит скорость выполнения приложения;

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

Сбросить флажок "Отображать диспетчерскую форму при старте". Если этот флажок оставить поднятым, то при запуске приложения будет отображаться специальная диспетчерская форма. Этой форме можно задать заголовок (в соответствующем поле ввода). Использование диспетчерской формы удобно при отладке.

Установить или сбросить флажок "Сообщать о завершении". Если этот флажок установлен, то перед завершением приложения будет выдано сообщение.

Окно создания EXE-файла с минимально-необходимым набором параметров может иметь вид:



Далее необходимо нажать кнопку с изображением зеленой галочки. Если заказанный EXE-файл уже существует, HomeLisp предолжит подтвердить перезапись файла или задать новое имя. После чего, при успешном завершении, выдается сообщение:


Можно убедиться, что в текущей директории пявился EXE-файл gcd-1.exe , при запуске которого происходит описанный диалог с пользователем.

Если же при создании EXE-файла поднять флажок "Отображать диспетчерскую форму при старте" и задать заголовок формы:


То при исполнении полученного EXE-файла, в правом верхнем углу экрана отображается диспетчерская форма следующего вида:


При выборе пункта меню "Пуск" (или нажатии соответствующей кнопки, расположенной ниже), начинает выполняться приложение. После завершения приложения, диспетчерская форма остается на экране, что позволяет запускать приложение многократно. Для окончательного завершения приложения нужно выбрать пункт меню "Выход" (или нажать кнопку, расположенную ниже).

Если в процессе выполнения приложения с диспетчерской формой возникает ошибка, то информация об ошибке выводится в область вывода, которая в нормальном состоянии скрыта. Например, если сделать стартовым S-выражением вызов несуществующей функции (unknown) , то при выполнении возникнет картинка, приведенная ниже:


Использование диспетчерской формы позволяет принудительно остановить выполнение приложения. Для этого служит пункт меню "Стоп" и кнопка, расположенная ниже (и пункт меню, и кнопка активны только в процессе выполнения приложения). Если в качестве стартового выражения задать, например, вычисление факториала достаточно большого числа, то можно успеть увидеть пункт меню и кнопку останова:


Если в процессе выполнения нажать "Стоп", то выполнение программы прерывается:


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

Режим построения EXE-файлов с диспетчерской формой предназначен для облегчения отладки приложений. Если не использовать диспетчерскую форму, то управлять графическими окнами должен будет сам разработчик, а в случае "зависания" приложения для его снятия придется использовать диспетчер задач ОС.

При необходимости изменить значение какого-либо настроечного параметра (размер стека, число лексем и т.д.) необходимо щелкнуть мышью по нужно строке списка "Параметры". Числовое значение соответствующего параметра будет перенесено в область ввода, расположенную под списком:



В качестве второго примера создания EXE-файла , рассмотрим прежнюю задачу (вычисление НОД ), но с оконным графическим интерфесом. Для этого создадим диалог (как описано ), на форме которого разместим три метки, три поля ввода и две кнопки. Назначим одной из кнопок процедуру-обработчик, в котором вычислим НОД чисел, введенных в первое и второе поля ввода и занесение вычисленного НОД в поле результата. Обработчик нажатия второй кнопки будет закрывать и уничтожать диалог. Форма диалога с элементами управления может иметь вид, приведенный ниже:


Программный код, сгенерированный дизайнером, может иметь такой вид:

(prog nil (dlgCreate "_Dlg_ 419 233 "Наибольший общий делитель:") (dlgAddControl "_Dlg_ "_LBL_1 _LABEL 14 15 100 21 "("Tahoma" 14,25 1 0 0) "Первое:" 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_1 _TEXT 155 13 248 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 59 133 26 "("Tahoma" 14,25 1 0 0) "Второе:" 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_2 _TEXT 156 56 247 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_3 _LABEL 13 101 127 27 "("Tahoma" 14,25 1 0 0) "Н.О.Д." 0 &HFF &H8000000F) (dlgAddControl "_Dlg_ "_TXT_3 _TEXT 157 98 247 31 "("Tahoma" 14 1 0 0) "" 0 &HFF &H80000005) (dlgAddControl "_Dlg_ "_BUT_1 _BUTTON 24 148 180 50 "("Tahoma" 8,25 1 0 0) "Вычислить") (dlgPutPicture "_BUT_1 7) (dlgAddControl "_Dlg_ "_BUT_2 _BUTTON 213 149 180 50 "("Tahoma" 8,25 1 0 0) "Закрыть") (dlgPutPicture "_BUT_2 36) // // Обработчик события CLICK для кнопки _BUT_2 // (defun _BUT_2_Click Nil (prog Nil (dlgHide "_DLG_) (dlgDestroy "_DLG_) (gc))) // // Назначение процедуры-события _BUT_2_Click контролу _BUT_2 // (dlgSetEvent "_BUT_2 "_BUT_2_Click) // // Обработчик события CLICK для кнопки _BUT_1 // (defun _BUT_1_Click Nil (prog (a1 a2) (setq a1 (str2fix (dlgGetText "_TXT_1))) (setq a2 (str2fix (dlgGetText "_TXT_2))) (TRY (dlgPutText "_TXT_3 (fix2str (*gcd a1 a2))) EXCEPT (dlgPutText "_TXT_3 "Ошибка!!!")))) // // Назначение процедуры-события _BUT_1_Click контролу _BUT_1 // (dlgSetEvent "_BUT_1 "_BUT_1_Click) // // Отображение диалога _Dlg_ // (dlgShow "_Dlg_))

Для того, чтобы построить EXE-файл, нужно загрузть в среду Лиспа функцию и написать стартовое выражение для отображения диалога. Проще всего "погрузить" приведенную выше PROG -конструкцию в функцию MAIN без параметров. Тогда стартовым S-выражением для запуска EXE-файла будет вызов (main) . Итак, если загрузить в среду Лиспа следующие функции:
// // Поиск наибольшего общего делителя // (defun *gcd (x y) (cond ((eq x y) x) ((greaterp y x) (*gcd y x)) ((eq (remainder x y) 0) y) (T (*gcd y (remainder x y))))) // // Программа отображения диалога _Dlg_ // (defun main nil (prog nil (dlgCreate "_Dlg_ 419 233 "Наибольший общий делитель:") (dlgAddControl "_Dlg_ "_LBL_1 _LABEL 14 15 100 21 "("Tahoma" 14,25 1 0 0) "Первое:" 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_1 _TEXT 155 13 248 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 59 133 26 "("Tahoma" 14,25 1 0 0) "Второе:" 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_2 _TEXT 156 56 247 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_3 _LABEL 13 101 127 27 "("Tahoma" 14,25 1 0 0) "Н.О.Д." 0 &HFF &H8000000F) (dlgAddControl "_Dlg_ "_TXT_3 _TEXT 157 98 247 31 "("Tahoma" 14 1 0 0) "" 0 &HFF &H80000005) (dlgAddControl "_Dlg_ "_BUT_1 _BUTTON 24 148 180 50 "("Tahoma" 8,25 1 0 0) "Вычислить") (dlgPutPicture "_BUT_1 7) (dlgAddControl "_Dlg_ "_BUT_2 _BUTTON 213 149 180 50 "("Tahoma" 8,25 1 0 0) "Закрыть") (dlgPutPicture "_BUT_2 36) // // Обработчик события CLICK для кнопки _BUT_2 // (defun _BUT_2_Click Nil (prog Nil (dlgHide "_DLG_) (dlgDestroy "_DLG_) (gc))) // // Назначение процедуры-события _BUT_2_Click контролу _BUT_2 // (dlgSetEvent "_BUT_2 "_BUT_2_Click) // // Обработчик события CLICK для кнопки _BUT_1 // (defun _BUT_1_Click Nil (prog (a1 a2) (setq a1 (str2fix (dlgGetText "_TXT_1))) (setq a2 (str2fix (dlgGetText "_TXT_2))) (TRY (dlgPutText "_TXT_3 (fix2str (*gcd a1 a2))) EXCEPT (dlgPutText "_TXT_3 "Ошибка!!!")))) // // Назначение процедуры-события _BUT_1_Click контролу _BUT_1 // (dlgSetEvent "_BUT_1 "_BUT_1_Click) // // Отображение диалога _Dlg_ // (dlgShow "_Dlg_)))

а затем построить EXE-файл gcd-2.exe , задав следующие параметры:


То получится вполне работоспособный EXE-файл . Его можно запустить, и убедиться, что НОД считается верно:

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

Нам преподаватели дали уж очень неразборчивую программку, но один умный человек посоветовал другую, которая называется Smart Movie Maker . Он сказал, что легче программы для этой задачи еще не видел.

У вас появится такое окошко:

Как вы можете увидеть левая часть окна разбита на две части: Инсталлятор и Деинсталлятор .

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

Что я вам расскажу о основных характеристиках для установочного файла.
Как вы уже заметили у файла.exe довольно таки много параметров. Поговорим немного о каждом.

Информация:
Вы могли его сразу увидеть, когда запустили программу. Я думаю там и так все понятно, что нужно ввести Имя программы , Версия и т.д. Я буду говорить только об основных из них.

Все заголовки и надписи тоже заполните, ведь это все будете видеть при установке программы.

Тип сжатия можете выбрать Максимальное , ведь так у вас уменьшится размер вашего установочного файла. А также Тип разбивки можете выбрать одним файлом , так будет проще для пользователя.

Файлы:

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

Требования:


В этом пункте нужно указать требования к вашей программе. Например тип ОС или дополнительное ПО, которое должно быть установлено на компьютер.

Диалоги:


На этом окне есть четыре вкладки: Общая , Лицензия/Информация , Пароль и Завершение . Диалоги это дополнительные окна или пункты, которые будут появляться. Например, окно о лицензионном соглашении.

Интерфейс:


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

В принципе это все основные пункты, которые потребуются для установочного файла.

А теперь на завершение, чтобы наконец то создать сам файл, просто нажмите кнопку Компилировать .

Как вы видите интерфейс программы очень простой и понятный. Так что пользуйтесь, надеюсь она вам поможет, так как помогла и мне.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png