2009-03-28 8 views
3

imbriqué Y at-il une différence entre ce (Installer imbriqué)TransactedInstaller contre Installer

ServiceInstaller si = new ServiceInstaller(); 
si.ServiceName = "MyService"; 

ServiceProcessInstaller spi = new ServiceProcessInstaller(); 
spi.Account = ServiceAccount.LocalSystem; 

spi.Installers.Add(si); 

this.Installers.Add(spi); 

et cela? (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); 

Est-ce que le programme d'installation imbriqué est traité par défaut? Quel style devrait être préféré?

Répondre

5

TransactedInstaller appelleront Commit/Rollback si l'action automaticly personnalisée a réussi/échoué.

Avec installateur imbriqué vous devez séquencer le Rollback/Engagez votre auto dans le cas d'une erreur, ils ne seront pas appelés si vous ne les avez pas dit explicitement à courir.