The error in the MSI log is:
The actual message when I run the installer is
MSI (s) (14:98) [19:07:58:124]: Doing action: Action1_InstallDatabase
MSI (s) (14:98) [19:07:58:124]: Note: 1: 2205 2: 3: ActionText
Action start 19:07:58: Action1_InstallDatabase.
MSI (s) (14:D8) [19:07:58:233]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSIACD1.tmp, Entrypoint: InstallDatabase
MSI (s) (14:0C) [19:07:58:233]: Generating random cookie.
MSI (s) (14:0C) [19:07:58:233]: Created Custom Action Server with PID 5080 (0x13D8).
MSI (s) (14:A0) [19:07:58:249]: Running as a service.
MSI (s) (14:A0) [19:07:58:249]: Hello, I'm your 32bit Impersonated custom action server.
SFXCA: Extracting custom action to temporary directory: C:\WINDOWS\Installer\MSIACD1.tmp-\
SFXCA: Failed to extract to temporary directory. Cabinet error code 1.
CustomAction Action1_InstallDatabase returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 19:07:58: Action1_InstallDatabase. Return value 3.
My project definition includes: new ManagedAction("InstallDatabase", Return.check, When.Before, Step.InstallFinalize, Condition.Create("&Database_components=3"))
{
RefAssemblies = new[] { @"files\Sql\redacted.Services.LedDisplay.Sql.dll"}
}
...
[CustomAction]
public static ActionResult InstallDatabase(Session session)
{
return WixCLRDialog.ShowAsMsiDialog(new InstallDatabase(session));
}
The InstallDatabase class invokes a static method in another assembly (the one referenced above).The actual message when I run the installer is
Could not load type 'redacted.Services.LedDisplay.Sql.SqlScription from assembly redacted.Services.LedDisplay.Sql.
How do I correctly invoke a static method in another assembly?