I will post this here as the solution as this member have left our forum, I hope these checks help you resolve the error -
It appears that the issue you are facing is that the Start Menu shortcut is not appearing as expected. Here are a few things to check:
Make sure that the "Directory" attribute of the "Shortcut" element is set to "StartMenuFolder" as in your code snippet,
Make sure that the "Name" attribute is set to "Start !(bind.property.ProductName)" as in your code snippet.
Make sure that the "WorkingDirectory" attribute is set to "MAINFOLDER" as in your code snippet.
Make sure that the "Advertise" attribute is set to "no" as in your code snippet.
Make sure that the Shortcut Id attribute is unique and doesn't conflict with any other shortcut id in the installer
Check the log files of the installer, if there is any error or warning related to the shortcut, it might give you an idea of what's going wrong.
Make sure that the component containing the shortcut is included in the feature that is installed.
If none of the above suggestions work, please consider sharing the log files of the installer and the exact version of Wix Toolset you're using.
I think I might be off-topic with the following, if so, my apologies. In C#, you can create application shortcuts using the ShellLink class from the Microsoft.WindowsAPICodePack.Shell namespace. Here is an example of how you can create a shortcut to a specific file on the desktop:
using Microsoft.WindowsAPICodePack.Shell;
class Program {
static void Main() {
var shortcut = (IShellLinkW) new ShellLink();
shortcut.SetDescription("My shortcut description");
shortcut.SetPath("C:\\path\\to\\myfile.exe");
shortcut.SetArguments("");
shortcut.SetWorkingDirectory("C:\\path\\to");
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
var shortcutPath = System.IO.Path.Combine(desktopPath, "My Shortcut.lnk");
shortcut.Save(shortcutPath);
}
}
This will create a shortcut to the file myfile.exe on the user's desktop, with the description "My shortcut description".
You can also set the icon of the shortcut using the SetIconLocation() method of the IShellLinkW interface and you can set the working directory using SetWorkingDirectory() method of the IShellLinkW interface
shortcut.SetIconLocation("C:\\path\\to\\myicon.ico", 0);
shortcut.SetWorkingDirectory("C:\\path\\to");
Note that you will need to add a reference to the Microsoft.WindowsAPICodePack.Shell assembly in your project in order to use the ShellLink class.