ソフトウェア作成にあたり、インストール後に一定の期間以上お試し期間を設けて、その期間が過ぎるとソフトウェアをアンインストールしてインストールしなおしてもソフトウェアを使えないようにしたいです。どのような処理を行えばこのような事ができるでしょうか?Windows XPがプラットフォームです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/09/02 19:40:22
  • 終了:2008/09/09 19:45:03

回答(3件)

id:syntaxerror No.1

syntaxerror回答回数354ベストアンサー獲得回数562008/09/02 19:46:35

ポイント27pt

単純にインストールした日時をどこか(レジストリとか設定ファイルとか)に記録しておき、ソフトの起動の度に現在の日時と比較して処理を分岐しているだけです。

http://www.salty1.com/backnumber/1186.html

id:kimizu No.2

kimizu回答回数726ベストアンサー獲得回数212008/09/02 19:52:51

ポイント27pt

これ、完全にやるのは不可能です。

簡単に思いつくのは、

 ・インストール時にレジストリにインストール日を暗号化した情報を書いて、

  アンインストールでも消さない。レジストリ情報が正しければ動作する。

 ・Windowsフォルダ内に内緒のファイルを作成し、そのファイル内のデータ

  から判断してお試し期間か否かを確認して動作する。

くらいでしょうか。

http://www.higaitaisaku.com/hkeyusers.html

#それでも、「ソフトをインストールする前にレジストリをバックアップして戻す」や、

#「インストール時に増えたファイルをウォッチするツールを使用して、完全削除」などの

#方法で回避できてしまいます。

極端な話、そのツールを使うためだけの専用のPCを用意されて、OSから再インストール

されると、もう何も出来ないです。。。

プログラム内でPCの日付を見て動作する場合でも、PCの日付を変えられたらNGですね。

id:newta No.3

newta回答回数68ベストアンサー獲得回数72008/09/02 20:18:13

ポイント26pt

windowsソフトならばレジストリに値を登録するのが良くある手です。

単純に日付を値として持つと編集されてしまうので、

暗号化などしてから保存したりします。

http://q.hatena.ne.jp/answer

  • id:syntaxerror
    >これ、完全にやるのは不可能です。


    可能です。
    例えばcpuidやwindowsのライセンス番号を利用してユニークなキーを生成できて、
    ソフトのインストールと起動時にインターネット上の特定のサイトに接続できれば
    可能です。

    つまりパソコン以外の場所に情報を記録しパソコン以外の時計を参照できれば可能です。

    ソフト自体をハックすれば不可能ではありませんがそれは禁じ手の前提です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません