19 Replies Latest reply: Oct 17, 2013 6:44 PM by Eric Wilde RSS

    how do I disable all non-essential components in the CS6 installer

    Mopaxian Community Member

      A new question in the spirit of http://forums.adobe.com/thread/548877 and http://forums.adobe.com/message/2778575, where I asked this question for CS4 and CS5 and eventually discovered how to do this (at least for CS4; CS5 was a mess...): How do I disable all the non-essential components in the Photoshop CS6 installer?

       

      I already found the payloads/Media_db.db sqlite 3 database and wiped the DependencyData table. This goes a long way - unlike CS5, which was a maze of hidden xml configs and sqlite databases, for CS6 just wiping this single table will give the user full control over what the installer will put in the computer. With the dependencies wiped, we can now see all the stuff it's actually going to install:

       

      • Bridge (normal and x64) - 187 and 262 MB
      • CMaps (normal and x64) - 7.2 and 7.2 MB
      • CSXS Extensions - 1.3MB
      • CSXS Infrastructure - 6.8MB
      • Color - photoshop, EU, JA, NA - 1.5, 2.1, 3.0, 2.5MB
      • Video profiles - 4.7KB
      • Dynamic Link Media Server - 96MB
      • DynamicLink Support - 6.1MB
      • ExtendScript Toolkit - 19MB
      • Extension Manageer - 16MB
      • Fonts recommended (normal and x64) - 110 and 110MB (why are there x86 and x64 versions? more of an open question than one that really needs an answer, but this is not how fonts work. There are no separate x86 and x64 flavoured OpenType fonts)
      • Fonts required (normal and x64) - 123 and 123MB
      • Hunspell Linguistics Plugin (normal and x64) - 181 and 181MB
      • Linguistics (normal and x64) - 46 and 46MB
      • Mini Bridge (normal and x64) - 4.0MB
      • PDF Library Files (normal and x64) - 75 and 75MB
      • Photoshop (normal and x64) - 486 and 563MB
      • Photoshop Support - 9.4MB
      • Player for Embedding 3.3 (normal and x64) - 21 and 26MB
      • Switchboard 2.0 - 1.1MB
      • Type Support (normal and x64) - 6 and 6MB
      • Winsoft Linguistics Plugin (normal and x64) - 8.2 and 8.5MB
      • XMP Panels - 4.9MB
      • ColorCommonSetCMYK - 13MB
      • ColorCommonSetRGB - 8.6KB
      • Camera Profiles Installer - 285MB
      • MSVC++2005 redist. (normal and x64) - 11 and 11MB
      • MSVC++2008 redist. (normal and x64) - 11 and 11MB
      • MSVC++2010 redist. (normal and x64) - 11 and 11MB
      • MSVC80_CRT (normal and x64) - 0.0 and 0.0KB
      • PDF Settings - 2.4MB
      • Camera Raw 7  (normal and x64) - 22 and 24MB
      • Suite Shared Configuration - 3.2MB

       

      Some of these things we really want installed (Photoshop, CMaps, XMP panels, Type Support and required fonts and color profiles are pretty much the minimal set required for a functional Photoshop installation), but some of these things really have no right to be silentedly installed. There's a good gigabyte of nonsense that someone who just wants Photoshop has no need for. Denying them the option to unselect these things during installation is a bit evil (whatever happened to the 'advanced' or 'custom' installation option? That was a good option).

       

      That said, there's still something funky going on - unselecting all components indicates that the installation will required 0.0KB on disk. However, selecting Photoshop CS6 x64, which indicates its size is 563MB, results in an installation that requires 677MB on disk. Similar things happen for other components; CMaps is 7.2MB, but when you select it, it suddenly requires 121MB on disk.

       

      Much last last time, I fully appreciate the install team's choices in making sure the installer will always work as long as people don't tamper with it, but I'm not one of those people - I do tamper with it, because I want to control exactly what lands on my disk. So: how do I find out what these secret things are that are not listed after wiping the dependency data so that I can explicitly pick individual components? Which additional steps are required to reveal the hidden dependencies that will apparently still be installed, or aren't factored into the size indication for the various components? And finally, how do I make the installer NOT determine that "this is not a genuine installer, you may have a counterfeit product" =)

       

      I know it's been altered; I modified it, because I think your install process is trying to force stuff onto my computer that I never asked for, nor will ever use (I know they're quality products, they just have no right to exist on my computers. If I had the choice to say no, I'd acknowledge them as quality products instead).

       

      - Mike Kamermans

      nihongoresources.com

       

      NB: if Eric Wilde ends up replying to this post: I still remember your willingness to help figure this out for CS5, two years ago. Thank you again for that.

        • 1. Re: how do I disable all non-essential components in the CS6 installer
          Eric Wilde Adobe Employee

          Mike,

           

          Your name does indeed trigger some memories; but, I don't recall the detials of our last discussion. Let me ping the engineering team to see if we can get a reasonable answer.

           

          Are you using the AAMEE tool to help create a deployment package or is this for just a couple of seats?

          • 3. Re: how do I disable all non-essential components in the CS6 installer
            Mopaxian Community Member

            Hi Eric,

             

            it's just a couple of seats, involving individual installs (rather than silent deployment) for each machine, so it'll most likely just end up being a prepared zip with all the install files, with install.exe run for each machine. It looks like the only thing that prevents custom installs is the checksum/signature value for Media_db.db from the .sig file, so if it's possible to get the two values for a Media_db.db that has the following SQL command run on it, that might actually be the only thing required to enable custom installs (and then whether the custom installs work or not is on my head, rather than Adobe's):

             

            UPDATE DependencyData SET type = "recommended" WHERE (type = "critical" OR type = "required")

             

            (this should make Media_db.db 8317952 bytes)

             

            - Mike

            • 4. Re: how do I disable all non-essential components in the CS6 installer
              bokeron2008 Community Member

              Hi,

               

              I'm trying to achieve just the same. I edit and change the "required" and "critical" to "recommended" in media_db.db. This procedure was working with the CS5 installers, but since CS6 I get the "Adobe Genuine" error... the problem seems to be the <checksum> and <sig> values in the media_db.sig as in my case, unless I've overlooked it, the filesize remains the same.

               

              Anyway, I'm just adding myself to the list of people interested in finding a way to do this, by ourselves (calculating checksums, sigs...), or if that's out of the question maybe Adobe could provide a set of modified files wich would allow us more control over the install process.

               

              For me, that would be enough. No need to modify anything else, I'll manage the consequences and the eventual lack of support derived from a non-standard install.

              • 5. Re: how do I disable all non-essential components in the CS6 installer
                Mopaxian Community Member

                Hm, that would be odd: the filesize should definitely change, since we're replacing strings with different-sized strings. Which program did you use for modifying Media_db.db? (I used SQLiteManager).

                 

                Also, there's a good reason to ask for just the hash values after applying the SQL statement, rather than asking for the hashing functions: handing out the specific checksum and signature values for just the modified Media_db.db file is relatively safe, compared to handing out the hashing algorithm that they use. If we had the algorithm, we could sign every possible modified Media_db.db file, so we could (in theory) generate a valid .sig file for a trojan-loaded installer (add a new component ID a critical dependency, set up a new payload for the trojan, and then pack it all up and start running a torrent that makes it look like a stripped down version of CS6 for people who want a lean install).

                 

                However, if the engineering team is willing to only generate the two hash values that we need for Media_db.db after running the SQL replacement command, then they're not giving out anything that'll let us create bogus installers. It'd effectively limit us to only being able to modify the Media_db.db file to effect custom installs, which anyone would be able to apply to their own, official files, but that happens to be exactly the information we're interesting in =)

                • 6. Re: how do I disable all non-essential components in the CS6 installer
                  bokeron2008 Community Member

                  Hi,

                   

                  I'm using SQLite Browser. I suppose I've overlooked something, but anyways, there's no point in discussing this part as, I believe, is not relevant right now.

                   

                  I wasn't specifically asking for the algorithm used, I understand Adobe may be unwilling to share it for security reason. I was.. well... I suppose that I was just thinking aloud regarding different possibilities. That's why I said the part about Adobe providing modified files... to achieve basically what you're proposing.

                   

                  The only part I don't know how could be done is... there's quite a few possible versions of the media_db.db & sig. Individual programs, different packages, different versions for different countries... I use a spanish version of the CS6 master collection which I suppose uses a different media_db.db & sig than, say, Adobe Illustrator Japanese version... and therefore checksum & signature would be different for all of them.

                   

                  So... maybe Adobe can provide modified media_db.db and media_db.sig for all those install possibilities... or maybe a list of <checksum> and <sig> values for every product media_db.db... or, at least, the master collection one.

                   

                  We better wait to read what Adobe's answer is and then we'll know

                  • 7. Re: how do I disable all non-essential components in the CS6 installer
                    Eric Wilde Adobe Employee

                    I'm afraid I don't have a good answer for you. In short, these workflows aren't supported or tested and we cannot recommend proceeding in this direction.

                     

                    Our genuine validation feature is designed to detect tampering of the installer as that is a primary means for counterfeit DVDs. Such tampered installers often put malware on the user's systems in additional to circumventing our licensing code. The worst part is many counterfeit products are virtually indistinguishable from genuine product, down to the packaging and very little price difference. If you do edit the media DBs and get it to work, it is very possible that updates, uninstalls and future product installs won't work properly.

                     

                    I think the right answer to this issue is to simply remove from the products those items that are not required to execute the product. That's actually something we're aggressively pursuing this summer so that the product size reduces in future releases, particularly for PS.

                     

                    Have you investigated using AAMEE? I don't think that will get rid of all the "extraneous" pieces; but, it does provide some flexibility in creating an install package that can then be pushed out through normal deployment tools (e.g. SCCM).

                     

                    http://www.adobe.com/devnet/creativesuite/enterprisedeployment.html

                    • 8. Re: how do I disable all non-essential components in the CS6 installer
                      Mopaxian Community Member

                      I can see why you wouldn't want to release information that lets people set up arbitrary installers, but that's why I mostly wanted those two specific hashes. The installer team can just generate them without ever saying how, and we will only be able to use them to validate the installer for the modification that lets you pick components. This should in no way interfere with the desire to prevent dangerous installers making it into the wild; in fact, it kind of guarantees that's impossible.

                       

                      I know you can't guarantee it'll work or test it, and that's fine. Past experience has shown that CS3, CS4 and CS5 work fine with updates (and most updates don't apply to Photoshop, they apply to the additional components that I traditionally don't install), so I'm pretty sure it'll work fine with CS6 too, although of course it could go wrong in which case I can always fall back to a normal install.

                       

                      Would you be willing to ask the install team whether they could generate just these two numbers, based on the single SQL command run on Media_db.db from the main payload directory? I can fully understand not wanting to give the "here is how you generate the hashes" information, but generating two specific numbers that don't work for anything but this specific query should be just as safe as the various hashes we can already see for the other Media_db.db files in the various payload directories (so they wouldn't reveal anything not already known about how to reverse engineer the hashing algorithm). It'd help tech-savvy customers quite a bit without playing into the hands of criminally minded jerks (I actually had the pleasure of running into a duped CS3 Extended disc several years ago! I had ordered CS3 for personal use, and mysteriously received a CS3 extended version with a volume licensing key in what looked like an official normal CS3 box. Needless to say, authorities and Adobe were notified).

                       

                      <<I think the right answer to this issue is to simply remove from the products those items that are not required to execute the product. That's actually something we're aggressively pursuing this summer so that the product size reduces in future releases, particularly for PS.>>

                       

                      It's not possible to take components out of the payloads directory without the installer complaining that errors have occurred. It really wants all those files there when it starts =(

                       

                      <<Have you investigated using AAMEE? I don't think that will get rid of all the "extraneous" pieces; but, it does provide some flexibility in creating an install package that can then be pushed out through normal deployment tools (e.g. SCCM).>>

                       

                      I did, but unfortunately AAMEE requires the use of a volume license key, which I don't have. We only have individual products keys for the machines that will get Photoshop CS6.

                       

                       

                      - Mike

                      • 9. Re: how do I disable all non-essential components in the CS6 installer
                        bokeron2008 Community Member

                        I understand the logic in preventing any tampering, so obviously Adobe can't provide any methods/algorithms to calculate checksums or signatures... but if Adobe could provide a modified media_db with only the "critical"/"required" edited to "recommended", the file would still be protected, the algorithm used would still be undisclosed, all would still be under Adobe's protection... and we'd get what we need at the same time.

                         

                        With CS5 some help was provided to achieve exactly this, by yourself and (I'm sorry I don't remember the name) an Adobe engineer I believe, and it was clearly stated we'd do it at our own risk and the resulting install would be unsupported by Adobe. Has therefore Adobe's position changed regarding this ?

                         

                         

                        If I've understood it right, AAMEE can't work outside the limits imposed by the instaler, just select the install options normally allowed in order to automate the install process. So, we can leave out the recommended packets... but the required and the critical packets are still out of reach. Don't know if this is really so or I just misunderstood the AAMEE puropose.

                         

                        (Anyway, Mopaxian explains it better than me, the only difference is (I believe) he needs just Photoshop an I'd need a solution for the Master Collection)

                        • 10. Re: how do I disable all non-essential components in the CS6 installer
                          Mopaxian Community Member

                          Yeah I am mostly concerned about getting this solved for Photoshop CS6, although I can imagine that people who need to install the creative suite might want to know what they need to do to take control of what gets installed again, too.

                           

                          Eric, can we still bother you for some more help?

                           

                          - Mike

                          • 11. Re: how do I disable all non-essential components in the CS6 installer
                            bokeron2008 Community Member

                            There already exist "lite" hacked CS6 versions.

                             

                            I fail to see the wisdom in preventing your legal users do what any run of the mill hacker can achieve effortlessly. Adobe's security measures seem to be defeated even before the product starts selling, yet they insist all this "nuisances" to their paid customers are in the name of security.

                             

                            It is madness to make things harder for the paid customers than to the... "unpaid" ones. Guess where the path of least resistance leads ?

                             

                            So... now that the security system has been defeated... will the paid customers be allowed to do what illegal users can already do ? Please ?

                            • 12. Re: how do I disable all non-essential components in the CS6 installer
                              Eric Wilde Adobe Employee

                              Hi folks,

                               

                              I've been away on both vacation and business travel over the last few weeks. Sorry for the delayed response. I'm still travelling on business this week and so will continue to be slow in response for about another week.

                               

                              I can understand your requests here and I really do want to enable you both. As you state, it isnt in our best interests to provide a generalized solution. My main problem in providing the hashes for you both is that this is an extremely rare need and the installer team has a whole bunch of more urgent issues to deal with (such as enabling customers unable to install.)

                               

                              I'll ask them if I can share an unsupported way to workaround this issue; but, I really don't want to share them here on this forum. Expect a private email today (today, as in I'm in Asia and my day is just starting while your day ends.)

                              • 13. Re: how do I disable all non-essential components in the CS6 installer
                                Mopaxian Community Member

                                I'm not sure it's as rare as this forum suggests it might be - it seems a lot of people consider asking how to do this something worth mocking, which puts off a lot of people requesting the same thing. In "real life", I know a lot of people would love to be able to control their installation, but will never ask either directly or on the forums because they "know" they won't get any answers anyway.

                                 

                                I'm not sure sharing them would pose any security risk, since they're for specifically modified files, and thus cannot be used to slip things into the installer or perform otherwise malicious modifications to the installer (since the hashes would then be wrong again and the installer would refuse to run), but if you want to send them by email that's still really appreciated.

                                 

                                Perhaps an Adobe knowledge base article can be written for people who are willing to "void their warranty" so to speak? I cannot speak for bokeron2008, but I know a good ten people just in my personal circle of acquaintance who would really like to be able to customise their installs too =)

                                 

                                - Mike

                                • 14. Re: how do I disable all non-essential components in the CS6 installer
                                  Noel Carboni Community Member

                                  I find it amusing that you may have considered my input on this (in other threads) as ''mocking''.

                                   

                                  I wish to run a lean system every bit as much as you do.  It's just that in the process of hacking into someone's installer you can't really know what components their system requires to run under what conditions.

                                   

                                  That said, there's nothing in the world wrong with asking Adobe for a lean installation, and for the ability to customize the install to eliminate features you don't need.  I'm frankly (pleasantly) surprised that Adobe has responded.  All I can say to that is thank you, Eric.

                                   

                                  But it's pretty clear that someone in Adobe management thinks that offering more options makes the product too complicated for the masses, and that options add testing and support cost.  So expert users are caught between the attraction of using relatively inexpensive software, financed by the masses, and having it do exactly what we need and no more.

                                   

                                  Best of luck.

                                   

                                  -Noel

                                  • 15. Re: how do I disable all non-essential components in the CS6 installer
                                    Mopaxian Community Member

                                    I'd just like to follow up and thank Eric for his help - the installer team managed to generate the files necessary to perform a custom install and everything works beautifully.

                                     

                                    While we're not allowed to redistribute those files ourselves, Eric has kindly offered to send copies to anyone who wants these files as well. So: if you want to take control of your Photoshop installation to only install the minimum, I'm sure Eric will be able to help you, just drop him a line.

                                     

                                    Oh, and should you ever run into him, I'm sure buying him a beer is the least we can do for his help with this =)

                                     

                                    - Mike

                                     

                                    NB: My Photoshop CS6 installation now only uses the 64 bit versions of the following components, and runs beautifully:

                                     

                                    • CMaps
                                    • Color (common + photoshop)
                                    • Fonts  (recommended + required)
                                    • Photoshop itself
                                    • Photoshop Support
                                    • Type Support
                                    • XMP Panels
                                    • MSVC++ redistributables
                                    • Suite Shared Configuration

                                     

                                    (And for those concerned about space, rather than just having unwanted software on their machine, this combination clocks in at a little over 900MB, rather than the default 1.9GB)

                                    • 16. Re: how do I disable all non-essential components in the CS6 installer
                                      Thatscreenname5463 Community Member

                                      Wow, it's amasing! I just send a private message to Eric.

                                       

                                      Eric and Mopaxian, guys, you are simply the BEST!

                                      • 17. Re: how do I disable all non-essential components in the CS6 installer
                                        turchino77 Community Member

                                        I've got the correct files kindly from Eric, but now facing a problem during the installation.


                                        When I launch the installer I see the 34 components under PS CS6 section.

                                        If I install without unselecting any components it installs just fine.

                                         

                                        But if even uncheck 1 single component the installer fails at 2% with the following error (in the below error I've unchecked Camera Profiles Installer.

                                         

                                        Exit Code: 7

                                        ERROR: DW039: Selection of payload {539AEF15-3A2B-4A31-A587-7E90F7D9C700} Camera Profiles Installer 7.0.0.0 is not allowed. It is non-selectable and should be removed from deployment.xml file

                                         

                                        Any ideas?

                                        • 18. Re: how do I disable all non-essential components in the CS6 installer
                                          Mopaxian Community Member

                                          Hi Eric,

                                           

                                          A fair amount of time has passed since we tackled this issue, and with the current version of the adobe suite being CC, I was wondering whether the CS6 custom installer fixes could be made public attachments to this thread, so that people who still own a physical copy (or digital download) of CS6 can perform custom installations without having to contact you for the fixed files (if you no longer have them, I'm pretty sure I still have them sitting in my email cllient somewhere).

                                          • 19. Re: how do I disable all non-essential components in the CS6 installer
                                            Eric Wilde Adobe Employee

                                            I've had so few requests (less than I can count on one hand's fingers) that I'd rather just keep them at request only.