Develop and Download Open Source Software

Ticket #26822

Open Date: 2011-11-26 16:01

Last Update: 2011-11-29 20:03

自動アップデート機能

Reporter:s_kawamotoOwner:(None)
Priority:5 - MediumMileStone:(None)
Type:Feature RequestsSeverity:5 - Medium
Component:(None)Status:Open
ResolutionNone

Details

自動アップデート機能を実装するにあたって、何らかの固定のアドレス(例えばsourceforge.jp/projects/ffftp/update.txtのようなもの)が必要ですが、SourceForge.JPにはそのような広告などの意図しないデータが入らないパスが固定のファイルを作成する機能はあるのでしょうか。 あるとすればそのように利用することは可能でしょうか。

Attach File

File ListNo attachments.
Add New attachment
Add attachment filesPlease login to add new attachment

Ticket History - 3/3 Histories

2011-11-26 16:01 Update by: s_kawamoto

  • New Ticket "自動アップデート機能" created

2011-11-29 18:13 Update by: hiromichi-m

Comment

不可能ではないのですが、現状はやや面倒くさいです。選択肢としては

  1. プロジェクトWeb(ホスティング機能)を使う
  2. 文書マネージャ機能を使う
  3. ダウンロードページの直リンクURLを使う

などがあります。1.は一番簡単ですが、急に多数のアクセスがあった場合に捌けない可能性があります。また、ファイルのアップロードはSFTP経由なので、やや更新が面倒くさいかもしれません。

2.はWebからファイルを更新できて楽ですが、文書マネージャ機能自体利用を推奨していないため、今後機能が無くなる可能性があります。

3.は裏技的な使い方ですが、プロジェクトのダウンロードページでファイルを登録すると、そのファイルが自動的にSF.JPのFTPサーバーやミラーサイトにコピーされます。このURLを直で叩くというもので、ネットワーク容量が大きいミラーサーバーを配布に使えるのはメリットですが、仕様変更などで動かなくなる可能性があります。

SF.JP側でもこのような要望は認識していて、何らかの手段を提供することを検討しています。もし近々で実装されるなら、プロジェクトWeb(ホスティング機能)を使うのが無難でしょう。

自動アップデートはいくつかライブラリがあり、どれを使うかによっても対応が変わるので、もし使いたいライブラリがあるようでしたらそれをお知らせいただければ対応を考えたいと思います。

2011-11-29 20:03 Update by: s_kawamoto

Comment

現状だと1.が一番現実的ですね。既に3.はftp.jaist.ac.jp/pub/sourceforge.jp/ffftp/で確認しましたが、ファイル名を固定出来ないようで、他のサーバーの仕様は分かりませんが諦めました。

ZIP版なら本体の書き換え、インストーラ版なら加えてレジストリを一部書き換えるだけなので、まだライブラリの使用は考えていません。ちなみに元のFFFTPは「更新風鐸」を使用しているようですが、今は機能しませんし、通知のみでアップデート機能がありません。 現在想定しているルーチンは以下の通りです。

  1. 特定のURLからファイルを取得
  2. ファイルの情報をもとにFTP経由でZIPをダウンロード
  3. 以下適宜ファイルのハッシュ値を検証
  4. ZIPを特定のフォルダ("インストール先\update"以下など)に解凍
  5. "FFFTP.exe"を終了して"update\FFFTP.exe"をコマンドラインオプションなどで更新モードで起動
  6. 元のファイルを"update"内のファイルで上書き
  7. インストーラ版ならレジストリ内のアンインストーラ用の情報を上書き
  8. "update\FFFTP.exe"を終了して"FFFTP.exe"を起動
  9. "update"を削除

急を要する機能ではありませんので、もう少し様子を見ることにします。 ありがとうございました。


Add Comment/Update #26822 (自動アップデート機能)

You are not logged in. If you do not want to anonymous write, please login. » Login


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.