title: ToastActivatorCLSID missing from AppUserModel
body: <p>im an currently following this guide to add windows toast notifications to my app. 
  <a href="https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/send-local-toast-desktop" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/send-local-toast-desktop</a></p>
  
  <p>i need to create a shortcut that contains the System.AppUserModel.ID and System.AppUserModel.ToastActivatorCLSID.</p>
  
  <p>now the website says to just have your installer create this and they recommend using WIX. which is fine but i would rather just create the shortcut from C# code.
  so there is this example that creates the shortcut via C#.
  <a href="https://code.msdn.microsoft.com/windowsdesktop/sending-toast-notifications-71e230a2" rel="nofollow noreferrer">https://code.msdn.microsoft.com/windowsdesktop/sending-toast-notifications-71e230a2</a>
  but it only shows adding the AppUserModel.ID and not the ToastActivatorCLSID...
  here is some of that code...</p>
  
  <pre><code>private void InstallShortcut(String shortcutPath)
      {
          // Find the path to the current executable
          String exePath = Process.GetCurrentProcess().MainModule.FileName;
          IShellLinkW newShortcut = (IShellLinkW)new CShellLink();
  
          // Create a shortcut to the exe
  
  ShellHelpers.ErrorHelper.VerifySucceeded(newShortcut.SetPath(exePath));
  
  ShellHelpers.ErrorHelper.VerifySucceeded(newShortcut.SetArguments(""));
  
          // Open the shortcut property store, set the AppUserModelId     property
          IPropertyStore newShortcutProperties = (IPropertyStore)newShortcut;
  
          using (PropVariant appId = new PropVariant(APP_ID))
          { 
  
  ShellHelpers.ErrorHelper.VerifySucceeded(newShortcutProperties.SetValue(System Properties.System.AppUserModel.ID, appId));
  
  ShellHelpers.ErrorHelper.VerifySucceeded(newShortcutProperties.Commit());
          }
  
          // Commit the shortcut to disk
          IPersistFile newShortcutSave = (IPersistFile)newShortcut;
  
  
  ShellHelpers.ErrorHelper.VerifySucceeded(newShortcutSave.Save(shortcutPath,  true));
      }
  </code></pre>
  
  <p>the thing is that the AppUserModel does not have a ToastActivatorCLSID property. seems strange.
  i figured i could just add another using block to add the ToastActivatorCLSID property like this</p>
  
  <pre><code>using (PropVariant clsId = new PropVariant(CLSID))
          { 
  
  ShellHelpers.ErrorHelper.VerifySucceeded(newShortcutProperties.SetValue(System Properties.System.AppUserModel.ToastActivatorCLSID, CLSID));
  
  ShellHelpers.ErrorHelper.VerifySucceeded(newShortcutProperties.Commit());
          }
  </code></pre>
  
  <p>but the SystemProperties.System.AppUserModel.ToastActivatorCLSID doesnt exist.
  right now the appuser model is coming from Microsoft.WindowsAPICodePack.Shell.PropertySystem.
  this page shows it should exist
  <a href="https://docs.microsoft.com/en-us/windows/desktop/properties/props-system-appusermodel-toastactivatorclsid" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/windows/desktop/properties/props-system-appusermodel-toastactivatorclsid</a>
  i would if with that information i could make some kind of interface or something to add in that ToastActivatorCLSID.</p>
  
  <p>there is very little on the internet on this topic. Don't know if there is a different reference or something.</p>
  
  <p>any help would be great</p>