アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
配布したプログラムに一部差替えの必要が生じています。
この差し替えを行うアップデートソフトを作成するツールを探しています。
なるべく廉価で購入できる物が望ましいのですが、
以下の条件に合った作成ツールをご存知の方、是非ご紹介下さい。

==条件==
1.指定したフォルダーの該当するファイルだけを上書きする。
2.上書きする際に"日付"などのタイムスタンプで比較してから上書き判断する。

以上
よろしくお願いします。

A 回答 (3件)

>==条件==


>1.指定したフォルダーの該当するファイルだけを上書きする。
>2.上書きする際に"日付"などのタイムスタンプで比較してから上書き判断する。

1.は構わないけど、2.は絶対やっちゃダメ。
これは「クライアントPCの時計を信じる」と言う、素人が良く陥る罠。

例えば「今回のアップデートでは、AとBのファイルを2つ同時に入れ替えないとプログラムの整合性が取れず、起動しても異常終了」と言う作りになっている場合を考えてみましょう。

Aのファイルは初期バージョンのままで、3年前の日付になっています。

Bのファイルは前回のアップデートで更新されています。しかし、クライアントPCの時計が狂った状態でアップデートしていた為、来年の日付になっています(前回は「3年前⇒来年」のアップデートなので、ファイルの日付チェックを通過してしまいました)

ユーザーはクライアントPCの時計が狂っていたのに気付き、すでに時計は修正されています。

この状態でアップデートの際に、ファイルAとファイルBの両方に対し、個別に
>2.上書きする際に"日付"などのタイムスタンプで比較してから上書き判断する。
と言う判断をしたらどうなるでしょう?

当然、ファイルAだけがアップデートされ、ファイルBは「元のファイルの方が新しい」としてアップデートされません。

すると「AとBのファイルが2つ同時に入れ替えされなかったので、プログラムの整合性が取れず、起動しても異常終了」と言う事態に陥ります。

こういう事をするなら「ファイルの中にバージョン情報や制作サイドが決めた固有の日付」を入れておき、それを比較すべきです。

繰り返しますが「クライアントPCの時計は絶対に信じてはいけません」

未だに、2000年問題を回避する為、わざと時計を1997年にして使用しているユーザーだって居るんです。
    • good
    • 0

フォルダやファイル名が決め打ちできるのなら


自己解凍書庫で自動実行ファイルを指定して置き
http://www.lhut32.com/page6.html

自動実行ファイルを、VBS( WSH ) などで作成
この中でファイルのプロパティを確認して、コピーして自身を削除
でも良さそう?
    • good
    • 0

仕事で使うならインストールシールドですかね。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!