This really smells like > 71 <CustomAction Id="CheckingSecurityToken" > BinaryKey="libprovisionmeter" DllEntry="provision_meter_msi" />
Is actually <CustomAction Id="CheckingSecurityToken" BinaryKey="libprovisionmeter" DllEntry="provision_meter_msi" Execute="firstSequence" /> In non UI installs, only the InstallExecute sequence runs. In full blown installs, both sequences run. To debug the calling of the custom action, I would recommend looking at your MSI with a tool like Orca or instead to see the actual sequence. From there you can look at the actions happening in your log file right before or after you expect your custom action to be called. Another thing to do would be to introduce logging via the MSI API's inside your custom action for the beginning and ending points. Jacob -----Original Message----- From: Joe Damato [mailto:j...@boundary.com] Sent: Tuesday, June 19, 2012 1:13 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] custom action dll not getting called, debugging advice hi - this morning i tried installing my msi without using a full UI and noticed that the logfile output by the installer shows the dll getting hit. it seems that InstallExecuteSequence (or the way i am using it) only happens during non-UI installs. i am currently reading docs about InstallUISequence to understand how to fix this when users do a UI install. is there an example somewhere in the docs incorporating both InstallExecuteSequence and InstallUISequence? joe On Mon, Jun 18, 2012 at 3:26 PM, Joe Damato <j...@boundary.com> wrote: > hi - > > i've written a dll which hits a REST api that my app needs to hit to > register its existence with the server, but for some reason or another > it seems that my dll is not being hit. i've built a simple exe that > links against the dll and that exe works, so i know my dll works at > least when linked against by something other than my MSI. > > my custom dialog is rendering correctly, however when i enter some > text into the edit field and click Next, i immediately get a "The key > is not valid. Verify that you entered the correct key." message that i > assume is some sort of built in message (?). > > i tried to follow along with the SampleCA example ( > http://wix.tramontana.co.hu/system/files/samples/SampleCA.zip) and > here's the relevant snippets from my files (i've pasted the full > contents of the files here: https://gist.github.com/f9388332734cca9eb722): > > 59 <Binary Id="libprovisionmeter" SourceFile="libprovisionmeter.dll" > /> > 60 > 61 <UI Id="MyWixUI_InstallDir"> > 62 <UIRef Id="WixUI_InstallDir"/> > 63 <DialogRef Id="SecurityTokenDlg"/> > 64 <Publish Dialog="LicenseAgreementDlg" Control="Next" > Event="NewDialog" Value="SecurityTokenDlg" Order="2">LicenseAccepted = > "1"</Publish> > 65 <Publish Dialog="WelcomeDlg" Control="Back" Event="NewDialog" > Value="SecurityTokenDlg">1</Publish> > 66 </UI> > 67 > 68 <WixVariable Id="WixUILicenseRtf" Value="license.rtf" /> > 69 <UIRef Id="WixUI_ErrorProgressText" /> > 70 > 71 <CustomAction Id="CheckingSecurityToken" > BinaryKey="libprovisionmeter" DllEntry="provision_meter_msi" /> > 72 <CustomAction Id="RefuseSecurityToken" Error="Invalid security > token. Installation aborted." /> > 73 > 74 <InstallExecuteSequence> > 75 <Custom Action="CheckingSecurityToken" After="CostFinalize" /> > 76 <Custom Action="RefuseSecurityToken" > After="CheckingSecurityToken">SECURITYTOKENACCEPTED = "0" AND NOT > Installed</Custom> > 77 </InstallExecuteSequence> > > from my SecurityTokenDlg: > > 6 <Control Id="SecurityTokenLabel" Type="Text" X="45" Y="97" > Width="80" Height="10" TabSkip="no" Text="&Security Token:"/> > 7 <Control Id="SecurityTokenEdit" Type="Edit" X="45" Y="109" > Width="250" Height="16" Property="SECURITYTOKEN" /> > 8 <Control Id="Back" Type="PushButton" X="180" Y="243" > Width="56" Height="17" Text="&Back"> > 9 <Publish Event="NewDialog" > Value="LicenseAgreementDlg">1</Publish> > 10 </Control> > 11 <Control Id="Next" Type="PushButton" X="236" Y="243" > Width="56" Height="17" Default="yes" Text="&Next"> > 12 <Publish Event="ValidateProductID" Value="0">1</Publish> > 13 <Publish Event="SpawnWaitDialog" > Value="WaitForCostingDlg">CostingComplete = 1</Publish> > 14 <Publish Event="NewDialog" > Value="WelcomeDlg">ProductID</Publish> > 15 </Control> > > and the associated header file of my dll: > > int __stdcall __declspec(dllexport) provision_meter_msi(MSIHANDLE > hInstall); > > any suggestions on what else i could do to extract some more debug > information from my MSI to track down where things are going awry? > > joe > ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users