If I had to guess you calling this CA as a ControlEvent off a Dialog / Control 
in your UI sequence.  Am I correct?  If so, it's a known issue that Msi lacks 
the ability to process messages in this scenario.   The workaround is to set a 
dummy property to see a "PROPERTY CHANGED" message in the log file where 
the value is the data you are trying to log.

Chris
 
---
Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves 
attention? E-Mail Me



----- Original Message ----
From: Kevin Burton <kev...@buyseasons.com>
To: General discussion for Windows Installer XML toolset. 
<wix-users@lists.sourceforge.net>
Sent: Wed, March 9, 2011 3:24:17 PM
Subject: [WiX-users] C# Custom Action questions


I have a very simple C# Custom Action that is supposed to verify credentials:

using Microsoft.Deployment.WindowsInstaller;

namespace BuySeasons.BsiServices.Install
{
    public class CustomActions
    {
        [CustomAction]
        public static ActionResult CheckCredentials(Session session)
        {
            session.Log(string.Format("Begin CheckCredentials - {0}/{1}", 
session["SERVICEUSER"], session["SERVICEPASSWORD"]));
            bool valid = false;
            using (PrincipalContext context = new 
PrincipalContext(ContextType.Domain, "ASGARD"))
            {
                valid = context.ValidateCredentials(session["SERVICEUSER"], 
session["SERVICEPASSWORD"]);
            }
            if(valid)
                return ActionResult.Success;
            else
                return ActionResult.Failure;
        }
    }
}
It is included in the WiX Product as

    <Binary Id="CustomActionsDLL"
            
SourceFile="C:\Projects\....\bin\$(var.Configuration)\BrainCustomActions.CA.dll"
 
/>

    <CustomAction Id="CA_CheckCredentials"
                  Return="check"
                  Execute="deferred"
                  BinaryKey="CustomActionsDLL"
                  DllEntry="CheckCredentials"/>

And scheduled as:

    <InstallExecuteSequence>
      <Custom Action="CA_CheckCredentials" After="InstallInitialize" />
    </InstallExecuteSequence>

This all compiles to a .msi without error. I can see CA_CheckCredentials in 
Orca 
just where I want it. But it doesn't seem to be called. I look at the verbose 
log and the closest reference I see is:

Action start 14:56:05: InstallInitialize.
MSI (s) (B0:4C) [14:56:06:052]: Doing action: CA_CheckCredentials
MSI (s) (B0:4C) [14:56:06:052]: Note: 1: 2205 2:  3: ActionText

I don't see the string 'Begin CheckCredentials' as in the code above. What do 
you think I have done wrong?

------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



      

------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to