{"id":4,"date":"2016-07-21T10:08:48","date_gmt":"2016-07-21T17:08:48","guid":{"rendered":"https:\/\/blogs.ubc.ca\/braindump\/?p=4"},"modified":"2016-08-04T16:52:11","modified_gmt":"2016-08-04T23:52:11","slug":"adobe-update-server","status":"publish","type":"post","link":"https:\/\/blogs.ubc.ca\/braindump\/adobe-update-server\/","title":{"rendered":"Adobe Update Server"},"content":{"rendered":"<p>A\u00a0fair number of people on campus use Creative Cloud apps (Photoshop, Illustrator, Acrobat, Premiere, etc.) and connect\u00a0to Adobe&#8217;s servers to get their updates. \u00a0It would be ideal\u00a0to have an internal update server that\u00a0downloads all the necessary patches once\u00a0and the clients use that instead of downloading the same update 100 odd times from Adobe individually.<\/p>\n<p>This blog is meant to go over the details of setting up the Adobe Update Server and talking a bit about the caveats about the tool.<\/p>\n<p>Right out of the gates, I feel it&#8217;s worth mentioning the limitations of AUSST (currently version 4.0). \u00a0It is ONLY capable of updating Creative Cloud apps &lt;insert-confused-look-here&gt;. \u00a0Not Flash, not Acrobat Reader, not Shockwave (if that&#8217;s still a thing). \u00a0I&#8217;ll keep my fingers crossed that one day we will be able to update ALL Adobe applications\/plugins\/etc. from a central location.<\/p>\n<p>Moving on to the setup process.<\/p>\n<p>Unfortunately, I will be doing the setup on a Windows Server 2012 R2 machine. \u00a0I blame a coworker for deterring me from using Linux.<\/p>\n<p><strong>Web server Running IIS<\/strong><\/p>\n<p>Clients connect to the update server over the web and download patches. \u00a0So we need to build a web server. \u00a0With Windows Server installed and joined to the domain, we will proceed with IIS installation and setup. \u00a0The documentation on Adobe&#8217;s site for this part is lackluster, so I&#8217;ll try and fill in the gaps.<\/p>\n<p>Open Server Manager, and add the Webserver (IIS) Role.<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7 alignnone\" src=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis1.png\" alt=\"Add IIS Role\" width=\"801\" height=\"568\" srcset=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis1.png 801w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis1-300x213.png 300w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis1-768x545.png 768w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis1-624x442.png 624w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/p>\n<p>Under Application Development, be sure to select the following:<br \/>\n.NET Extensibility 3.5<br \/>\n.NET Extensibility\u00a04.5<br \/>\nASP.NET 4.5<br \/>\nISAPI Extensions<br \/>\nISAPI Filters<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-10 alignnone\" src=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis2.png\" alt=\"Add specific IIS Features\" width=\"799\" height=\"569\" srcset=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis2.png 799w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis2-300x214.png 300w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis2-768x547.png 768w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis2-624x444.png 624w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/p>\n<p>Test the new web server by going to http:\/\/localhost\/ (or your fully qualified domain name) on the server. \u00a0If all is well, you will be greeted with the IIS splash page.<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14 alignnone\" src=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis3.png\" alt=\"IIS Working\" width=\"981\" height=\"717\" srcset=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis3.png 981w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis3-300x219.png 300w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis3-768x561.png 768w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis3-624x456.png 624w\" sizes=\"auto, (max-width: 981px) 100vw, 981px\" \/><\/p>\n<p>Adobe updates will be distributed in the form of ZIP files, DMGs, CRLs, etc. so we have to configure the web server to handle these files properly.<\/p>\n<p>Open IIS Manager and Go to Handler Mappings under your site. \u00a0This could be &#8216;Default Web Site&#8217; or another site if you&#8217;ve chosen to create it. \u00a0Handler mappings are site wide, so caution must be taken if you&#8217;re running multiple sites on the same server.<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-15 alignnone\" src=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis4.png\" alt=\"Handler Mappings\" width=\"939\" height=\"778\" srcset=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis4.png 939w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis4-300x249.png 300w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis4-768x636.png 768w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis4-624x517.png 624w\" sizes=\"auto, (max-width: 939px) 100vw, 939px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-16 alignnone\" src=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis5.png\" alt=\"Module Mapping\" width=\"700\" height=\"473\" srcset=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis5.png 700w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis5-300x203.png 300w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis5-624x422.png 624w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>We have to add mapping for XML, DMG, SIG, CRL, and ZIP files. \u00a0The below graphic demonstrates adding the XML mapping, and it can be repeated for the other four. \u00a0Remember to give each one it&#8217;s unique name.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17 alignnone\" src=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis6.png\" alt=\"Example Module\" width=\"471\" height=\"408\" srcset=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis6.png 471w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis6-300x260.png 300w\" sizes=\"auto, (max-width: 471px) 100vw, 471px\" \/><\/p>\n<p>We also need to edit a\u00a0web.config file in the following location:<br \/>\nC:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\CONFIG\\web.config<\/p>\n<p>Open the file with Notepad and add the highlighted text as shown below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-18 alignnone\" src=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis7.png\" alt=\"Edit web.config\" width=\"836\" height=\"834\" srcset=\"https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis7.png 836w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis7-150x150.png 150w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis7-300x300.png 300w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis7-768x766.png 768w, https:\/\/blogs.ubc.ca\/braindump\/files\/2016\/07\/iis7-624x623.png 624w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><\/p>\n<p>Save the file in the original location and restart IIS.<\/p>\n<p><strong>Adobe Update Server Setup Tool &#8211; AUSST<\/strong><\/p>\n<p>AUSST is installed when you install Creative Cloud Packager (CCP). \u00a0You can download CCP from the Adobe Licensing Website (or contact your Adobe rep).<\/p>\n<p>After CCP is installed, AUSST binaries can be found in:<br \/>\nC:\\Program Files (x86)\\Common Files\\Adobe\\OOBE\\PDApp\\CCP\\utilities\\AUSST<\/p>\n<p>The executable is called &#8216;AdobeUpdateServerSetupTool.exe&#8217; and the usage is as follows:<\/p>\n<blockquote><p>AdobeUpdateServerSetupTool &#8212;-root=&#8221;C:\\inetpub\\wwwroot\\updates\\Adobe&#8221; &#8212;-fresh<\/p><\/blockquote>\n<ol>\n<li>This will do a full sync of ALL available CC updates from Adobe, so allow two to three hours to finish depending on your internet connection speed<\/li>\n<li>It will also <strong>delete<\/strong> everything in the &#8216;C:\\inetpub\\wwwroot\\updates\\Adobe&#8217; folder before starting to caution must be taken<\/li>\n<li>Ensure you have about 100GB of free space before running the above command<\/li>\n<\/ol>\n<blockquote><p>AdobeUpdateServerSetupTool &#8212;-root=&#8221;C:\\inetpub\\wwwroot\\updates\\Adobe&#8221; &#8212;-incremental<\/p><\/blockquote>\n<ol>\n<li>This will do an incremental sync from Adobe&#8217;s server (comparing what is in your repository)<\/li>\n<li>This must be done periodically to ensure you&#8217;ve got all the recent updates. \u00a0I recommend scheduling a task that runs nightly, or weekly<\/li>\n<\/ol>\n<p><strong>Client Config<\/strong><\/p>\n<p>Now that we have our web server setup with the latest patches we need to generate an &#8216;overrides&#8217; file that redirect the clients to your spiffy new server instead of Adobe&#8217;s.<\/p>\n<blockquote><p>AdobeUpdateServerSetupTool.exe &#8212;-root=&#8221;C:\\inetpub\\wwwroot\\updates\\Adobe&#8221; &#8212;-genclientconf=&#8221;C:\\inetpub\\wwwroot\\config\\AdobeUpdaterClient&#8221; &#8212;-url=&#8221;http:\/\/your.domain.com:80\/updates\/Adobe\/&#8221;<\/p><\/blockquote>\n<ol>\n<li>This command generates the overrides file for both Macs and PCs and places them in &#8216;C:\\inetpub\\wwwroot\\config\\AdobeUpdaterClient&#8217; folder<\/li>\n<li>The respective overrides file\u00a0can be packaged with CC Packager (suite, or individual apps) or can also be copied over to a location on the client machines.<\/li>\n<\/ol>\n<p>The file created in step 1 needs to be copied over to the following folder:<\/p>\n<p>In Windows 10 &#8211;\u00a0C:\\ProgramData\\Adobe\\AAMUpdater\\1.0\\<\/p>\n<p>Windows 8 &#8211; xxxxx<\/p>\n<p>Windows 7\u00a0&#8211; C:\\ProgramData\\Adobe\\AAMUpdater\\1.0\\<\/p>\n<p>Mac OS 10.11 &#8211; xxxxx<\/p>\n<p><strong>Updates<\/strong> (finally!)<\/p>\n<p>Once the client machines have the overrides file in place, there are two ways to initiate updates<\/p>\n<ol>\n<li>Adobe Application Updater<\/li>\n<li>Remote Update Manager (RUM)<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A\u00a0fair number of people on campus use Creative Cloud apps (Photoshop, Illustrator, Acrobat, Premiere, etc.) and connect\u00a0to Adobe&#8217;s servers to get their updates. \u00a0It would be ideal\u00a0to have an internal update server that\u00a0downloads all the necessary patches once\u00a0and the clients use that instead of downloading the same update 100 odd times from Adobe individually. This &hellip; <a href=\"https:\/\/blogs.ubc.ca\/braindump\/adobe-update-server\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Adobe Update Server<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":40219,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[142629,7,558],"tags":[],"class_list":["post-4","post","type-post","status-publish","format-standard","hentry","category-adobe","category-how-to","category-technology"],"_links":{"self":[{"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/posts\/4","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/users\/40219"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/comments?post=4"}],"version-history":[{"count":15,"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/posts\/4\/revisions"}],"predecessor-version":[{"id":30,"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/posts\/4\/revisions\/30"}],"wp:attachment":[{"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/media?parent=4"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/categories?post=4"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ubc.ca\/braindump\/wp-json\/wp\/v2\/tags?post=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}