2

我的服务器是 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 额外包以使用其 sfx 模块

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

谢谢你。

4

2 回答 2

1

除非您修改 PE 标头以考虑额外数据,否则将数据连接在一起很少会生成有效的 PE 可执行文件。它现在实际上可能“工作”,因为 Windows 版本在加载文件时是宽容的,并且 7z 可执行文件从磁盘加载有效负载,但事实仍然是您的 PE 可执行文件无效并且可能无法在某些 Windows 版本上运行。

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

我从未尝试在 Unix 上编译 windows 可执行文件,但如果我愿意,我会看看 Wine,IIRC 它有一个在 Unix 上工作的资源编译器。

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

于 2013-11-13T16:36:15.060 回答
0

我不认为,这是可能的。

我建议使用 nsis。

于 2013-11-13T16:19:19.137 回答