2009-03-28 8 views
3

この差(ネストされたインストーラー)TransactedInstaller対ネストされたインストーラ

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

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

spi.Installers.Add(si); 

this.Installers.Add(spi); 

、これはありますか? (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); 

デフォルトではネストされたインストーラは処理されますか?どのスタイルを好むべきですか?カスタムアクションが失敗/成功した場合

答えて

5

TransactedInstallerは自動にコミット/ロールバックを呼び出します。あなたがエラーの場合にあなたの自己をコミット/ロールバックの配列を決定する必要がありますネストされたインストーラ

あなたが明示的に実行することを伝えていなかった場合、彼らは呼び出されません。

関連する問題