TransactedInstaller vs. nested Installer
-
22-08-2019 - |
Question
Is there an difference between this (nested Installer)
ServiceInstaller si = new ServiceInstaller();
si.ServiceName = "MyService";
ServiceProcessInstaller spi = new ServiceProcessInstaller();
spi.Account = ServiceAccount.LocalSystem;
spi.Installers.Add(si);
this.Installers.Add(spi);
and this? (TransactedInstaller)
TransactedInstaller ti = new TransactedInstaller();
ServiceInstaller si = new ServiceInstaller();
si.ServiceName = "MyService";
ti.Installers.Add(si);
ServiceProcessInstaller spi = new ServiceProcessInstaller();
spi.Account = ServiceAccount.LocalSystem;
ti.Installers.Add(spi);
this.Installers.Add(ti);
Are nested Installer by default transacted? Which style should be prefered?
Solution
TransactedInstaller will call Commit/Rollback automaticly if the custom action has succeeded/failed.
With nested installer you will need to sequence the Rollback/Commit your self in a case of an error, they will not be called if you didn't explicitly tell them to run.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow