Ahh, that explains it. You don't return the "accountVerified". C++ Custom actions return an action result.
Ex: #define Installed TEXT("Installed") #define DotNet20Installed_Property TEXT("DOTNET20") EXPORT UINT __stdcall DotNet20InstalledCA(MSIHANDLE hInstall) { HRESULT hr = S_OK; UINT er = ERROR_SUCCESS; hr = WcaInitialize(hInstall, "DotNet20InstalledCA"); ExitOnFailure(hr, "Failed to initialize"); WcaLog(LOGMSG_STANDARD, "Initialized."); if (isDotNet20Installed()) { hr = WcaSetProperty(DotNet20Installed_Property, Installed); ExitOnFailure(hr, "Failed to SetProperty"); } LExit: er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; return WcaFinalize(er); } This CA will assign the value of the DOTNET20 property to Installed. (Note I link against msi.lib;dutil_2010.lib;wcautil_2010.lib;Version.lib;%(AdditionalDependen cies) in order to get the nicely wrapped helper functions like WcaSetProperty. /******************************************************************** WcaSetProperty - sets a string property value in the active install ********************************************************************/ extern "C" HRESULT WIXAPI WcaSetProperty( __in_z LPCWSTR wzPropertyName, __in_z LPCWSTR wzPropertyValue ) { if (!wzPropertyName || !*wzPropertyName || !wzPropertyValue) return E_INVALIDARG; UINT er = ::MsiSetPropertyW(WcaGetInstallHandle(), wzPropertyName, wzPropertyValue); HRESULT hr = HRESULT_FROM_WIN32(er); ExitOnFailure1(hr, "failed to set property: %ls", wzPropertyName); LExit: return hr; } Jacob -----Original Message----- From: AxiomaticImpact [mailto:ke...@legendary-immersion.com] Sent: Friday, November 18, 2011 3:54 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Custom Action to verify input -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Custom-Act ion-to-verify-input-tp7004942p7009882.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------ ------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users