{"id":645,"date":"2014-06-01T09:14:50","date_gmt":"2014-06-01T16:14:50","guid":{"rendered":"http:\/\/www.coretechnologies.com\/blog\/?p=645"},"modified":"2023-01-07T17:38:50","modified_gmt":"2023-01-08T01:38:50","slug":"how-dropbox-auto-upgrade-works","status":"publish","type":"post","link":"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/how-dropbox-auto-upgrade-works\/","title":{"rendered":"How Dropbox Auto-Upgrade Works (and How to get AlwaysUp to Play Nice with it)"},"content":{"rendered":"<h2 style=\"margin-top:0px;\"><b>The Problem: Dropbox Automatic Updates<\/b><\/h2>\n<p>Recently, a few customers reported &#8220;issues&#8221; with Dropbox automatically updating itself and causing havoc when running under AlwaysUp in their 24&#215;7 environments. Apparently the auto-upgrade would restart Dropbox outside of AlwaysUp and that unmanaged instance would prevent AlwaysUp from starting a new copy under its control. The result was hundreds of Explorer windows open on the screen &#8212; a great experience!<\/p>\n<p>Our first instinct was to turn off automatic updates, which are usually a bad idea in a controlled, 24&#215;7 environment anyway. Unfortunately Dropbox does not allow that. Auto-updates are totally managed by Dropbox and there are no exposed options for adjusting the behavior.<\/p>\n<p>The lack of controls thwarted our second brilliant idea as well &#8212; scheduling auto-upgrades for a specific time each day\/week\/month. Apparently changes can take place at any time, at the program&#8217;s discretion. Again, not suitable in a managed environment.<\/p>\n<p>A polite email to the Dropbox support folks explaining the situation and requesting help &amp; advice yielded a most unsatisfying generic response:<\/p>\n<pre style=\"padding:8px; background-color:#F4F4F4\">\r\nHi,\r\n\r\nThanks for writing in. While we'd love to answer every question we get,\r\nwe unfortunately can't respond to your inquiry due to a large volume of\r\nsupport requests. Here are some resources for resolving the most common\r\nissues:\r\n\r\nRestore files or folders - www.dropbox.com\/help\/969\r\nReset your Dropbox password - www.dropbox.com\/forgot\r\nReset\/Disable two-step verification - www.dropbox.com\/help\/364\r\nLearn about sharing files or folders - www.dropbox.com\/help\/category\/Sharing\r\nLearn about Dropbox's desktop app - www.dropbox.com\/help\/category\/Desktop\r\nLearn about Dropbox's mobile apps - www.dropbox.com\/help\/category\/Mobile\r\nFor all other issues, please check out our Help Center - www.dropbox.com\/help\r\n\r\nWe're sorry for the inconvenience,\r\nThe Dropbox Team\r\n<\/pre>\n<p>So time to do some reverse engineering!<\/p>\n<h2><b>The Investigation: How Dropbox Auto-Update Works<\/b><\/h2>\n<p>We installed an outdated version of Dropbox (2.47, thanks <a href=\"http:\/\/www.oldapps.com\/dropbox.php\" target=\"_blank\" rel=\"noopener noreferrer\">OldApps.com<\/a>!) on our Windows Server 2012 machine, started it under AlwaysUp and patiently waited with Microsoft&#8217;s excellent <a href=\"\/blog\/windows-services\/essential-tools-for-windows-services-process-explorer\/\" target=\"_blank\" rel=\"noopener noreferrer\">Process Explorer<\/a> open. It took about 8 minutes for the action to start&#8230;<\/p>\n<ul>\n<li>\n<p>\nFirst, Dropbox.exe launched <b>dropbox-upgrade-2.8.2.exe<\/b>, which it must have silently downloaded into the private cache folder (<span class=\"break-long-words\">C:\\Users\\&lt;UserName&gt;\\AppData\\Roaming\\Dropbox\\.dropbox-cache<\/span>).\n<\/p>\n<p>\n<a href=\"\/blog\/images\/dropbox-upgrade-started.png\" class=\"zoomPopup\" title=\"Dropbox upgrade running\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/dropbox-upgrade-started.png\" border=\"0\" title=\"Dropbox upgrade running (click to enlarge)\" alt=\"Dropbox upgrade running\" width=\"520\" \/><br \/>\n<\/a>\n<\/p>\n<\/li>\n<li>A few seconds later, the update program spawned a second copy of Dropbox.exe, passing the ominous <b>\/killeveryone<\/b> flag.<br \/>\n<a href=\"\/blog\/images\/dropbox-killeveryone-started.png\" class=\"zoomPopup\" title=\"Dropbox killeveryone running\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/dropbox-killeveryone-started.png\" border=\"0\" title=\"Dropbox killeveryone running (click to enlarge)\" alt=\"Dropbox killeveryone running\" width=\"520\" \/><br \/>\n<\/a>\n<\/li>\n<li>\n<p>\nNext, all instances of Dropbox subsequently shut down (including the one managed by AlwaysUp), and the updater launched a new copy of Dropbox before it too exited.<br \/>\nNotice the peculiar command line arguments.\n<\/p>\n<p>\n<a href=\"\/blog\/images\/new-dropbox-instance-running.png\" class=\"zoomPopup\" title=\"A new instance of Dropbox is running\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/new-dropbox-instance-running.png\" border=\"0\" title=\"A new instance of Dropbox is running (click to enlarge)\" alt=\"A new instance of Dropbox is running\" width=\"520\" \/><br \/>\n<\/a>\n<\/p>\n<\/li>\n<li>\n<p>\nThis is all fine when Dropbox is running normally on your desktop, but it is a problem when Dropbox is being managed by AlwaysUp. Indeed, once AlwaysUp noticed that the Dropbox process it was managing was closed, it started up a second copy:\n<\/p>\n<p>\n<a href=\"\/blog\/images\/alwaysup-starts-second-dropbox.png\" class=\"zoomPopup\" title=\"A new instance of Dropbox is running\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/alwaysup-starts-second-dropbox.png\" border=\"0\" title=\"A new instance of Dropbox is running (click to enlarge)\" alt=\"A new instance of Dropbox is running\" width=\"520\" \/><br \/>\n<\/a>\n<\/p>\n<\/li>\n<li>\n<p>\nNow Dropbox abhors multiple instances, so after a few seconds the AlwaysUp-controlled instance exits &#8212; but not before throwing up an Explorer window browsing the Dropbox folder. AlwaysUp, persistent fellow that it is, detects that Dropbox has once again exited, starts it up again and the whole process repeats. It is easy to see that if left unchecked, we may end up with hundreds of redundant Explorer windows!\n<\/p>\n<p>\n<a href=\"\/blog\/images\/alwaysup-many-dropbox-explorer-windows.png\" class=\"zoomPopup\" title=\"Many Dropbox Explorer Windows\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/alwaysup-many-dropbox-explorer-windows.png\" border=\"0\" title=\"Many Dropbox Explorer Windows (click to enlarge)\" alt=\"Many Dropbox Explorer Windows\" width=\"520\" \/><br \/>\n<\/a>\n<\/p>\n<\/li>\n<\/ul>\n<p><a name=\"configure-dropbox\"><\/a><\/p>\n<h2><b>The Solution: Configuring AlwaysUp to Tolerate Automatic Dropbox Updates<\/b><\/h2>\n<p>To prevent the auto-update from triggering ten billion Explorer windows, we must have AlwaysUp close the instance of Dropbox spawned during the upgrade prior to starting its own copy. To do so:<\/p>\n<ol>\n<li>\n<p>\nEdit Dropbox in AlwaysUp\n<\/p>\n<\/li>\n<li>\n<p>\nClick over to the <b>Startup<\/b> tab.\n<\/p>\n<p>If you have <b>AlwaysUp version 9.0 (released in December 2014)<\/b> or later, check the <b>Stop all copies of the application running on this computer<\/b> and the <b>Also whenever the application is restarted<\/b> boxes as pictured here:<\/p>\n<p><a href=\"\/blog\/images\/dropbox-run-single-instance.png\" class=\"zoomPopup\" title=\"Dropbox: Run a Single Instance\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/dropbox-run-single-instance.png\" border=\"0\" title=\"Dropbox: Run a Single Instance (click to enlarge)\" alt=\"Dropbox: Run a Single Instance\" \/><br \/>\n<\/a><\/p>\n<p>Otherwise, if you have an earlier version of AlwaysUp without the &#8220;single instance&#8221; feature:<\/p>\n<ul>\n<li>\n<p>Download <a href=\"\/products\/utilities\/close-application.bat\">close-application.bat<\/a>, a DOS batch file that will close a given application. Save it to the AlwaysUp folder (C:\\Program Files\\AlwaysUp, or C:\\Program Files (x86)\\AlwaysUp)<\/p>\n<\/li>\n<li>\n<p>Check the <b>Run the following program\/batch file<\/b> box and enter the following command line:<\/p>\n<blockquote><p>&#8220;C:\\Program Files (x86)\\AlwaysUp\\close-application.bat&#8221; Dropbox.exe<\/p><\/blockquote>\n<\/li>\n<li>\n<p>Check the <b>Also run it whenever the application is restarted<\/b> box as well.<\/p>\n<p><a href=\"\/blog\/images\/alwaysup-close-dropbox-at-startup.png\" class=\"zoomPopup\" title=\"Close Dropbox at Startup\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/alwaysup-close-dropbox-at-startup.png\" border=\"0\" title=\"Close Dropbox at Startup (click to enlarge)\" alt=\"Close Dropbox at Startup\" \/><br \/>\n<\/a>\n<\/li>\n<\/ul>\n<p>\nThese changes will cause AlwaysUp to close all running instances of Dropbox before starting the one that it will monitor.\n<\/p>\n<\/li>\n<li>\n<p>\nAnd finally, to give Dropbox some time to complete its auto-update before AlwaysUp tries to fire it up again, click over to the <b>Restart tab<\/b> and:\n<\/p>\n<ol type=\"a\">\n<li>Check the <b>Whenever the application stops, restart it<\/b> box<\/li>\n<li>Check the <b>Not immediately, but<\/b> box<\/li>\n<li>Select the <b>After<\/b> option and enter 5 minutes in the adjacent field.<\/li>\n<\/ol>\n<p>\n<a href=\"\/blog\/images\/alwaysup-dropbox-delay-restart.png\" class=\"zoomPopup\" title=\"Delay Restarting Dropbox\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"\/blog\/images\/alwaysup-dropbox-delay-restart.png\" border=\"0\" title=\"Delay Restarting Dropbox (click to enlarge)\" alt=\"Delay Restarting Dropbox\" \/><br \/>\n<\/a><\/p>\n<\/li>\n<li>\n<p>\nClick the <b>Save >><\/b> button to record your settings.\n<\/p>\n<\/li>\n<\/ol>\n<p>That&#8217;s it! The next time Dropbox decides to automatically update itself, AlwaysUp will quickly bring it back under control &mdash; for continued 24&#215;7 operation.<\/p>\n<div align=\"center\">\n<div class=\"cta-button-1\">\n<table role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"left\">\n<tbody>\n<tr>\n<td align=\"center\"><a href=\"\/blog\/tag\/dropbox\/\" title=\"More about running Dropbox as a Windows Service\"><span><nobr>Read more articles about Dropbox&#8230;<\/nobr><\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<!-- relpost-thumb-wrapper --><div class=\"relpost-thumb-wrapper\"><!-- filter-class --><div class=\"relpost-thumb-container\"><style>.relpost-block-single-image, .relpost-post-image { margin-bottom: 10px; }<\/style><h3>You may also like...<\/h3><div style=\"clear: both\"><\/div><div style=\"clear: both\"><\/div><!-- relpost-block-container --><div class=\"relpost-block-container relpost-block-column-layout\" style=\"--relposth-columns: 3;--relposth-columns_t: 2; --relposth-columns_m: 2\"><a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/troubleshoot-alwaysup-command-prompt\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"AlwaysUp not Starting your Application? Troubleshoot with the Command Prompt\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/command-prompt-150x150.jpg\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">AlwaysUp not Starting your Application? Troubleshoot with the Command Prompt<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/windows\/windows-8-1-end-of-life\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"Windows 8.1 End of Life: January 10, 2023\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/windows-8.1-150x150-1.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">Windows 8.1 End of Life: January 10, 2023<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/scheduled-restarts-feature\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"AlwaysUp Feature Spotlight: Scheduled Restarts\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/alwaysup-scheduled-restarts-150x150-1.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">AlwaysUp Feature Spotlight: Scheduled Restarts<\/h2><\/div><\/div><\/a><\/div><!-- close relpost-block-container --><div style=\"clear: both\"><\/div><\/div><!-- close filter class --><\/div><!-- close relpost-thumb-wrapper -->","protected":false},"excerpt":{"rendered":"<p>The Problem: Dropbox Automatic Updates Recently, a few customers reported &#8220;issues&#8221; with Dropbox automatically updating itself and causing havoc when running under AlwaysUp in their 24&#215;7 environments. Apparently the auto-upgrade would restart Dropbox outside of AlwaysUp and that unmanaged instance &hellip; <a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/how-dropbox-auto-upgrade-works\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[26,69],"class_list":["post-645","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-alwaysup","tag-alwaysup-tag","tag-dropbox"],"_links":{"self":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=645"}],"version-history":[{"count":1,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/645\/revisions"}],"predecessor-version":[{"id":11760,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/645\/revisions\/11760"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media\/2204"}],"wp:attachment":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}