public ActionResult Uninstall() { session.Log("un-installing perl file associations"); FileAssociation.EnsureAssociationsDeleted(associations()); session.Log("removing from PATHEXT"); var oldPathExt = Environment.GetEnvironmentVariable("PATHEXT", EnvironmentVariableTarget.Machine); var newPathExt = String.Join(";", oldPathExt.Split(';').Where(x => !PathExtensions.Contains(x)).ToArray()); if (newPathExt != oldPathExt) { session.Log(string.Format("updating PATHEXT to {0}", newPathExt)); Environment.SetEnvironmentVariable("PATHEXT", newPathExt, EnvironmentVariableTarget.Machine); } return(ActionResult.Success); }