Forum Discussion

shreedhar_ghare's avatar
shreedhar_ghare
Copper Contributor
Aug 03, 2021
Solved

MSIX: How to handle Context menu in notepad ++ application?

Hello Team,   Could you please help us in handling Context Menu in the MSIX notepad ++ application?  As per our understanding, MSIX is not supporting the full functionality of the Context Menu. B...
  • SahibiMiranshah's avatar
    SahibiMiranshah
    Aug 25, 2021

    TIMOTHY_MANGAN context menus work for Notepad++ when packaged. Try adding this to the app manifest:

     

    xmlns:desktop9="http://schemas.microsoft.com/appx/manifest/desktop/windows10/9"
    xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
    <Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.21301.0" />
    </Dependencies>
    <Extensions>
    <com:Extension Category="windows.comServer">
    <com:ComServer>
    <com:SurrogateServer DisplayName="Notepad++ Shell Extensions">
    <com:Class Id="B298D29A-A6ED-11DE-BA8C-A68E55D89593" Path="VFS\ProgramFilesX64\Notepad++\NppShell_06.dll" ThreadingModel="STA" />
    </com:SurrogateServer>
    </com:ComServer>
    </com:Extension>
    <desktop9:Extension Category="windows.fileExplorerClassicContextMenuHandler">
    <desktop9:FileExplorerClassicContextMenuHandler>
    <desktop9:ExtensionHandler Type="*" Clsid="B298D29A-A6ED-11DE-BA8C-A68E55D89593" />
    </desktop9:FileExplorerClassicContextMenuHandler>
    </desktop9:Extension>
    </Extensions>

    When you specify to use this new surrogate server in the appxmanifest, Shell creates the surrogate server out-of-proc and this server will handle creating custom IContextMenu COM object and handle data marshalling. 

Resources