Orckestra / C1-CMS-Foundation

C1 CMS Foundation - .NET based, open source and a bundle of joy!
https://c1.orckestra.com/
Other
250 stars 109 forks source link

Upgrading to C1 6.12 #805

Open napernik opened 2 years ago

napernik commented 2 years ago

We recommend that everyone upgrade to the C1 CMS 6.12 release, due to a discovered security vulnerability.

The purpose of this guide is to:

How to upgrade to C1 CMS 6.12

Before you upgrade, we strongly recommend that you have a complete backup of your website (and the SQL database, if any).

We also recommend that you complete and test the upgrade in a test environment.

Here are the steps needed for the upgrade:

  1. Make a full backup of your website, check the upgrade requirements.
  2. Go to the System perspective.
  3. Open the folders "Packages", "Available Packages", "Composite.Updates".
  4. From the "Composite.Updates" folder, install the latest C1 version you see.
  5. Repeat Step 4 until you have upgraded to C1 CMS 6.12.

Upgrade Requirements

To complete the upgrade, the web server must have the .NET Framework version 4.8 installed.

Older versions must be upgraded more than once

For older C1 versions (2.x, 3.x and 4.x) you will need to repeat Step 4 multiple times. Each upgrade gives you access to a higher version.

The upgrade steps are: 2.x--> 3.0, --> 4.0 --> 4.1 --> 4.2 --> 5.0 --> 6.12

For example, if you are on version 4.0, you need to upgrade to 4.1, 4.2, 5.0 and finally 6.12.

If you are using version 5.0 or higher, you only need to install a single upgrade package.

The Upgrade Wizard may end with an error message - but it's all good

The C1 upgrade packages make the web application overwrite/transform itself, which can lead to the wizard completing with an error. If this is the case, reload the console, and everything will work as expected.

Known issues

When upgrading from 6.10/6.11 versions, you can see the following validation message:

The package did not validate
The process cannot access the file '<C1 website path>\bin\Composite.dll'
The process cannot access the file '<C1 website path>\bin\Composite.Workflows.dll'

For a workaround:

1) Download the upgrade package ZIP file ( https://github.com/Orckestra/C1-CMS-Foundation/releases/download/v6.12/C1.CMS.UpgradePackage.6.12.8122.18346.master.zip ). 2) Open the ZIP archive and within the "/install.xml" file comment out or remove the lines related to /bin/Composite.dll and /bin/Composite.Workflows.dll files. 3) Install the updated ZIP file from within the C1 console (the website will likely crash). 4) Extract and copy the /bin/Composite.dll and /bin/Composite.Workflows.dll files from the upgrade package to the website. (If the files are locked, temporary stop the IIS working pool to unlock them.) 5) Run the C1 console and make sure in the logs that the package has been installed successfully.

carriebujold commented 2 years ago

Hello,

We currently have CompositeC1.Core NuGet package 6.11.0 installed. Can you please publish the 6.12 NuGet package so that we may upgrade our clients on Composite?

Thanks so much!

Carrie Bujold

carriebujold commented 2 years ago

@napernik Can you please publish the NuGet package for 6.12? If this is not possible, please let me know. Thanks!

napernik commented 2 years ago

Hi @carriebujold

We ourselves are using and maintaining a different NuGet package, that serves the same purpose - "C1CMS.Assemblies".

"CompositeC1.Core" was released by @burningice2866, I am not sure if he is still maintaining it.

You can switch into using "C1CMS.Assemblies", the main thing to note is that this NuGet adds DLL references with "copy-local" = "false" option. So it might break your build script, if it was relying on those DLLs being automatically copied on build.

slacto commented 2 years ago

Hi. Can you include Composite.XmlSerializers.dll in C1CMS.Assemblies? Also I believe it should be .NET Framework 4.8 instead of 4.7.1

carriebujold commented 2 years ago

@burningice2866 Are you able to publish the 6.12 NuGet Package? Greatly appreciated.

burningice2866 commented 2 years ago

@carriebujold i will get it done this weekend

burningice2866 commented 2 years ago

Updated package available here https://www.nuget.org/packages/CompositeC1.Core/6.12.0