According to the log you posted, the InstallExecuteSequence was not run because the install was canceled from WelcomeDlg (it returned IDCANCEL, not IDOK). Try actually running the install to completion to see the example as written.
Section 3.3 introduces the sample. Section 3.4 (not in the code you linked below) adds checking the PID while the UI is still running before you get to the execute sequence. Quoting from the tutorial: "Granted, what we've just done was not elegant. We should check right when the user enters the key, display a warning and give the user a chance to re-enter the key instead of aborting the installation in a later phase.". If you intend to fail an installation due to missing/invalid PID, you want the check twice (once in the UI when the user can do something about it, and once in the execute sequence since the UI sequence can be bypassed AND the PID can be passed from the command-line (since it is a public property)). If you follow 3.3 AND 3.4, you will have that double-check running. -----Original Message----- From: Lukas Haase [mailto:lukasha...@gmx.at] Sent: Sunday, July 25, 2010 5:01 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Is tutorial sample CA broken? (was: Re: InstallExecuteSequence completely ignored) Hi all, I have downloaded and tried the Sample CA from the tutorial [1]: [2] I compiled the DLL, ran candle/light and started the SampleCA.msi: msiexec /i SampleCA.msi /l*xv SampleCA.log This is the resulting SampleCA.log: http://pastebin.com/Zph9xk5T As you can see the neither the word "CheckPID" nor "CheckingPID" can be found in the log. Also, the PID is not checked as opposed in the tutorial. I can enter whatever I want. I also added a message box to the DLL code. The DLL is not called. Maybe this sample is broken? Or did I miss something? Also, once again the quote from the tutorial: "InstallExecuteSequence is always consulted by the installer to determine the actions, InstallUISequence is only considered when the installer runs in full or reduced UI mode" Maybe this is wrong and InstallExecuteSequence is /not/ called when running in full/reduced UI mode? Maybe it should be InstallUISequence instead of InstallExecuteSequence? However, if I replace InstallExecuteSequence with InstallUISequence in the wxs file, the DLL is called but at the beginning of the installation! (not after entering the PID). Any hints are greatly appreciated! Regards, Luke [1] http://www.tramontana.co.hu/wix/lesson3.php#3.1 [2] http://www.tramontana.co.hu/wix/download.php?file=samples/sampleca.zip&type= application/zip Am 23.07.2010 14:18, schrieb Lukas Haase: > Dear Pally, > > Am 23.07.2010 11:04, schrieb Pally Sandher: >> MSI (c) (74:80) [21:07:26:477]: Doing action: ValidateProductID Aktion 21:07:26: ValidateProductID. >> >> That's the InstallUISequence not the InstallExecuteSequence. > > Indeed! I changed now to InstallUISequence and now it works! > > But why? The tutorial clearly states that InstallExecuteSequence is > *always* called: > > "InstallExecuteSequence is always consulted by the installer to > determine the actions, InstallUISequence is only considered when the > installer runs in full or reduced UI mode (yet another functionality to > experiment with, try msiexec /qn, /qb and /qr)" > > And second, this is the sample from the tutorial: > > <CustomAction Id="CheckingPID" BinaryKey="CheckPID" DllEntry="CheckPID" /> > <CustomAction Id="RefusePID" Error="Invalid key. Installation aborted." /> > > <InstallExecuteSequence> > <Custom Action="CheckingPID" After="CostFinalize" /> > <Custom Action="RefusePID" After="CheckingPID">PIDACCEPTED = "0" AND > NOT Installed</Custom> > </InstallExecuteSequence> > > <Binary Id="CheckPID" SourceFile="CheckPID.dll" /> > > It uses InstallExecuteSequence as well! > >> WiX doesn't "ignore InstallExecuteSequence" as the > InstallExecuteSequence is just another database table to WiX. WiX is a > way for you to make packages for Windows Installer. If your custom > action isn't running, it's highly unlikely the blame can be placed on WiX. > > Sorry if you got me wrong. Of course, I do NOT want to blame WiX :-) I > just did not understand the action is not called (it seemed to me that > my sequence was ignored)... > > Regards, > Luke > > > ---------------------------------------------------------------------------- -- > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ---------------------------------------------------------------------------- -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users