Hello devs,
I have created an installer which uses a CustomAction to check if MySQL server
credentials entered in a previous WiX UI are valid. On the development machine,
this is all working really well.
The CustomAction is simply:
[CustomAction]
public static ActionResult CheckIfDbExists(Session session)
{
session.Log("Resetting MYSQL_DB_EXISTS and
MYSQL_DB_SERVER_AVAILABLE to '0'.");
session["MYSQL_DB_EXISTS"] = "0";
session["MYSQL_DB_SERVER_AVAILABLE"] = "0";
try
{
// prepare the SQL connection
session.Log("Formatting the connection string");
string connectionString = string.Format(SqlConnectionFormat,
session["MYSQL_SERVER"],
session["MYSQL_USERNAME"],
session["MYSQL_PASSWORD"]);
// create and open the SQL connection
session.Log("Attempting to create a MySqlConnection");
using (var connection = new MySqlConnection(connectionString))
{
session.Log("Attempting to open a connection to the
database");
connection.Open();
session.Log("Ensuring that the connection is open");
if (connection.State == ConnectionState.Open)
{
// the server is available, at least
session["MYSQL_DB_SERVER_AVAILABLE"] = "1";
}
// execute the SQL statement
return ExecuteCheckDbExistStatement(session, connection);
}
}
catch (Exception exception)
{
// we couldn't connect to the MySQL server
session.Log("ERROR: Failed during CheckIfDbExists() caused by:
{0}", exception.Message);
return ActionResult.Failure;
}
}
The output from running this Custom Action can be found here:
MSI (c) (CC:D0) [11:01:03:681]: PROPERTY CHANGE: Modifying
MYSQL_PASSWORD property. Its current value is '**********'. Its new value:
'**********'.
MSI (c) (CC:D0) [11:01:03:759]: Doing action: CheckIfDbExists
MSI (c) (CC:D0) [11:01:03:759]: Note: 1: 2205 2: 3: ActionText
Action 11:01:03: CheckIfDbExists.
Action start 11:01:03: CheckIfDbExists.
MSI (c) (CC:D0) [11:01:03:759]: Creating MSIHANDLE (3) of type
790542 for thread 77520
MSI (c) (CC:5C) [11:01:03:759]: Invoking remote custom action.
DLL: C:\Users\ADMINI~1\AppData\Local\Temp\MSI78E2.tmp, Entrypoint:
CheckIfDbExists
MSI (c) (CC!64) [11:01:03:853]: Creating MSIHANDLE (4) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:03:853]: Closing MSIHANDLE (4) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:03:884]: Creating MSIHANDLE (5) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:03:884]: Closing MSIHANDLE (5) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:040]: Creating MSIHANDLE (6) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:040]: Closing MSIHANDLE (6) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:150]: Creating MSIHANDLE (7) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:165]: Closing MSIHANDLE (7) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:165]: Creating MSIHANDLE (8) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:165]: Closing MSIHANDLE (8) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:165]: Creating MSIHANDLE (9) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:165]: Closing MSIHANDLE (9) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:196]: Creating MSIHANDLE (10) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:196]: Closing MSIHANDLE (10) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:368]: Creating MSIHANDLE (11) of type
790531 for thread 77668
MSI (c) (CC!64) [11:01:04:368]: Closing MSIHANDLE (11) of type
790531 for thread 77668
MSI (c) (CC:5C) [11:01:04:431]: Closing MSIHANDLE (3) of type
790542 for thread 77520
Action ended 11:01:04: CheckIfDbExists. Return value 1.
MSI (c) (CC:D0) [11:01:04:431]: Note: 1: 2205 2: 3: Error
MSI (c) (CC:D0) [11:01:04:431]: Note: 1: 2228 2: 3: Error 4:
SELECT `Message` FROM `Error` WHERE `Error` = 2826
DEBUG: Error 2826: Control BannerBitmap on dialog
InvalidMySqlSettingsDlg extends beyond the boundaries of the dialog to the
right by 5 pixels
The installer has encountered an unexpected error installing
this package. This may indicate a problem with this package. The error code is
2826. The arguments are: InvalidMySqlSettingsDlg, BannerBitmap, to the right
MSI (c) (CC:D0) [11:01:04:431]: Note: 1: 2205 2: 3: Error
MSI (c) (CC:D0) [11:01:04:431]: Note: 1: 2228 2: 3: Error 4:
SELECT `Message` FROM `Error` WHERE `Error` = 2826
DEBUG: Error 2826: Control BannerLine on dialog
InvalidMySqlSettingsDlg extends beyond the boundaries of the dialog to the
right by 5 pixels
The installer has encountered an unexpected error installing
this package. This may indicate a problem with this package. The error code is
2826. The arguments are: InvalidMySqlSettingsDlg, BannerLine, to the right
MSI (c) (CC:D0) [11:01:04:431]: Note: 1: 2205 2: 3: Error
MSI (c) (CC:D0) [11:01:04:431]: Note: 1: 2228 2: 3: Error 4:
SELECT `Message` FROM `Error` WHERE `Error` = 2826
DEBUG: Error 2826: Control BottomLine on dialog
InvalidMySqlSettingsDlg extends beyond the boundaries of the dialog to the
right by 5 pixels
The installer has encountered an unexpected error installing
this package. This may indicate a problem with this package. The error code is
2826. The arguments are: InvalidMySqlSettingsDlg, BottomLine, to the right
Action 11:01:04: InvalidMySqlSettingsDlg. Dialog created
At a minimum, I would expect to see "Resetting MYSQL_DB_EXISTS and
MYSQL_DB_SERVER_AVAILABLE to '0'." in the log output but I don't as you can see.
The CustomAction step fails with error 1 and I don't get anything else. I am
running the installer with full verbose logging but it doesn't seem as though
the CustomAction is being executed.
With no other errors, I am not sure what to try next. As I mentioned, it works
perfectly well on the machine that I created it with.
The machine that is failing is a VirtualBox install of Windows Server 2008R2.
Thanks,
Stuart
NICE Systems UK Limited ("NICE") is registered in England under company number,
3403044. The registered office of NICE is at Tollbar Way, Hedge End,
Southampton, Hampshire SO30 2ZP.
Confidentiality: This communication and any attachments are intended for the
above-named persons only and may be confidential and/or legally privileged. Any
opinions expressed in this communication are not necessarily those of NICE. If
this communication has come to you in error you must take no action based on
it, nor must you copy or show it to anyone; please delete/destroy and inform
the sender by e-mail immediately.
Monitoring: NICE may monitor incoming and outgoing e-mails.
Viruses: Although we have taken steps toward ensuring that this e-mail and
attachments are free from any virus, we advise that in keeping with good
computing practice the recipient should ensure they are actually virus free.
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs