Я заинтересован в распространении приложения, написанного на C ++. Я хочу закончить тем, что в основном это старый метод распространения компакт-дисков, а наличие файла автозапуска делает большую часть работы; Я хочу иметь возможность отправлять файлы, которые могут использовать неопытные люди, чтобы скомпилировать / установить мой исходный код .cpp на свои машины и получить работающий файл .exe.
Я изучаю программы для создания установочных пакетов, основываясь на предложениях, которые я читал здесь по аналогичным вопросам. Я читал некоторые учебные пособия по NSIS, в частности, и я несколько озадачен тем, что именно делают эти программы. Учебники упрощают создание пакетов для установки файлов .txt на других компьютерах, но это кажется бессмысленным; Документы .txt не нужно компилировать для чтения, и нет особой причины, по которой они должны требовать установочный пакет для распространения. NSIS и связанные программы просто автоматизируют копирование и вставку? Мне нужна программа, которая может взять мой исходный код .cpp и скомпилировать / установить его на других компьютерах, на которых еще не установлен компилятор C ++, и сделать это как можно удобнее, если получатель не технический -savvy (желательно просто запустив какой-то файл setup.exe). Есть ли у NSIS и подобных программ такая возможность, или они хороши только для отправки кому-то моего исходного кода в некомпилированном формате? Должен ли я искать в другом месте вместо этого?
Я использую Visual Studio 2010 Express, но без поддержки установочных пакетов. Видимо, плохое время с моей стороны.
Кроме того, могу ли я сделать это таким образом, чтобы получатель пакета не смог прочитать содержимое моего исходного кода, например, если написанная мной программа реализует шифрование RSA, и я не хочу, чтобы пользователи знали, что размер блока или модуль, который я выбрал?
Благодарю за помощь.
Пакеты обычно содержат исполняемый код, а не исходники. Вы должны скомпилировать свой код для целевой машины, а затем упаковать его, чтобы пользователь мог установить его. Это немного больше, чем копирование и вставка, так как в идеале это также внесет необходимые изменения в конфигурацию системы, а также запишет достаточно информации, чтобы можно было позже удалить установленные файлы.
(Подумайте об этом так: если вы устанавливаете Visual Studio, вы не компилируете ее, так как вам не с чем скомпилировать во время установки. И все же, она поставляется в пакете.)
Последний пункт, таким образом, очевиден: если вы не упакуете свои исходные коды, люди не смогут их прочитать. Однако не полагайтесь на «безопасность по неизвестности» — если кто-то обладает достаточными навыками, он может разобрать или декомпилировать вашу программу.
Нет. Установщики (по крайней мере для Windows) содержат все файлы, которые вам понадобятся в целевой системе, обычно в сжатом виде. Вы по-прежнему несете ответственность за создание этих файлов, например, составив их.
Установщики не всегда нужны. Иногда в Windows вы увидите термин XCOPY install
или же XCOPY deployment
, Это относится к XCOPY
утилита, которая может копировать всю структуру каталогов. Многие программы будут работать, если вы просто скопируете весь каталог программ в соответствующий Program Files
каталог.
Однако даже в этих простых случаях установщики могут помочь выяснить, где это Program Files
каталог, где добавить ярлыки для меню Пуск, и как бороться с удалением.