public static ActionResult WriteCookieToVmArgs()

in installer/CustomAction/CouchIniAction.cs [58:82]


        public static ActionResult WriteCookieToVmArgs(Session session)
        {
            try
            {
                string VMARGSFILE = Path.Combine(session.CustomActionData["ETCDIR"], "vm.args");
                if (File.Exists(VMARGSFILE))
                {
                    session.Log("Patching erlang cookie in existing vm.args file");
                    PatchErlangCookie(session, VMARGSFILE);
                }

                string VMFile = Path.Combine(session.CustomActionData["ETCDIR"], "vm.args.dist");
                byte[] VMBuffer = File.ReadAllBytes(VMFile);
                string VMText = Regex.Replace(Encoding.UTF8.GetString(VMBuffer), @"# -setcookie", $"-setcookie {session.CustomActionData["COOKIEVALUE"]}");
                File.WriteAllBytes(VMFile, Encoding.UTF8.GetBytes(VMText));
            }
            catch (Exception ex)
            {
                session.Log("ERROR in custom action WriteCookieToVmArgs {0}",
                      ex.ToString());
                return ActionResult.Failure;
            }

            return ActionResult.Success;
        }