2009-02-19 39 views
2

我在Linux下使用gtkmm和libpcap编写了一个应用程序。当然,gtkmm依赖于GTK +。在Windows下打包依赖关系的应用程序

将它移植到Windows,并试图分发之后,我收到的反馈是,有太多的依赖关系进行安装。

用户必须运行的GTK +,gtkmm的,和WinPcap的运行时安装才可以运行我的小应用程序,这固然是一种痛苦。

GIMP的Windows似乎使用启动,如果需要GTK +的安装程序的安装程序,但这样做了三种不同的库似乎有点过度,特别是在安装尺寸方面。

有没有更好的方式来分配呢?我相信winpcap实际上必须安装一个服务,所以它可能需要运行安装程序,但也许我可以将GTK +/gtkmm库绑定到运行时文件夹中?

我更熟悉Linux开发了不少,所以我不知道最好的行动当然是什么。

回答

2

我强烈建议使用像Advanced Installer的工具来处理这个给你。在Windows上制作一个合适的安装程序是一件非常头疼的事情,因此非常值得您花时间使用GUI工具来帮助您。 AI(以及其他安装程序)可以安装和管理Windows服务,先决条件等,并且从长远来看,通过使用这样的工具来帮助您部署,您将节省大量时间。高级安装程序尤其对管理不同的依赖关系及其相关版本提供了非常好的支持,并且它还可以在安装过程中安装本机Windows服务。他们有一个免费版本,但根据产品的性质,您可能想要购买其中一种商业版本。基本上,如果你认真对待Windows上的部署,你应该投入时间(和金钱,可能)来制作一个适当的MSI风格的安装程序。不要撼动NSIS人群,但是制作非标准的Windows安装程序总是会给开发人员带来更多的工作,并为最终用户带来更不舒服的体验。

1

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