DanGough / Nevergreen

This module is an alternative to Evergreen, and allows you to find the latest version and download URL for various Windows apps. Evergreen uses API queries to obtain its data whereas this module is more focussed on web scraping. This is more prone to breaking when websites are changed, hence the name.
The Unlicense
74 stars 18 forks source link

Add Adobe Creative Cloud #5

Closed JonathanPitre closed 3 years ago

DanGough commented 3 years ago

Looks good. However, I just saw there was a different version 5.4.5 rather than 5.4.3 for Creative Cloud for Teams/Enterprise though:

https://helpx.adobe.com/ie/enterprise/kb/ccda-teams-enterprise-release-notes.html

Download:

https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html https://ccmdl.adobe.com/AdobeProducts/KCCC/CCD/5_4_5/win64/ACCCx5_4_5_550.zip

If both variants are indeed different and likely to be needed depending on which license type you're using, it would be best to include both and add an 'Edition' property to the object set to 'Individual' or 'Enterprise' for example. This variant also comes in x86/x64/ARM64, with x86 having an older version.

I'll look into it more tomorrow!

DanGough commented 3 years ago

Also the current functions reports version 5.4.3.544 but the exe downloaded is versioned 5.3.5.13. I haven't installed it yet though, often the main setup.exe version has nothing to do with the product version.

If you just try to download it from Adobe's main page https://creativecloud.adobe.com/apps/download/creative-cloud, you get a slightly bigger file versioned 2.4.0.48! Which happens to match the version inside the enterprise zip file.

We'll check these files out more before merging anything.

JonathanPitre commented 3 years ago

Ok let me run some tests from my end to see if the setup version matches the one from the release notes, i'll get back to you.

On Sat, May 15, 2021 at 7:51 PM Dan Gough @.***> wrote:

Also the current functions reports version 5.4.3.544 but the exe downloaded is versioned 5.3.5.13. I haven't installed it yet though, often the main setup.exe version has nothing to do with the product version.

If you just try to download it from Adobe's main page https://creativecloud.adobe.com/apps/download/creative-cloud, you get a slightly bigger file versioned 2.4.0.48! Which happens to match the version inside the enterprise zip file.

We'll check these files out more before merging anything.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DanGough/Nevergreen/pull/5#issuecomment-841740762, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSO5QKLTSNYKFBDO2HS633TN4CHBANCNFSM446HI4DQ .

-- Jonathan Pitre

JonathanPitre commented 3 years ago

You're right Adobe are f$*&&%g idiots.

Website version: 5.4.3.544 Installer version: 5.3.5.13 image

Installed version: 5.4.5.550 image

JonathanPitre commented 3 years ago

and yes you're right we need a desktop and enterprise branch/edition/track/ring/chanel/type. Not too sure how to call it.

DanGough commented 3 years ago

Since these exes are so small compared to the zips, they may just pull the latest version down during install. If so, I'd rather keep them out of this and rely on the zips - it's only one extra step to run Extract-Archive when you come to use it.

I still need to review this, but at the moment just from a quick run of the last commit, I can see it is showing the exact same version and URL for desktop/enterprise versions. I still don't know for sure if there is any actual difference between desktop/enterprise other than the fact the enterprise one is an offline installer!

JonathanPitre commented 3 years ago

Yes the true desktop version at the moment is the same one as the enterprise version.

The one from the desktop release note is incorrect.

I would just keep both the exe and zip files and let the people decide. Similar to Evergreen.

On Mon, May 17, 2021, 5:59 PM Dan Gough @.***> wrote:

Since these exes are so small compared to the zips, they may just pull the latest version down during install. If so, I'd rather keep them out of this and rely on the zips - it's only one extra step to run Extract-Archive when you come to use it.

I still need to review this, but at the moment just from a quick run of the last commit, I can see it is showing the exact same version and URL for desktop/enterprise versions.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DanGough/Nevergreen/pull/5#issuecomment-842670139, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSO5QOSVXHFONIQ7TR6GMLTOGGU5ANCNFSM446HI4DQ .

DanGough commented 3 years ago

