none
How to display complex start menu in Windows 8 and Windows Server 2012?

    Question

  • We are developing an application (let's call it SampleApplication) with a complex start menu that looks like this under Windows 7:

    "Tool 1" ... "Tool 7" are auxiliary tools which a user needs to use every now and then. The main application is "SampleApplication".

    SampleApplication is not a Metro-style app. It is a normal Windows app that runs on Windows XP and later.

    When installed under Windows 8 or Windows Server 2012, the start menu shows the red marked tiles:

    and for "Documentation" and "Tools", nothing is displayed.

    When "All Apps" is selected, the red marked tiles are shown:

    When searching for "SampleApplication", this result is shown:

    I.e., there are the following problems:

    1. Too many tiles are displayed, which confuses the user. It would be better to organize them into "Documentation" and "Tools" folders.
    2. The main application ("SampleApplication") is not displayed as first tile. This makes it hard to find.
    3. In the "Search" view, the associated tools and help files are not found. We cannot use the name "SampleApplication" in the names of the tools and help files, because then the text would no longer fit into a tile and would be truncated.

    What is Microsoft's recommendation how to cope with these problems? (We already got the suggestion to let our installer install a start menu link to "explorer.exe foldername" to show the tools and documentation inside a Windows folder, but this looks very unprofessional, approximately like the start menu folders in Windows 3.1).

    Regards
    - F. Munkert

    • Moved by Mike Dos ZhangMicrosoft contingent staff Tuesday, July 03, 2012 5:28 AM it would belong to the Shell dev aspect knowledge (From:General Windows Desktop Development Issues)
    • Edited by fmunkert Wednesday, July 04, 2012 7:25 AM Added images
    Monday, July 02, 2012 2:20 PM

Answers

  • Thanks to Microsoft Support, I found a solution for problems 1 and 2:

    The reason for the cluttered start menu is that by default, Windows 8 pins all executables to the start menu for which a setup program installs shortcuts. Therefore, the setup program must be modified such that only the really important shortcuts are automatically pinned to the start menu. All other shortcuts then are only visible on the "All Apps" screen, unless they were explicitly pinned by the user.

    In order to suppress the pinning of a shortcut, it is necessary to add one entry per shortcut to the Windows Installer table "MsiShortcutProperty", with these values:

    • MsiShortcutProperty: a unique name.
    • Shortcut_: the primary key of the shortcut that shall not be pinned.
    • PropertyKey: the string "System.AppUserModel.StartPinOption" (without the quotes).
    • PropVariantValue: the value "1" (without the quotes).

    One drawback of such a modified setup is that it displays warnings under earlier operating system versions (such as Windows 7). The displayed warning is "Warning 1946.Property 'System.AppUserModel.StartPinOption' for shortcut '...' could not be set". In order to avoid this warning, use "{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12" instead of "System.AppUserModel.StartPinOption".

    If you follow the above steps and the specified shortcuts still seem to be pinned to the start screen, then you may need to clear the "tile cache" of Windows 8. You can do this as follows:

    • Set the DWORD registry value "ResetCache" of registry key
          HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\StateStore
        to 1.
    • Kill and restart the explorer.exe process.

    I have tested the above steps with the Windows 8 Release Preview (build 8400).

    Again, many thanks to the Microsoft Support team!

    Regards
    - F. Munkert

    • Marked as answer by fmunkert Tuesday, July 24, 2012 12:37 PM
    Tuesday, July 24, 2012 12:37 PM