void runPostInstallOnDirectory(string newAppDirectoryRoot, bool isFirstInstall, Version newCurrentVersion, IEnumerable <ShortcutCreationRequest> shortcutRequestsToIgnore) { var postInstallInfo = new PostInstallInfo { NewAppDirectoryRoot = newAppDirectoryRoot, IsFirstInstall = isFirstInstall, NewCurrentVersion = newCurrentVersion, ShortcutRequestsToIgnore = shortcutRequestsToIgnore.ToArray() }; AppDomainHelper.ExecuteActionInNewAppDomain(postInstallInfo, info => { findAppSetupsToRun(info.NewAppDirectoryRoot).ForEach(app => installAppVersion(app, info.NewCurrentVersion, info.ShortcutRequestsToIgnore, info.IsFirstInstall)); }); }