0

LinuxおよびWindowsマシンにインストールする予定のプログラムがあります。私はそれを(autotoolsで)うまくクロスコンパイルしていますが、ある時点でプログラムがそのバイナリを更新できるようにしたいと思います。私がこれを行うことを考えることができる唯一の方法は次のとおりです。

  • ユーザーに「C:\ ProgramFiles\FooProgram」または「/usr/ bin/foo_program」への書き込みアクセスを許可します。

また

  • プログラムをユーザーのプロファイル/ホームディレクトリにインストールします。

これらはどちらも良い考えではないようです。あなたならどうしますか?

4

2 に答える 2

0

あなたはあなたがやろうとしていることについてもっと詳細を私たちに与える必要があります-私はクロスプラットフォーム、パッチ、そしてあなたの質問の間のリンクを理解していません。

プログラムを自動更新できるようにする必要がある場合、少なくともLinuxでは、定期的に更新されるバイナリパッケージ(rpm、debなど、ターゲットに応じて)を提供するのが最善の解決策です。これにより、新しいバージョンが次のようになります。パッケージマネージャーが受け取りました。Windowsとmacosxでは、通常、物事はより分散化されており、各プログラムには独自の更新マネージャーがあります。最良の技術的解決策は、技術(C / C ++ / python / whatever)によって異なります。Linuxで私が考えることができる1つの例外は、vmplayerです。これは、新しいバージョンがあるときに通知しますが、それでも新しいバージョンをインストールする必要があります。

于 2009-06-12T14:48:43.610 に答える
0

プログラムバイナリが書き込み可能である場合は、パッチまたは新しいビットを%TEMP%または/ tmpにダウンロードして、それらをバイナリに適用できます。ディレクトリに新しいファイルを作成できる必要はないと思います。ただし、Windowsでファイルを使用しているときに、パッチを適用しようとすると問題が発生します。

于 2009-06-12T17:02:13.943 に答える