【问题标题】:Modifying setup file with PHP用 PHP 修改安装文件
【发布时间】:2010-04-13 13:44:09
【问题描述】:

我有一个在某些大洲下载时需要品牌化的应用程序。例如,在北美安装时,应用程序在运行时会显示与欧洲不同的徽标和公司名称。

安装文件是通过 PHP 脚本提供的。目前有适用于 Windows 的 Inno Setup 可执行文件和适用于 Mac OS X 的 DMG。

我看到when downloading Google Chrome,你可以指定它是否应该发送使用统计。简要查看控制它的 JavaScript 会发现,它只是通过 &usagestats=0 或 &usagestats=1 发送回服务器。

我将如何根据通过 PHP 下载页面指定的设置来影响安装?

【问题讨论】:

    标签: php installation download inno-setup dmg


    【解决方案1】:

    如果您可以根据地区打包不同版本的应用程序,那么您可以使用某种形式的 IP 地址到国家/地区数据库,以确定允许用户下载哪个文件。

    您可以使用在线服务找出用户的位置 (http://www.ip2location.com/) 或获取数据库并进行自己的查询(我现在不记得有几个免费来源)。

    【讨论】:

    • 我打算走那条路,但我想我会先调查专家。大多数情况下,我希望可能有一些聪明的方法来修改安装文件,而不是为每个大陆使用不同的包。感谢您的链接;我将它与 GeoIP (maxmind.com/app/geoip_country) 进行比较。
    • Inno Setup 非常先进(它具有脚本功能),因此打包您的应用程序可能很简单。如果您从配置文件加载图像/文本,那么您只需要确保适当的配置文件被打包。
    • 我对脚本很熟悉,并且实际上有一个框架可以自动构建(也用于在 Mac 上制作 DMG)。我想这是唯一可行的解​​决方案。
    【解决方案2】:

    对于 Chrome 示例,您可以看到他们如何使用(现已开源)Omaha 项目(又名)修改安装程序。 谷歌更新。

    documentation 表明他们正在修改可下载 EXE 上的 Authenticode 数字签名的一部分,下载的 EXE 将提取文件,读取修改后的 Authenticode 签名,然后使用所需参数启动设置。

    在我们公司,我们构建了多个(200 多个)安装程序“变体”,其中嵌入了不同的参数或默认打开/关闭选项。不同的安装者被标记了不同的“跟踪”代码,以查看单个活动的推广效果如何。此外,同一个活动可能有多个安装程序,具体取决于用户在下载前勾选的选项(例如 32 位、64 位、包括模块 A/B/C)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多