Thanks to Rob's input I have finally got same version upgrades working in my version of WixStdba, for reference this is what I came up with:
BOOTSTRAPPER_RELATED_OPERATION m_Operation; virtual STDMETHODIMP_(int) OnDetectRelatedBundle( __in LPCWSTR wzBundleId, __in LPCWSTR wzBundleTag, __in BOOL /*fPerMachine*/, __in DWORD64 /*dw64Version*/, __in BOOTSTRAPPER_RELATED_OPERATION operation ) { // If we're not doing a pre-req install, remember when our bundle would cause a downgrade. if (!m_sczPrereqPackage && BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE == operation) { m_fDowngrading = TRUE; } m_Operation = operation; // Save operation return CheckCanceled() ? IDCANCEL : IDOK; } virtual STDMETHODIMP_(int) OnPlanRelatedBundle( __in_z LPCWSTR /*wzBundleId*/, __inout_z BOOTSTRAPPER_REQUEST_STATE* pRequestedState ) { // If we're only installing prereq, do not touch related bundles. if (m_sczPrereqPackage) { *pRequestedState = BOOTSTRAPPER_REQUEST_STATE_NONE; } else if (BOOTSTRAPPER_RELATED_OPERATION_NONE == m_Operation && BOOTSTRAPPER_REQUEST_STATE_NONE == *pRequestedState && BOOTSTRAPPER_RELATION_UPGRADE != m_command.relationType) { // Same version upgrade detected, mark absent so the install runs *pRequestedState = BOOTSTRAPPER_REQUEST_STATE_ABSENT; } return CheckCanceled() ? IDCANCEL : IDOK; } I guess it should really be optional but for my purposes I think this is better than getting multiple versions in ARP. Neil Neil Sleightholm X2 Systems Limited n...@x2systems.com ------------------------------------------------------------------------------ How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users