Troubleshooting and FAQ
Each section starts with what you see, then says why it happens and how to fix it. Where a version of Nilesoft Shell Pro fixed the problem, the section says which one. Your version is shown in Preferences → About.
If your problem isn't here, see Where is the log, and what to put in a bug report.
The context menu
- "This app can't run on your PC" from another program's menu item
- The menu is missing, shows twice, or only Windows' menu appears
- Windows 11's short menu still appears first
- My change in shell.nss doesn't show, or the whole menu disappeared
- The menu mixes two languages
- Pin to Start and Pin to Quick access aren't in Pin/Unpin
- A black block appears where the item was after clicking
- A small coloured square appears in the corner after right-clicking
The taskbar
- Right-clicking the taskbar shows nothing after excluding the taskbar
- How do I keep Windows' own taskbar menu?
The app, installing and updating
- Home shows "Could not start shell.exe (error 740)"
- The app keeps offering the same update
- Updating asks for administrator approval
- Windows says "Windows protected your PC"
- A snippet's switch is greyed out with "Needs ..."
- Where is the log, and what to put in a bug report
- How do I translate the app or check a translation?
Home shows "Couldn't read the Shell status. Could not start shell.exe (error 740)."
Windows is set to always run shell.exe as administrator. This setting is often left over from the
original Nilesoft Shell. Windows stores it by file path, so it stays after you uninstall and reinstall.
Nilesoft Shell Pro 2.2.2 works around it, so updating is enough. To remove the setting yourself:
- Open
C:\Program Files\Nilesoft Shellin File Explorer. - Right-click
shell.exeand choose Properties. - Open the Compatibility tab and untick Run this program as an administrator.
- Click Change settings for all users, approve the administrator prompt, and untick Run this program as an administrator there too.
- Click OK, then Try again on Home.
Fixed in 2.2.2.
A menu item from another program shows "This app can't run on your PC", or does nothing
The program that added the item saved its command without quotes around a path that has spaces in it, for
example C:\Users\First Last\AppData\Local\App\App.exe. If a file named like the first part of that
path exists, here C:\Users\First, Windows tries to run that file instead. It is often a leftover
installer log with no file extension. This is not caused by Shell; Windows' own menu does the same.
An example is File Pilot's File Pilot here and Open in File Pilot on accounts whose user name has a space.
- Open
C:\Usersin File Explorer. - Look for a file with no extension whose name is the first part of your user name, for example
Firstnext to the folderFirst Last. - Rename it (for example to
First.old) or delete it. Windows asks for administrator approval, becauseC:\Usersbelongs to the system. - Right-click again and try the item.
- Tell the program's maker that its menu command needs quotes around the path, so it works on every PC.
If you are comfortable with the registry, you can add the quotes yourself:
- Press Win+R, type
regeditand press Enter. - Go to
HKEY_CURRENT_USER\Software\Classesand find the item's key, for exampleDirectory\Background\shell\<item>\commandorDirectory\shell\<item>\command. - Right-click the
shell\<item>key and choose Export to save a backup first. - Double-click (Default) under
commandand put quotes around the program's path, for example"C:\Users\First Last\AppData\Local\App\App.exe" "%V".
The program may write its unquoted command again when it updates.
The app keeps offering the same update after updating
Before 2.2.2, when the app was kept in the system tray, the old version stayed running after an update and offered the same update again.
This only affects the update from an older version to 2.2.2 or later. For that one update:
- Right-click the Nilesoft Shell Pro icon in the tray, next to the clock. If you don't see it, click the small arrow there first.
- Choose Quit.
- Open Nilesoft Shell Pro again from the Start menu. It starts the new version.
Fixed in 2.2.2.
Right-clicking the taskbar shows nothing after excluding the taskbar
When the taskbar is excluded, for example with
exclude.where = !process.is_explorer or window.is_taskbar, Shell leaves the taskbar's right-click
to Windows. Windows 11 has no classic taskbar menu for Shell to hand over, so before 2.1.0 the menu was
empty.
Since 2.1.0 that line gives Windows 11's own taskbar menu, with Task Manager and Taskbar settings. On an older version:
- Update Nilesoft Shell Pro (see Preferences: Updates), or open
shell.nssin the Config Editor. - If you don't update, change the line back to
exclude.where = !process.is_explorerand save. - Right-click the taskbar again.
Fixed in 2.1.0.
The menu mixes two languages
Before 2.0.6, Shell's own items followed the Windows regional format (dates and numbers) instead of the Windows display language. When the two were different, Shell's items and Windows' items came out in different languages.
Since 2.0.6 Shell's items follow the display language. If the menu still mixes languages:
- Open Settings → Time & language → Language & region and check the Windows display language. Windows' items always use it.
- Sign out and back in if you changed it.
- The app's own window has a separate setting: Preferences → Language. It changes only the app, not the menu. See Preferences: Language.
Fixed in 2.0.6.
A black block appears where the item was after clicking
Windows fades out the clicked menu item, and with Shell's menu that fade came out as a black block.
Update Nilesoft Shell Pro. On an older version, turn the fade off in Windows:
- Press Win+R, type
SystemPropertiesPerformanceand press Enter. - On the Visual Effects tab, untick Fade out menu items after clicking.
- Click OK.
Fixed in 2.0.5.
A small coloured square appears in the top-left corner after right-clicking
On recent Windows 11 builds, right-clicking left a small coloured square in the corner of the desktop or the folder view.
- Update Nilesoft Shell Pro (see Preferences: Updates).
- Press Restart Explorer on Home, so File Explorer loads the new
shell.dll.
Fixed in 2.1.0.
Pin to Start and Pin to Quick access aren't grouped into Pin/Unpin
On Windows 11 in a language other than English, Shell didn't recognise Pin to Start, Unpin from
Start and Pin to Quick access, so they stayed outside the Pin/Unpin submenu. That was fixed in
2.0.6, in the file imports\modify.nss.
A personal configuration in %APPDATA%\Nilesoft\Shell has its own copy of modify.nss.
Since 2.0.6, the app replaces copies you never edited with the new version after an update. A copy you edited is
kept as it is.
- Open Nilesoft Shell Pro and look at Home.
- If it lists
modify.nssas edited, press Compare to see the differences. - Press Use the new version. Your copy is saved in Backups first.
- Right-click a file again.
Fixed in 2.0.6. See Home: After an update.
My change in shell.nss doesn't show, or the whole menu disappeared after editing
Shell reads shell.nss again on the next right-click after you save it, so no restart is needed. A
mistake anywhere in the file stops Shell from loading it, and you get Windows' menu instead.
- Open Config Editor in the app. The Problems list shows each error with its file and line number. Click one to jump to it, fix it and save.
- Or open Home: Diagnostics lists the errors from
shell.log. Click one to open it in the Config Editor. - If you can't find the mistake, open Backups and restore the snapshot from before your change.
- To start over, use Preferences → Reset configuration → Reset to defaults… (2.2.2 and later). Your files are saved in Backups first.
- If the menu still doesn't change, use Restart Explorer on Home or in the tray icon's menu.
Also check that you edited the file Shell reads: Home shows it under Active config.
Updating asks for administrator approval
Since 2.2.0, most updates install without administrator approval, because they only change the app and its menu
files. An update that also changes the Shell core (shell.dll or shell.exe), which an
install for all users shares with everyone on the PC, uses the installer, and that needs approval.
- When Home says the update changes the Shell core, press Install with administrator approval.
- Choose Yes in the Windows prompt.
- To wait, choose Later. You keep the version you have.
A portable copy never needs approval to update. See How updates work.
Windows says "Windows protected your PC"
The installer and the portable files are not code-signed, so Windows SmartScreen doesn't know them and asks first.
- Download SHA256SUMS.txt from the same release.
- Open a command prompt in your Downloads folder and run
certutil -hashfile setup-x64.msi SHA256(use the name of the file you downloaded). - Check that the result matches the line for that file in
SHA256SUMS.txt. If it doesn't, delete the file and download it again. - Run the file, click More info, then Run anyway.
A snippet's switch is greyed out with "Needs ..."
The snippet uses a program that isn't installed, for example Needs 7-Zip. The switch stays off until the program is there.
- Install the program named in the label.
- Come back to the Snippets page. The label is gone and you can turn the switch on.
The snippets by RubicBG come from RubicBG's collection, which is CC0, and are credited to him. See Snippets.
Where is the log, and what to put in a bug report
Shell writes errors to shell.log. For an installed copy it is
%LOCALAPPDATA%\Nilesoft\Shell\shell.log; a portable copy writes it next to its
shell.dll. Home lists its errors under Diagnostics, and Open shell.log there opens the
whole file.
To report a problem:
- Note your version from Preferences → About.
- Note your Windows version: press Win+R, type
winverand press Enter. - Open a command prompt in the program folder (
C:\Program Files\Nilesoft Shellfor the installer) and runshell -status. Copy what it prints. - Copy the errors from Diagnostics or from
shell.log, and say what you did and what you saw. - Open a new issue and paste it all in.
Questions and ideas are welcome in Discussions.
How do I translate the app or check a translation?
All the app's text is in one .po file per language, and you can test a file in the app without
building anything.
- Open Preferences → Language.
- Click Test a translation file… and choose your
.pofile. The app switches to it right away. - After editing the file, press Reload in the bar at the top. Stop goes back to your usual language.
Where to get the file and how to share it is in Preferences: Translating the app.