Holy cow, I wrote a book!
Some people have noticed that there is no message that lets
you disable the Cancel button on a wizard.
This is on purpose.
Usability studies reveal that users find it extremely frustrating
when they get partway through a wizard and then decide they don't
want to perform the operation after all, but find that the wizard
doesn't give them a way to cancel.
Now the user feels trapped.
They can't back out of the operation;
they're being forced to finish something against their will.
Imagine if you went to an e-commerce site and started going through
the checkout procedure, then decide that you didn't want to buy
the item after all, yet the web page disabled the Back button
and didn't have a Cancel,
and when you clicked the "X" button to close the web browser,
the page put up a message box saying, "You cannot cancel this
operation once it has begun."
Not a very pleasant experience,
and I suspect you would avoid this web site in the future.
The same principle applies to wizards.
Users should always be given a way to cancel out of a wizard.
Wizards should, generally speaking, collect information in
stages, and apply them at the point the user clicks Finish.
This is not always practical, and wizards may have need to
commit partially-made decisions along the way,
but that's the general idea.
Under such circumstances, the wizard author should make it
clear to the user whether cancelling the operation will undo
the previously-committed decisions or leave them intact.
If you are clever, you can do this without an annoying
Instead, you can indicate this by the flow of the wizard itself.
For example, you might have a wizard that goes like this:
With this wizard flow,
clicking "Next" to go from page 2 to page 3
commits the initial XYZ setup, as indicated by
the text "Your XYZ is now ready to use."
If the user decides to cancel out of the customization,
you've made it clear that the XYZ has nevertheless been set up
and cancelling will not undo it.