From 2203958798ca151cfde348254d8d18a5ca471e31 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 26 Feb 2014 14:37:21 -0800 Subject: Windows auto-updater invocation works... time to try an installer! --- main.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 9e6f5189..28d8e2e8 100644 --- a/main.cpp +++ b/main.cpp @@ -641,7 +641,20 @@ int main(int argc,char **argv) try { node = new Node(homeDir,port,controlPort); switch(node->run()) { -#ifndef __WINDOWS__ +#ifdef __WINDOWS__ + case Node::NODE_RESTART_FOR_UPGRADE: { + const char *upgPath = node->reasonForTermination(); + if (upgPath) { + if (!ZeroTierOneService::doStartUpgrade(std::string(upgPath))) { + exitCode = 3; + fprintf(stderr,"%s: abnormal termination: unable to execute update at %s (doStartUpgrade failed)\n",argv[0],(upgPath) ? upgPath : "(unknown path)"); + } + } else { + exitCode = 3; + fprintf(stderr,"%s: abnormal termination: unable to execute update at %s (no upgrade path provided)\n",argv[0],(upgPath) ? upgPath : "(unknown path)"); + } + } break; +#else // __UNIX_LIKE__ case Node::NODE_RESTART_FOR_UPGRADE: { const char *upgPath = node->reasonForTermination(); // On Unix-type OSes we exec() right into the upgrade. This in turn will -- cgit v1.2.3