我们想品牌的软件,根据客户的网站,它是从哪里下载的。例如,通过显示客户的徽标等,我们所需要的只是一个ID,软件可以在运行时处理其余的定制。
定制的数量可能很大,我们希望避免预构建和存储这些安装程序。
我愿意考虑所有的选择,特别是一些现成的想法。
我认为,如果不破坏签名,就不可能更改已签名的安装程序(exe/dmg)。
我正在玩弄一些想法(以及它们的取舍):
发布于 2021-04-12 11:29:41
基于铬的浏览器,如Google、Chromium、Opera、Microsoft等,保存了Windows 10 (仅在NTFS文件系统上)和Linux (仅在Ext4上)下载的所有文件的来源URL和引用者URL。
有关详细信息,请参见例如这里。在Windows上,元数据也可以从命令行访问,也可以直接从Java访问。
Mac上似乎也有类似的功能。例如,请参见关于超级用户的这问题。
从安装程序中访问此元数据有助于自定义安装程序的行为。虽然数据不会在所有设置中都可用(例如Internet只存储一个区域ID而不存储URL),并且可能丢失(例如,用户删除数据或将文件复制到不支持元数据的文件系统),但它可能覆盖大多数用户。当未找到元数据时,要求用户输入代码仍可用作后盾。
我对这种方法的主要关注是,铬开发人员可能会决定在不久的将来删除这个特性,或者让它成为可选的,就像wget的开发人员一样(例如这里)。
在最新的Windows 10上,我仍然可以通过最新的Google Chrome和Microsoft Edge浏览器获得下载文件的以下元数据:
[ZoneTransfer]
ZoneId=3
ReferrerUrl=https://httpd.apache.org/
HostUrl=https://mirror.klaus-uwe.me/apache//httpd/httpd-2.4.46.tar.bz2https://stackoverflow.com/questions/67054571
复制相似问题