I read that. Which of the four rules is this violating? I made the warning go away by making the C# CA 'immediate' thus I don't have to have another custom action to remember the property. So I have
<CustomAction Id="CA_CheckCredentials" Return="check" Execute="immediate" BinaryKey="CustomActionsDLL" DllEntry="CheckCredentials"/> And the schedule <InstallExecuteSequence> <Custom Action="CA_CheckCredentials" After="InstallInitialize" /> </InstallExecuteSequence> But in the verbose log I get: MSI (s) (B8:9C) [22:04:26:415]: Note: 1: 1723 2: CA_CheckCredentials 3: CheckCredentials 4: D:\WINDOWS\Installer\MSI410.tmp Action start 22:04:26: CA_CheckCredentials. MSI (s) (B8:9C) [22:04:26:415]: Product: Bsi WebServices -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action CA_CheckCredentials, entry: CheckCredentials, library: D:\WINDOWS\Installer\MSI410.tmp Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action CA_CheckCredentials, entry: CheckCredentials, library: D:\WINDOWS\Installer\MSI410.tmp The error says that the DLL cannot be run. Why? I believe I have followed the instructions for writing a managed CA to the tee (though there seems to be some disagreement between the online tutorial http://www.tramontana.co.hu/wix/ and this book). -----Original Message----- From: Castro, Edwin G. (Hillsboro) [mailto:edwin.cas...@fiserv.com] Sent: Wednesday, March 09, 2011 5:26 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] C# Custom Action questions ICE63 - http://msdn.microsoft.com/en-us/library/aa369008.aspx Edwin G. Castro Software Developer - Staff Electronic Banking Services Fiserv Office: 503-746-0643 Fax: 503-617-0291 www.fiserv.com P Please consider the environment before printing this e-mail > -----Original Message----- > From: Kevin Burton [mailto:kev...@buyseasons.com] > Sent: Wednesday, March 09, 2011 2:15 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] C# Custom Action questions > > I think I have solved this problem. The CA was scheduled in the > InstallExecuteSequence and was marked as 'deferred' so I created the > following 'Custom Data'. > > <CustomAction Id="SetProperty" Property="CA_CheckCredentials" > Value="[SERVICEUSER],[SERVICEPASSWORD]" /> > <CustomAction Id="CA_CheckCredentials" > Return="check" > Execute="deferred" > BinaryKey="CustomActionsDLL" > DllEntry="CheckCredentials"/> > > And scheduled it like (I am trying to follow the instructions on page > 133 of > 'WiX: A Developer's Guide to Windows Installer XML' by Nick Ramirez) > > <InstallExecuteSequence> > <Custom Action="SetProperty" Before="CA_CheckCredentials" /> > <Custom Action="CA_CheckCredentials" After="InstallInitialize" /> > </InstallExecuteSequence> > > Now I get the ICE warning: > > warning LGHT1076: ICE63: Some action falls between InstallInitialize > and RemoveExistingProducts. > > Is this a "bad" warning? I don't completely understand why this > scheduling is bad. I would like to know that the credentials are bad > *before* the existing products are removed. > > If I look at the .msi generated with Orca I see that in the > InstallExecuteSequence table > > InstallInitialize 1500 > SetProperty 1501 > CA_CheckCredentials 1502 > RemoveExistingProducts 1503 > > This seems like a valid sequence to me but I am obviously missing > something as the warning is there for a purpose. > > -----Original Message----- > From: Christopher Painter [mailto:chr...@deploymentengineering.com] > Sent: Wednesday, March 09, 2011 3:30 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] C# Custom Action questions > > 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)\BrainCustomActio > ns.C > A.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 > > ---------------------------------------------------------------------- > -------- > 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 ------------------------------------------------------------------------------ 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