public static string ConvertVars(this InstallContext context, string var) { if (var == null) { return(null); } var result = rgVar.Replace(var, match => { switch (match.Groups[1].Value) { case GlobalPath.AppName: return(context.AppInfo.AppName); case GlobalPath.FullName: return(context.AppInfo.FullName); } var val = context.GetPageItemValue(match.Groups[1].Value); return(val ?? match.Value); }); return(context.ConvertPath(result)); }