InternetShortcut
as some other non-mainstream WiX elements is supported via custom user defined code elements. The whole InjectXML sample is dedicated to the technique.In your case you need to define a little
InternetShortcut
class and then use it in the project declaration: var project = new Project("MyProduct", new Dir(@"%ProgramFiles64Folder%\My Company\My Product", new InternetShortcut { Id = "OnlineDocumentationShortcut", Name = "My Online Documentation", Target = "http://wixtoolset.org" }, ... publicclass InternetShortcut : WixEntity, IGenericEntity { [WixSharp.Xml] newpublicstring Id; [WixSharp.Xml] newpublicstring Name; [WixSharp.Xml] publicstring Target; publicvoid Process(ProcessingContext context) { var util = WixExtension.Util; //reflect new dependency context.Project.IncludeWixExtension(util); //serialize itself and add to the parent component context.XParent .FindSingle("Component") .Add(this.ToXElement(util, "InternetShortcut")); } }
InternetShortcut
needs to be available directly (out of box) then please log the feature request on the project home page: https://github.com/oleg-shilo/wixsharp.