Search code examples
c#visual-studiovisual-studio-2017windows-installerwixsharp

Wixsharp how to reference custom action project


I currently have two projects in my solution, a deployment project which builds the msi and another project which contains my custom actions. I am having trouble referencing my custom actions the same two errros keep appearing:

 ..\WixSharp Setup\bin\Debug\WixSharpSetup.exe" "/MSBUILD:WixSharp Setup" "/WIXBIN:"" exited with code -532462766.  WixSharp Setup  ..\WixSharp Setup\packages\WixSharp.1.9.2\build\WixSharp.targets 6

No CA or UI entry points found in module:  ..\WixSharp Setup\WixSharp Setup\WixSharpSetup.exe   WixSharp Setup  ..\WixSharp Setup\WixSharp Setup\EXEC   

Deployment project

using System;
using System.Windows.Forms;
using Deploy.CustomAction;
using WixSharp;
using WixSharp.Forms;

namespace WixSharp_Setup
{
    class Program
    {

static void Main()
        {
        var project = new ManagedProject("MyProduct",
                         new Dir(@"%ProgramFiles%\My Company\My Product",
                             new File("Program.cs")),
                         new ManagedAction(SearchAPIActions.SearchAPIInstall));


        project.GUID = new Guid("6fe30b47-2577-43ad-9095-1861ba25889b");

        project.ManagedUI = ManagedUI.Default;  //all standard UI dialogs


        project.BuildMsi();
    }

CustomAction project

public class SearchAPIActions
{

    [CustomAction]
    public static ActionResult SearchAPIInstall(Session session)
    {
        session.Log("Begin CustomAction1");
        return ActionResult.Success;
    }

Solution

  • In case anyone is interested i found the solution to my problem, as the Custom action was compiling to a .dll you need to give a direct reference to it when you declare a managedAction.

    new ManagedAction(CustomActions.IISReset, @"Your full Path\Customs.dll"));