Many MSI calls can return the user cancel message, not just ::MsiProcessMessage(). It is possible some other call ate the return value. The WcaUtil functions handle this sort of thing for you.
DONG LEE wrote: > Hi all, > > I am trying to detect whether a user cancels within a custom action by doing > > the following > > UINT __stdcall CA() > { > int retVal = 0; > PMSIHANDLE hRecord = MsiCreateRecord(1); > ... > SomeLongOperation(); // trigger cancellation while this function is > running > > MsiRecordSetString(hRecord, 0, L"[1]"); > MsiRecordSetString(hRecord, 1, L"Some Message"); > retVal = MsiProcessMessage(hInstall, INSTALLMESSAGE_INFO, hRecord); > if(retVal == IDCANCEL) > { > MsiLogWrapper(L"User cancellation is detected!"); > return ERROR_USER_EXIT; > } > else > { > MsiLogWrapper(L"MsiProcessMessage() returned %d", retVal); > } > ... > } > > The problem is that the value returned by MsiProcessMessage() is always 0. > And I've confirmed that the installation was cancelled during the > SomeLongOperation() was running,and the string L"Some Message" is properly > logged. What is wrong in this > case? am I missing anything? The CA is scheduled to be a deferred and > no-impersonate action. > I wanted to detect it so that I could return ERROR_USER_EXIT from the CA. > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to $100,000 in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/blackberry > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users