システムの復元によってレジストリが以前の状態に復元されるのに、プログラムの試用版はなぜリセットされないのでしょうか?

システムの復元によってレジストリが以前の状態に復元されるのに、プログラムの試用版はなぜリセットされないのでしょうか?

指定された順序で次の操作を実行します。

  1. システムの復元ポイントを作成します。レジストリがどのようになっているかのメモがあります
  2. X日間の試用期間があるプログラムをダウンロードする
  3. 試用期間が終了したら、システムの復元を使用して前の時点に戻ります。前にプログラムのインストール

これらの手順の後、プログラムのトライアルはないレジストリが以前の状態に戻ったにもかかわらず、リセットされました。なぜでしょうか?

答え1

試用版アプリケーションがこれを行う方法はさまざまですが、レジストリはそのうちの 1 つにすぎません。レジストリを使用すると仮定しましょう。システムの復元では、レジストリ全体が復元されるのではなく、一部のみが復元されます。アプリケーションが行う必要があるのは、思いもよらない場所に不明な値を保存することだけです。誰かがそれを見ても、それが何であるかはわかりません。アプリケーション インストーラーがこの値を見つけた場合、アプリケーションが以前にインストールされていたことがわかります。

そうした場所の 1 つは、組み込みアカウントのプロファイルです。これはシステムの復元では変更されず、簡単にアクセスできます。開発者はシステムの復元の仕組みを理解しており、復元されない場所を使用します。また、開発者は非常に機知に富んでいる傾向があります。有能な開発者であれば、他のいくつかの方法をすぐに思いつくでしょう。当然、これらはどれも文書化されません。

答え2

これが役立つかどうかはわかりませんが、最初に思いついたことです。プログラムをインストールする前の時点でレジストリ全体をエクスポートします。

Win+R\regedit\File\Export(「ドキュメント」に名前を付けて保存ダイアログが開きます)\FileName\save。ファイル名には、FullReg(todaysDate).reg > FullReg090217.reg を使用します。

ダイアログ ボックスの下部にある [エクスポート範囲] で、[すべて] ボタンが選択されていることを確認します。

関連情報