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
[email protected]
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users