Dear Blair, Thank you very much. I think now I also understand the difference between InstallExecuteSequence and InstallUISequence.
Regards, Luke Am 25.07.2010 17:56, schrieb Blair: > 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 ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users