I also noticed that if you create one
ManagedAction
that references an external assembly, others need to reference the same assembly, even if they do not use it, otherwise you get the error:System.ApplicationException: ManagedAction assembly '%this%' is declared multipl
e times with the different (inconsistent) set of referenced assemblies. Ensure t
hat all declarations have the same referenced assemblies by either using identic
al declarations or by using Project.DefaultRefAssemblies.
at WixSharp.ProjectValidator.Validate(Project project)
at WixSharp.Compiler.GenerateWixProj(Project project)
at WixSharp.Compiler.BuildWxs(Project project, String path, OutputType type)
at WixSharp.Compiler.BuildWxs(Project project, OutputType type)
at WixSharp.Compiler.Build(Project project, String path, OutputType type)
at WixSharp.Compiler.Build(Project project, OutputType type)
at REDACTED.Services.LedDisplay.Setup.Script.Main(String[] args) in e:\50126.Co
ndor.sign\REDACTED.Services.LedDisplay.Setup\setup.cs:line 126
When I tried:new ManagedAction("ShowDatabaseDialog"),
new ManagedAction("InstallDatabase", Return.check, When.Before, Step.InstallFinalize, Condition.Create("&Database_components=3"))
{
RefAssemblies = new[] { @"files\Sql\redacted.Services.LedDisplay.Sql.dll"}
}
This doesn't make sense to me, but adding the assembly to Project.DefaultRefAssemblies
is a workaround.