创建安装包是否取代了编译代码?

时间:2014-03-31 05:35:33

标签: c++ compilation installation nsis software-distribution

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

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

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

此外,我是否可以这样做,即包的收件人将无法读取我的源代码的内容,例如我编写的程序实现了RSA加密,而且我没有&#39 ; t希望用户知道我选择的块大小或模数?

谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

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

(想象一下:如果你安装了Visual Studio,你就不会编译它,因为在安装时没有任何东西可以编译它。但是,它来自一个软件包。)

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

答案 1 :(得分:0)

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

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

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