创建安装包是否代替编译代码

Does creating an installation package take the place of compiling code?

本文关键字:编译 代码 是否 安装 包是否 创建      更新时间:2023-10-16

我有兴趣分发我用C++编写的应用程序。 我最终想要的基本上是分发 CD 并让自动运行文件完成大部分工作的旧方法;我希望能够发送非技术娴熟的人可以用来在他们的机器上编译/安装我的.cpp源代码的文件,并最终得到一个正常运行的.exe文件。

正在研究创建安装包的程序,基于我在这里阅读的有关类似问题的建议。 我特别阅读了一些关于NSIS的教程,我对这些程序的实际作用感到有些困惑。 这些教程使得创建软件包以在其他计算机上安装.txt文件似乎很容易,但这似乎毫无意义;.txt文档不需要编译即可阅读,并且没有特别的理由需要安装包进行分发。 NSIS和相关程序是否只是自动复制和粘贴? 我正在寻找的是一个程序,它可以获取我的.cpp源代码并将其编译/安装在可能还没有C++编译器的其他机器上,并在收件人不精通技术的情况下尽可能方便地这样做(最好只是通过运行某种设置.exe)。 NSIS和类似程序是否具有此功能,或者它们只适合以未编译的格式向某人发送我的源代码? 我应该去别处寻找吗?

我使用的是Visual Studio 2010 Express,但不支持安装包。 显然,我的时机不好。

此外,我是否可以以这样的方式执行此操作,即包的接收者将无法读取我的源代码的内容,例如,如果我编写的程序实现了 RSA 加密,并且我不想让用户知道我选择了什么块大小或模数?

谢谢你的帮助。

包通常包含可执行代码,而不是源代码。您将为目标计算机编译代码,然后将其打包,以便用户可以安装它。它不仅仅是复制和粘贴,因为理想情况下,它还会对系统配置进行必要的更改,并记录足够的信息以便以后能够删除已安装的文件。

(可以这样想:如果你安装了Visual Studio,你不会编译它,因为在安装时你没有什么可以编译的。然而,它以包装形式提供。

最后一点很明显:如果你不打包你的源代码,人们将无法阅读它们。但是,不要依赖"默默无闻的安全性" - 如果有人有足够的技能,他们可以反汇编或反编译你的程序。

No.安装程序(至少对于 Windows)包含目标系统上所需的所有文件,通常采用压缩形式。创建这些文件仍然是您的责任,例如通过编译它们。

并不总是需要安装程序。有时在Windows上,您会看到术语 XCOPY installXCOPY deployment 。这是指可以复制整个目录结构的XCOPY实用程序。如果只是将整个程序目录复制到相应的Program Files目录,则许多程序将运行。

但是,即使在这些简单的情况下,安装程序也可以帮助确定该Program Files目录的位置,在哪里为"开始"菜单添加快捷方式以及如何处理卸载。