我的服务器是Ubuntu Server 12.04,我的客户端都使用Windows。

因此,我想为其构建一些Windows安装程序。

最后,我发现7z SelF-eXtracting安装程序对我来说非常容易。 Ubuntu具有p7zip,它可以制作7z压缩文件,并且可以使用sfx模块通过以下命令制作Windows 7z SelF-eXtracting安装程序:cat 7zSD.sfx installer_config installer.7z > installer.exe
我在http://downloads.sourceforge.net/sevenzip/7z920_extra.7z下载了7zip Extra软件包以使用其sfx模块

一切都好。唯一的问题是如何更改exe图标?我希望安装程序具有一些不同的图标。使用脚本或某些cli软件更好,因为我的服务器没有X,并且我希望进行批量操作。

谢谢你。

最佳答案

除非将PE header 修改为考虑多余的数据,否则很少将数据串联在一起会生成有效的PE可执行文件。它现在可能实际上在“工作”,因为Windows版本允许加载文件并且7z可执行文件从磁盘加载了负载,但事实是您的PE可执行文件无效并且在某些Windows版本上可能不起作用。

好消息是,通过使用资源编译器,您将同时解决两个问题:图标和有效负载通常都是资源,因此您可以拥有一个“空” 7z可执行文件,您可以在其中添加图标和数据以使用资源编译器。

我从没尝试过在Unix上编译Windows可执行文件,但是如果我愿意的话,我来看一下Wine,IIRC拥有一个可以在Unix上运行的资源编译器。

更新:http://www.winehq.org/docs/winelib-guide/wrc

关于linux - 在Linux服务器上构建Windows 7z SelF-eXtracting安装程序,如何更改exe图标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19943903/

10-12 20:10