在Windows下打包具有依赖项的应用程序

时间:2009-02-19 21:05:20

标签: windows gtk gtkmm

我在Linux下使用gtkmm和libpcap编写了一个应用程序。当然,gtkmm取决于GTK +。

将其移植到Windows并尝试分发后,我收到的反馈是安装依赖性太多。

用户必须在运行我的小应用程序之前运行GTK +,gtkmm和winpcap运行时的安装程序,这无疑是一种痛苦。

GIMP for Windows似乎使用了一个安装程序,可以根据需要启动GTK +安装程序,但对三个不同的库执行此操作似乎有点过分,尤其是在安装程序大小方面。

有更好的方法来分发这个吗?我相信winpcap实际上必须安装一个服务,所以它可能必须运行安装程序,但也许我可以将GTK + / gtkmm库捆绑在运行时文件夹中?

我对Linux开发比较熟悉,所以我不确定最佳方法是什么。

2 个答案:

答案 0 :(得分:2)

我强烈建议您使用像Advanced Installer这样的工具来解决这个问题。在Windows上制作一个合适的安装程序是一件非常令人头疼的问题,所以非常值得您花时间使用GUI工具来帮助您。 AI(以及其他安装程序)可以安装和管理Windows服务,先决条件等,从长远来看,通过使用这样的工具来帮助您进行部署,可以节省大量时间。特别是Advanced Installer对管理不同的依赖项及其相关版本有很好的支持,并且它还可以在安装过程中安装本机Windows服务。它们有免费软件版本,但根据产品的性质,您可能需要购买其中一个商业版本。

基本上,如果你认真考虑在Windows上部署,你应该花时间(和可能的钱)来制作一个合适的MSI风格的安装程序。不要破坏NSIS的人群,但制作非标准的Windows安装程序总会给开发人员带来更多的工作,并为最终用户带来更加不舒服的体验。

答案 1 :(得分:1)

如果您想手动打包GTKmm运行时,请参阅gnome.org上的this link以获取更多详细信息(请参阅Redistributing下的内容)。您也可以使用/ S标志静默运行GTKmm安装程序。