Khurram
Mar 14, 2014
  10960
(3 votes)

EPiServer 7.6 Protected Site Add-Ons location.

Before EPiServer 7.6, the public Site Add-Ons have been placed at /modules/ under the site root and protected Add-Ons placed at ~/protectedModulesPath/Modules or appDataPath\Modules location. But with the release of 7.6, We’ve started streamlining the disk location for Site Add-Ons which means all the Site Add-Ons will be placed under the same root location (/modules/) regardless of the type of the Add-On.

We are making this decision because of a couple of reasons;
the first reason is that CMS, Shell and Add-On Store UI have been converted to NuGet packages so when Installing these packages from NuGet we need a place to put all the resources (aspx files, javascript resources, images etc.) to some path which we can find later (to upgrade these packages) without any surprises.
The second reason is that we want to recommend a standard location inside a deployed EPiServer site where all the third-party Add-On developers can happily put their resources and upgrade them later through NuGet or EPiServer Add-On store and it makes it simpler to reason about the location of every Add-On installed through Add-On store or NuGet specially when you’ve installed a lot of them. 

If you’ve already installed/upgraded to EPiServer 7.6 you’ll notice that the installation process has created a new folder /modules/_protected inside the site root. This is the new home for EPiServer protected Site Add-Ons. From now on, all the EPiServer developed protected modules will be placed under modules/_protected.

If you are upgrading from an older installation to release 7.6, the process will clean the folders CMS, Shell and CMS.Sources from old protected modules location (relevant dll files will also be deleted from /modulesbin/). And two new folders (CMS and Shell) will be created under /modules/_protected/ location. 

In the same way if you upgrade to EPiServer Add-On Store UI 3.1 (via Nuget), the installation will delete EPiServer.Packaging and EPiServer.Packaging.UI folders from current modules path and EPiServer.Packaging.UI folder will be created under /modules/_protected location.

EPiServer Add-On Store UI 3.1 package also introduces a new command let within the Visual Studio Package Manager Console. This command let will help you in moving all the current protected Add-Ons to new location. 
In order to run this command let, first you need to upgrade to new Add-On Store UI package through NuGet (Install-Package EPiServer.Packaging.UI). Once the process of installation completes, You can run Move-EPiServerProtectedModules in Package Manager Console (Tools --> Package Manager –> Package Manager Console) and it’ll move all the current protected modules to new location, it’ll also write the information in web.config and will delete the old folders.

Mar 14, 2014

Comments

Johan Book
Johan Book Oct 16, 2014 10:32 PM

Great article! So does this mean that modulesbin is now obsolete? I tried to remove modulesbin (which was empty) together with the probing element in web.config but got a YSOD saying "Probing path 'modulesbin' should be specified in web.config"... Should we point probing to modules instead?

Sep 7, 2018 05:27 PM

192.168.1.254

Please login to comment.
Latest blogs
Four database surprises when upgrading from CMS 11 to CMS 13

We're in the middle of migrating a fairly large site from CMS 11 / .NET Framework to CMS 13 / .NET 10. The code migration is one thing, but the...

Per Nergård (MVP) | Jun 12, 2026

Designing ODP Real-Time Audiences for CMS Personalization and Experimentation

A practical look at when to use ODP Real-Time Audiences, how to build them, and how they fit into CMS personalization and Feature Experimentation.

Wojciech Seweryn | Jun 11, 2026 |

Unlock Experimentation with Content Variations in CMS 13

Part 1 argued that Content Variations is the CMS 13 feature that didn't get the keynote but should have. This is the follow-up: wiring those...

Piotr | Jun 11, 2026

umage.ai is now an Optimizely Silver Solution Partner

umage.ai is officially an Optimizely Silver Solution Partner. The badge formalises an alignment that was already there — agent-driven Optimizely wo...

Allan Thraen | Jun 10, 2026 |