跨平台修补

我有一个我打算在Linux和Windows机器上安装的程序。 我有它交叉编译罚款(与autotools),但在某些时候,我希望该程序能够更新其二进制文件。 我能想到的唯一方法是:

  • 为用户提供对“C: Program Files Foo Program”或​​“/ usr / bin / foo_program”的写入权限。
  • 要么

  • 将程序安装到用户的配置文件/主目录。
  • 这些都不是一个好主意。 你会怎么做?


    您需要向我们提供更多关于您要做什么的细节 - 我不会详细说明跨平台,修补和您的问题之间的联系。

    如果你需要能够自动更新程序,至少在Linux上,最好的解决方案是提供一个二进制包(rpm,deb,不管什么,取决于你的目标),定期更新 - 这样新版本将会由包管理员拿起。 在Windows和Mac OS X上,事情通常更加分散,每个程序都有自己的更新管理器。 最好的技术解决方案取决于技术(C / C ++ / python / whatever)。 在Linux上我能想到的一个例外是vmplayer,它告诉你什么时候有新版本 - 但你仍然需要安装新版本。


    如果程序二进制文件是可写的,则可以将补丁程序或新位下载到%TEMP%或/ tmp,然后将它们应用于二进制文件。 我不认为你需要能够在目录中创建新文件。 但是当你尝试修补它时,你将遇到Windows上的问题,并且正在使用该文件。

    链接地址: http://www.djcxy.com/p/9251.html

    上一篇: Cross platform patching

    下一篇: platform way of getting temp directory in Python