Windows 8.1 Pro(64bit)
Windows 10 Pro (64bit)
概要
作成したソフトをタスクバー登録しようとしたが、「タスクバーにピン留め」が右クリックのコンテキストメニューに登場しない。
タスクバーにドラッグしても登録できない。
関係するレジストリ
以下が関係することが分かった。
HKEY_CALSSES_ROOT\Applications\[ファイル名].exe
IsHostApp: REG_SZ
-
https://www.pg-fl.jp/program/winreg/classes.htm
-
(val) IsHostApp = ""
-
ホストアプリは単体で起動してもタスクバーやスタートメニューにピン留めすることができなくなりますが、ショートカットから引数付きで起動された場合はピン留めすることができます(引数がない場合はピン留めできません)。
-
情報感謝です。
対処
IsHostAppの登録をレジストリから消す。
これで「タスクバーにピン留めする」が右クリックのコンテキストメニューに表示されるようにうなった (詳しい対処については後述を参照)。
そもそも
そもそもIsHostAppがなぜレジストリに登録されたのか。
ソフトのインストーラーを実行することで、レジストリにIsHostAppが登録されることを確認した。
インストーラの設定によるのだろう。
原因
下記の原因だったようだ。
- インストーラの名前と実行ファイル名を同一にしていた
インストーラ起動時に、その名前のファイルは「ホストアプリ」として認識 (IsHostAppが登録される)。
その後は、同じ名前の実行ファイル名はタスクバーに登録できない。
対処
- インストーラと実行ファイル名を同じ名前にしない
トラブル後の対処
タスクバーに登録できなくなった状態からは以下の作業で対処する。
Windows 8.1においては下記の手順1までで十分であった。
Windows 10において下記の手順2が必要であった。
1. レジストリ
HKEY_CALSSES_ROOT\Applications\[ファイル名].exe
にあるIsHostApp: REG_SZ
を消す。
2. TaskBarフォルダ
手順1のレジストリ変更後に「タスクバーにピン留めする」が右クリックのコンテキストメニューに表示されるようになるが、Windows 10では「タスクバーにピン留めする」を選択してもタスクバーに登録されない。
さらに、以下を実施する。
- 2-1. 以下の場所をExplorerで開く
-
C:\[ユーザ名]\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
または%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
User Pinned
は隠しフォルダのため、Explorerで直接入力すること
-
- 2-2. その場所(TaskBarフォルダ)にショートカットをコピーする (exeファイルでなく、ショートカット)
- 2-3. そのショートカットを削除する
この操作により.exeファイルの右クリック時の「タスクバーにピン留めする」が正常に動くようになる。
Note: タスクバーからピン留めを外したソフトは「タスクバーにピン留めする」が無効になる。再度、上記の手順2を行う。
関連情報
-
Fix duplicate icon issues on the Windows taskbar
-
Windows stores all pinned icons, taskbar and start menu, in a central location. Open Windows Explorer (File Explorer) and load the following path in it:
%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
-