Install vs Upgrade in same Project


I’m designing a process for a Tenanted Product deployment. However we want to use one Project for both new Customer Installs and also existing Customer Upgrades.

How can I still use the Step Templates to implement my process without having to put each step into a Script Step that has logic to perform different steps whether it is an upgrade or not:

if(#{Upgrade}) {
do something for the upgrade
else {
do something for an install

Hi @ChrisUsher,

Thanks for getting in touch! Depending on how different the upgrade is from the install, separating these projects may be the best option.

Alternatively, you could have one step for the upgrade, and one step for the install. Then use the Run Condition feature to decide which step is run at deployment time. The run condition can also be bound to a variable and be controlled with True/False values.

Let me know if this helps, or if you have any further questions here.

Best regards,

Thank you!
There are 2 extra steps for an upgrade vs an install:

  • Backup DB
  • Stop AppPool

So makes no sense to have a separate process.

Please can you provide step-by-step instructions on binding a Run Condition to a Variable? I’ve looked and I’m stuck to be honest where to add this variable or how.


Hi @ChrisUsher,

Thanks for getting back! You can use a variable for a run condition by expanding the Run Condition box at the bottom of a step in the Conditions section, then selecting Variable: only run when the variable expression is true.

After you select this, you are able to use our Variable Substitution Syntax to control whether the step should run on not. If the variable expression you use here evaluates to true, the step will run, if false, the step will be skipped.

See our section on Run Conditions in our Variable Substitution Syntax documentation.

Does this help?

Let me know if you have any further questions here.

Best regards,

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.