Ask CORE

Microsoft Japan Windows Technology Support

ActiveX が自動的に削除されてしまう

こんにちは。Windows プラットフォーム サポートの加藤です。
本日は、 Windows10 において ActiveX が自動的に削除されてしまう現象についてご紹介いたします。

Windows 10 において ActiveX が自動的に削除されてしまう現象は、SilentCleanup タスクが実行されることで発生します。

Windows 8.1 までは、ディスク全体の容量に対して空き容量が 10 % を下回った場合にのみ SilentCleanup タスクが実施されていましたが、
Windows 10 では、ユーザーの利便性を向上させる意図から、システムが idle 状態に移行した場合にも、SilentCleanup タスクが実行されます。

SilentCleanup タスクでクリーンアップ対象となるフォルダは、Downloaded Program Files とTemporary Internet Files です。
ActiveX は、クリーンアップ対象となるフォルダ Downloaded Program Files に、既定でダウンロードされるため、本現象が発生します。
そのため、ActiveX が自動的に削除されてしまう現象は、3 つの方法のいずれかを実施することで、回避することができます。

  1. ActiveX のダウンロード先を変更する
  2. ActiveX のダウンロード先を SilentCleanup タスクのクリーンアップ対象から除外する
  3. SilentCleanup タスクを停止する

以下にて、それぞれの設定手順をご案内いたします。
 
 


1.  ActiveX のダウンロード先を変更する


  1. スタート ボタンを右クリックし、[ファイル名を指定して実行] を選択しウィンドウを表示する。
  2. “regedit” と入力し、[OK] ボタンをクリックする。
  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings レジストリのサブ キーを開く。
  4. ActiveXCache の値をダブル クリック。値にあるパスを新しい場所に変更し、[OK] をクリックする。
    ※ Downloaded Program Files と Temporary Internet Files 以外の場所を指定してください。
  5. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ActiveX Cache レジストリの
    サブ キーを開く。
  6. 0 の値をダブル クリック。手順 4 で指定したファイル パスと同じ値に変更し、[OK] をクリックする。
  7. 設定を反映するために IE を再起動する。

< 想定されるデメリット >
ActiveX を参照するアプリケーションがある場合、そのアプリケーションにも、変更後のパスを設定する必要があるかもしれません。
そのため、パスの変更を実施する場合には、ActiveX を参照するアプリケーションの開発元にも、パスの設定について確認をしてください。

 
 


2.  ActiveX のダウンロード先を SilentCleanup タスクのクリーンアップ対象から除外する


  1. コマンド プロンプトを管理者権限で実行する。
  2. 以下のコマンドを実行し、クリーンアップ設定を実施する。

    > cleanmgr /sageset:2

    ※ /sageset はクリーンアップ設定をするオプションで、0 ~ 65535 の保存番号を指定します。(上記例では 2 番)。
    クリーンアップ設定は /sageset で指定した保存番号に対し、削除対象となるフォルダを保存することができます。
    フォルダの選択は、手順 3 で実施します。
  3. 手順 2 の後、ディスク クリーンアップの設定画面が表示されたら、削除されるファイルから [ダウンロードされたプログラム ファイル] のチェックを外し、[OK] を選択する。
  4. タスク スケジューラを起動。
  5. タスク スケジューラの左ペインにある [タスク スケジューラ ライブラリ] より、[Microsoft] -> [Windows] -> [DiskCleanup] の順に選択する。
  6. 画面中央に SilentCleanup タスクが表示されたら、右クリックをし、[プロパティ] を選択する。
  7. プロパティ画面の [操作] タブを選択し、[編集] をクリックする。
  8. 引数の追加欄に、手順 1 で用意したクリーンアップ設定を以下のように指定し、[OK] をクリックする。

    /autoclean /sagerun:2 /d %systemdrive%

    ※ /sagerun は指定した設定番号(上記例では 2 番)を使用し cleanmgr を実行するオプションです。/sagerun で指定した保存番号に設定されたフォルダに対してクリーンアップ処理を実行します。
< 想定されるデメリット >
C:\Windows\Downloaded Program Files 配下の一時ファイル等、不要なファイルが自動的に削除されなくなります。
そのため、ディスク容量が逼迫している場合や一時ファイルの残存を回避したい場合は、定期的に不要なファイルを確認し手動、もしくはバッチ ファイル等でファイルを削除ください。

 
 


3.  SilentCleanup タスクを停止する


  1. コマンド プロンプトを管理者権限で実行する。
  2. 以下のコマンドを実行し、SilentCleanup タスクを無効化する。

    schtasks.exe /change /TN “\Microsoft\Windows\DiskCleanup\SilentCleanup” /Disable

< 想定されるデメリット >
SilentCleanup タスクを無効化した場合は、一時ファイル等、不要なファイルが自動的に削除されなくなります。
そのため、ディスク容量が逼迫している場合や一時ファイルの残存をさせてくない場合は、定期的に不要なファイルを確認し手動、もしくはバッチ ファイル等でファイルを削除ください。

 
 
このブログが皆様のお役に立てれば幸いです。