Is there are way to silently install this? I tried --silent and it pops up a sign-in window without installing anything. I've not deployed this particular version before, just the ones you package/download from the Adobe Admin Portal.

I'm happy to have different download types available when they are offline installers that match the version reported. But in this case, where the exe is an online web stub from a hard coded URL that will always install the latest version, I'd label it as Type = Offline and Version = Latest so that this is more explicit. That way you can still manually combine the version of the zip with the URL of the exe if you really wanted to.

JonathanPitre commented 3 years ago

Not really the installer is forcing you to sign in. Apps/Install.ps1 at master · JonathanPitre/Apps (github.com) https://github.com/JonathanPitre/Apps/blob/master/Adobe/Creative%20Cloud/Install.ps1

The problem if we use "latest" is that we have no way to determine if the update is really required on a system where a previous version was installed which comes handy for scripting install. I agree with you the current method is not perfect but at least we get a version number and it's the correct one for now.

For the installer type, I would just leave it as is to match what Evergreen is doing with multiple installer type. See Get-EvergreenApp MozillaFirefox for example. Evergreen reports "latest" on Get-EvergreenApp Zoom and it's currently a problem for scripted install. Something I was hoping to address with Nevergreen as well.

Just my 2 cents.

On Mon, May 17, 2021 at 6:56 PM Dan Gough @.***> wrote:

Is there are way to silently install this? I tried --silent and it pops up a sign-in window without installing anything. I've not deployed this particular version before, just the ones you package/download from the Adobe Admin Portal.

I'm happy to have different download types available when they are offline installers that match the version reported. But in this case, where the exe is an online web stub from a hard coded URL that will always install the latest version, I'd label it as Type = Offline and Version = Latest so that this is more explicit. That way you can still manually combine the version of the zip with the URL of the exe if you really wanted to.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DanGough/Nevergreen/pull/5#issuecomment-842694601, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSO5QK2BY5MTCDZNY3GUZLTOGNLDANCNFSM446HI4DQ .

-- Jonathan Pitre

DanGough commented 3 years ago

You have a bug!

if ($VersionDesktop -and $URLDesktop) {
    [PSCustomObject]@{
        Version      = $Version64Enterprise  # <--- This should be $VersionDesktop!
        Architecture = 'x64'
        Edition      = 'Desktop'
        Type         = 'Exe'
        URI          = $URLDesktop
    }
}

That's why the function is returning the same version for Desktop/Enterprise exes.

But even after that fix, I'm still not satisfied as the URLs are hard-coded the same for each, yet claiming to be different versions. If this installs different versions depending on which type of license you enter, then OK.

Another thing I'd like to know is how do you make use of this? I see here that you're installing with --silent, but if I try that it pops up asking to sign in, which is not exactly silent. How can this be incorporated in an image build process or SCCM/Intune deployment if this is the case?

I've always used the Adobe admin portal which lets you package/download any apps or just the standalone Creative Cloud Desktop package, and it gives you an MSI that you can install silently no problem.

DanGough commented 3 years ago

I’ll check to see what the 2 URLs pull down; they are almost the same except one has a lot of extra properties and guids in the request!

DanGough commented 3 years ago

I still can't find any evidence that Adobe have separate downloads for standard/desktop and enterprise.

This URL needs a sign in to download, but you get the same file whether you sign in with a standard or enterprise account:

https://creativecloud.adobe.com/apps/all/desktop?action=install&source=apps&productId=creative-cloud

This link does not require a sign-in and downloads a different file, but ultimately installs the same version as they update online during installation:

https://creativecloud.adobe.com/apps/download/creative-cloud

The Enterprise zip downloads come from the generic help page which is not enterprise specific, so they seem to be general purpose also:

https://helpx.adobe.com/ca/download-install/kb/creative-cloud-desktop-app-download.html

Happy to pull this over and make changes, I would end up removing the enterprise/desktop labels and offer 1 exe along with the zips.

DanGough commented 3 years ago

Final version now just has the zips. I wasn't happy including the exe because the version it deploys is never constant, and the URL was just hard coded in the script. If you really want to use the exe you can hard-code the exe URL in whatever script consumes Nevergreen, but I would recommend just using the zips and performing the extra step to extract when installing.