世界のことを知りたい

読書習慣を付けたい。…マンガも本だよね?

Windows 10 でデスクトップのアイコンが自動整列されてしまうのを直す

数日前から Windows 10 の PC で、何故かデスクトップのアイコンが自動整列されてしまうようになってしまいました。

f:id:arityk:20151025024745j:plainf:id:arityk:20151025024746j:plain

アイコンが左上から並べられてしまいます。もちろん「アイコンの自動整列」にはチェックを入れていません。この問題には困っていて色々と検索してみてやっと解決法を見つけました。最初は Windows のアップデートせいだと思っていたのですが、これは ESET の問題のようです

[Fix] Desktop Icons Position and Folder View Settings Problem in Windows 10 - AskVG

This problem occurs due to the faulty Cleaner module present in ESET products. Actually whenever ESET detects some malicious item in a computer, the older version of its Cleaner module changes an important key value in Registry during the cleaning process which causes this annoying problem in Windows 10. ESET has confirmed this issue and has released a testing update which fixes the Cleaner module functionality to solve this problem in Windows 10. But the update has not been released to stable channel. You'll need to change the update server to pre-release in ESET settings to download and install the new testing update. It may take some time for ESET to release the same update to stable channel.

この記事で指摘されているとおり、私も ESET Smart Security(Version 8) というセキュリティソフトをインストールしています。このセキュリティソフトが問題を起こしているようです。

ここで書かれている通りにしたら私の場合は直りました。ただしちょっと手順が面倒です。レジストリエディタは良いとして、そこの所有権を取得するのが PC に慣れていないと複雑かもしれません。

この方法では「フォルダービュー」の設定が保存されず元に戻ってしまうのも直るようです。私は Windows のエクスプローラーをほとんど使わないので気付きませんでしたが、たぶんその症状もあったのでしょう。

日本で ESET を販売するキヤノンはこの問題について報告を受けたようです。問題はまだ修正されていません。

Windows 10 64bit 環境をご利用の際に、デスクトップのアイコンの設定や配置が変更される | ESETサポート情報 | 個人向け製品 | キヤノンITソリューションズ

現在現象が発生しているお客さまにおかれましては、大変ご不便をお掛けしますが、改善まで今しばらくお待ちいただきますようお願いします。

デスクトップアイコンの自動整列を直す方法

レジストリエディタを開きます。私は最初、Windows に搭載されているレジストリエディタでなく、他のエディタで編集していましたが、どうも後で登場する「アクセス許可」がうまくいきません。皆さんにはこの失敗を生かしていただき、搭載されているレジストリエディタを使った方が変な問題が起きずに早く済みます。

レジストリエディタを開く
  1. 「Windowsキー」+ R を押す。
  2. 「ファイル名を指定して実行」のウィンドウが開くので、そこに "regedit" と入力して「OK」。
このほかにも Windows の検索バーに「regedit」と入力しても構いません。

レジストリエディタが開いたら、次の場所を開きます。

HKEY_CLASSES_ROOT\CLSID\{42aedc87-2188-41fd-b9a3-0c966feabec1}\InProcServer32

探すのがちょっと大変ですが頑張ってください。ここを開くと、「%SystemRoot%\SysWow64\shell32.dll」という値を見つけられます。

f:id:arityk:20151025024817j:plain
"%SystemRoot%\SysWow64\shell32.dll"

ここを直したいのですが、通常はここを編集するための権限を持っていません。そこでまずは自分に権限を持たせます。

左のツリーにある「InProcServer32」で右クリックし、「アクセス許可」を開きます。アクセス許可のウィンドウを開いたら下の方にある「詳細設定」へ。

f:id:arityk:20151025024839j:plainf:id:arityk:20151025024840j:plain

すると下のようなウィンドウが開きます。

f:id:arityk:20151025024909j:plain

このウィンドウの上の方にある、所有者の「変更」を押します。ユーザー名を検索するウィンドウが開きます。

f:id:arityk:20151025024919j:plain

このウィンドウのテキストボックスに自分のユーザー名(Windows へのログインネーム)を入れます。私の場合「Admin」なので、そう入力して右の「名前の確認」を押します。ここで行っているのはユーザー名の検索ですので、自分のユーザー名の最初の何文字かを入れるだけでも良いかもしれません。

f:id:arityk:20151025024925j:plain

「名前の確認」を押すと、左のボックスに「コンピューター名\ユーザー名」のように表示されるはずです。ユーザー名が見つからない場合は入力したものが間違っていると思われます。これで「OK」。

所有者が変わっているはずです。

f:id:arityk:20151025024931j:plain

所有者が変わっているのを確認したら「OK」を押してウィンドウを閉じます。「アクセス許可」のウィンドウに戻ってきました。

f:id:arityk:20151025024939j:plain

ここで自分の "Administrators" を選択し、下の欄で「フルコントロール」にチェックを入れ、「OK」。これでレジストリの値を編集できるようになりました。

f:id:arityk:20151025025003j:plain

では「%SystemRoot%\SysWow64\shell32.dll」を次の値に変えます。

%SystemRoot%\system32\windows.storage.dll

「OK」で閉じます。

これで終わりでは無く、次はレジストリエディタで下の場所を開きます。

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{42aedc87-2188-41fd-b9a3-0c966feabec1}\InProcServer32

ここにある「%SystemRoot%\SysWow64\shell32.dll」も、同じようにして「%SystemRoot%\system32\windows.storage.dll」に変えます。

これで PC 再起動。直っているはずです。変更したレジストリの所有権が気になるようでしたら所有者を元に戻しておくのも良いでしょう。