fredriktjarnberg
Jun 15, 2009
visibility 6285
star star star star star
(1 votes)

Module Installation – Dealing with Regrets

If you’re an above average, EPiServer module installer developer you might have experienced writing a custom wizard for retrieving data. When doing so you take on a responsibility to handle cancellation, not only for your own script but for any script that is calling you (“install site with sql database” being one). This is easy to forget… I know from personal experience. The good news is that it is very easy to handle the event of user regrets (canceling your wizard) and here’s how":

In your PS script when calling the Show method on the wizard you need to get capture the return value.

$proceedWithInstall = $wizard.Show()

In order to terminate any active installer transactions you then need to look at the return value and if it’s false, you simply throw an exception to cause active transactions to rollback
 
if ($proceedWithInstall -eq $false)
{
throw(New-Object ApplicationException("User cancelled the installation"))
}

Not doing the above will make the surrounding script (Install site…) complete as if nothing happened.
Jun 15, 2009

Comments

error Please login to comment.
Latest blogs
Finding Thomas Part 3 - The Moment of Recognition

Remember Thomas? In digital landscape, Thomas is the returning visitor who reads everything, opens every email, converts on nothing. In standard...

Ritu Madan | Jun 26, 2026

Add more scheduled job settings from the Optimizely CMS 12 admin UI -- with OptiScheduledJob.ExtraParameters

  Optimizely (EPiServer) CMS 12 ships a great scheduled-jobs framework, but it has one frustrating gap: a job has nowhere to store its own...

Binh Nguyen Thi | Jun 25, 2026

Automated Search & Navigation to Graph Migration with Claude Code

A Claude Code plugin that scans your S&N codebase, applies Graph SDK transformations, and validates the result. Install once, run one command. CMS ...

Connor Fortin | Jun 24, 2026

Migrating from Find to Graph: Lessons Learned from a Real CMS 13 Project

While migrating a search solution from Optimizely Search & Navigation (Find) to Optimizely Graph in CMS 13, I encountered several issues that were...

Binh Nguyen Thi | Jun 24, 2026