Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plan MSI transactions #28

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

nirbar
Copy link

@nirbar nirbar commented Apr 25, 2021

No description provided.

Copy link
Contributor

@rseanhall rseanhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I won't be able to take this until it's implemented in the Burn repo. When implementing this there, make sure that the BA's decision is only recorded in the plan. This is important because the BA can do Plan multiple times. For each new plan, the authored value needs to be the default.

Comment on lines +797 to +798
/// When false on entry, then an MSI tranaction is either not authored or not supported on the target machine. In this case, setting the value to true has no effect.
/// When true on entry, setting to false will disable the transaction and packages will be installed without a wrapping MSI transaction.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the engine should send OnPlanMsiTransaction at all unless it was authored as an MSI transaction. This probably made more sense in your v3 fork where it could have been running on a machine that didn't support MSI transactions, but it doesn't make sense here. Following from that, the signature should just be wzTransactionId as input parameter and fTransaction as in/out. There's no reason for fTransaction and pfTransaction.

@@ -189,6 +189,15 @@ static HRESULT BalBaseBAProcOnPlanPatchTarget(
return pBA->OnPlanPatchTarget(pArgs->wzPackageId, pArgs->wzProductCode, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel);
}

static HRESULT BalBaseBAProcOnPlanMsiTransaction(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You will need to call this from a new case statement below.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants