I have spent several hours now searching on Internet to solve this problem but I am not able to find a solution.
We have bought the licence for the Courier Package but it seems is not working for some reason.
This is the log message related to the error:
20/03/2013 15:17:54; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider' id: e0474ca8-e73b-11df-9492-0800200c9a66: Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place
at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
Is there anyone who had a simillar issue with this? Is there any fix?
In the meantime I have created a fresh Umbraco 6.0.2 project (thinking I would avoid conflicts with other installed packages on the existing application), installed the latest Courier version and I have copied in the licence file and I get the same error.
I'm getting the same error when trying to deploy simple content to production site.
I'm running MySql on both development and production server. Not sure if this has something to do with it but it was mentioned in another post that it might have to do with the datalayer for NHibernate.
I am also experiencing the same issue with Umbraco 6 and the Courier. The depoly screen shows the same error as shown in the screenshot above and the courier logs give the same error regarding licensing. It actually worked when using the trial mode but started giving the errors after I paid for a license and added the license file.
Which versions of Courier are known to be compatabile with Umbraco 6? Is there a known cause for the abover error?
I'm having this problem as well. How can 3 weeks go by and none of the Courier threads that contain this error have any responses from the Umbraco team? We have multiple sites running Umbraco 6.0.3 and we have purchased multiple Courier licenses and there really isn't much of an excuse for this. Was this even tested at all with Umbraco 6 as it seems that this is happening to everyone that is using Umbraco 6, even though the package says it supports v6. I usually am not one to complain, but this is just ridiculous. Can we get a response from the Umbraco team? Even just a "we're working on it, eta is xxx" would suffice so I can have something to go back to our clients with. Thanks!
Below is a response I have received after sending this post to the helpdesk.
'Can you makes sure you have installed the V6 version of Courier? You can download it here http://our.umbraco.org/projects/umbraco-pro/umbraco-courier-2 and then install as a local package. The error is generic, but it seems like it can't find the right nHibernate dll's - which would indicate you may have the wrong version.'
In my case I have downloaded the correct package so it doesn't solve my problem...but will hopefully help someone else.
I personally have tried builds from the repository, from the courier page, and also from the nightlies. None have worked. I'm still a bit perturbed that there hasn't been an official response in weeks.
I'm getting a similar error. Posting it here so I can send it on to HQ.
Where do I start with my errors. First, I double checked to make sure my license was correct and that I could use it which according to the email from you guys it was.
I am currently running 6.0.2 and installed Courier 2.7.5.1.90 v6.
Please read through the entire email as I'm gong to display a bunch of errors.
I installed it without any errors. Once it's installed, if I click the deploy folder, I see the following error:
The given key was not present in the dictionary.
[KeyNotFoundException: The given key was not present in the dictionary.]
So I added my repository's and they appear on localhost as available locations.
I then publish the site to a QA server which has an exact copy of the database (double checked this).
So now I try to deploy from localhost to my qa server.
I right click the item I wish to deploy and select the environment that I wish to send to (qa), keep 'yes' checked, and click 'deploy'. I immediately receive this error:
error:System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) at Umbraco.Courier.RepositoryProviders.Local.GetChildren(ItemIdentifier itemID) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(ItemIdentifier itemId, Boolean includeChildren, Int32 maxDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(List`1 items, Int32 maximumDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(RevisionManifest manifest) at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 4/16/2013 11:29:45 AM
If I check the courier logs, I will see the above error, but I also see this error:
4/16/2013 11:24:02 AM; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider' id: e0474ca8-e73b-11df-9492-0800200c9a66: Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place
at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
Ok...so localhost isn't working. Now I log into the qa server to check that site out.
If I go to courier and click the locations tab, I see that there are two locations with the name 'adsd' which was not the name that I use and the description is 'Location could not be loaded, this could be a configuration error, or because Courier is running in trial mode, and cannot not load locations not on the local machine' for both of them.
The deploy folder displays the same error and also receive the same error when I actually try to transfer an error.
Is there any other information that I could send you that would be helpful? I'd be happy to screen share if it helped solve this issue. We're kinda far into development to rollback umbraco to a v4 site that might work.
I'm feeling that I'm not alone since I'm seeing multiple entries in our.umbraco.org like this one:
I've tried to repro this locally and cannot get the same behavior - it works just as expected. The common theme across this thread seems to be the licenses...can you all verify the license you are using is valid for the domains you are using them on? If I use an invalid license (one not including the domains I'm using) I get some errors - different from what is reported here though. Send us a note via the license support section of your umbraco.com profile if you have questions about your license.
Also, can you all verify you don't have more than one version of the Umbraco.Courier.Persistence.*.NHibernate.dll in the bin? If you did an upgrade or had an older install this might leave relics. Just verify against the hotfix package /bin/ to make sure.
I just re-downloaded my license and replaced it and I'm still getting the same error. I also checked the NHibernate dll's and they were exactly the same. I had not done an upgrade since it never worked for me to begin with. The license should work with all subdomains right? For instance, if my domain is acme.com, staging.whatever.acme.com should still work, right?
Yes the license works with all domains...but works *better* if we add a 2+ part prefix to the binding as the design (per the 3rd-party licensing we use) is:
*.domain.tld rather than *.*.domain.tld
It's worth a try, so send us a request from your umbraco.com profile...as this seems the most likely culprit at present.
Well, I do need it to work with both staging.whatever.acme.com AND whatever.acme.com. So would what you are suggesting prevent me from doing so since it would then always expect a 2+ part?
Kept at it and was able to reproduce finally...seems it is a license issue. If you'll contact us via your umbraco.com profile Courier or License support form we'll get you sorted out right away.
I changed the license to the full version of courier, and all of my issues locally have gone away. I'm still experiencing errors on dev/qa environments. Every time I click locations, I see this:
System.TypeInitializationException: The type initializer for 'Nested' threw an exception. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Web.HttpException: Request is not available in this context at System.Web.HttpContext.get_Request() at Umbraco.Licensing.Validator.ValidateLicense(EncryptedLicense license) at Umbraco.Licensing.Validator.Check() at Umbraco.Licensing.Validator.IsTrial() at Umbraco.Courier.Core.Licensing.InfralutionLicensing.IsLight() at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types) --- End of inner exception stack trace --- at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) at System.Activator.CreateInstance[T]()
And one more thing...are these on IIS 7 with Integrated Pipeline...vs. Classic? Also, make sure you've updated to the latest license file on all instances.
Not positive, but it looks like tge request for get_Request() happens before there is a request - as in global.asax. If so, issuing a request first - say from a browser - might fix it up.
The latest licensing dll does indeed fix the error described in the original post, but now I'm having different issues. I go through the process of trying to deploy content from my dev to staging environment and when the extraction process nears an end, the courier dialog just goes blank (see attached). Also, on the recieving end (staging) I see a lot of the files successfully transferred, however none of my content, document types, etc show up in the back office. Not exactly what I was hoping for, haha.
Courier 2.5 Express fails
I have spent several hours now searching on Internet to solve this problem but I am not able to find a solution.
We have bought the licence for the Courier Package but it seems is not working for some reason.
This is the log message related to the error:
20/03/2013 15:17:54; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider' id: e0474ca8-e73b-11df-9492-0800200c9a66: Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place
at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
Just an update:
The Courier version installed is: 2.7.5
Courier Licence: express
Umbraco version: v6.0.2
How come it says "you do not have the right licensing in place" when I have bought the licence?
It there something wrong with the licence?
Please help
Thanks
Robert
In the meantime I have created a fresh Umbraco 6.0.2 project (thinking I would avoid conflicts with other installed packages on the existing application), installed the latest Courier version and I have copied in the licence file and I get the same error.
Thanks
Robert
I'm trying to apply the patch (Courier_2.7.5.89.hotfix.v6.zip). The only problem doing this is that the sql commands inside the app.sql are failing.
This is because the umbracoApp and umbracoAppTree tables doesn't exist.
Is there anything I'm missing?
I am afraid I won't be able to debug this anymore as I have no other clues :(
We bought the licence for this Package, though, and I think is fair we to get an answer as soon as possible.
Thanks
Robert
I'm getting the same error when trying to deploy simple content to production site.
I'm running MySql on both development and production server. Not sure if this has something to do with it but it was mentioned in another post that it might have to do with the datalayer for NHibernate.
Regards,
Tue
I was able to solve the problem now installing Courier 2.7.5 build 89 from the nightly repository: http://nightly.umbraco.org/UmbracoCourier/2.7.5/nightly%20builds/
This works fine for me using Umbraco 4.9 and 4.11.
I had to rollback from Umbraco 6.0.2 as it wasn't necessary in my case to use the latest release of Umbraco.
Hope this helps!
Robert
I am also experiencing the same issue with Umbraco 6 and the Courier. The depoly screen shows the same error as shown in the screenshot above and the courier logs give the same error regarding licensing. It actually worked when using the trial mode but started giving the errors after I paid for a license and added the license file.
Which versions of Courier are known to be compatabile with Umbraco 6? Is there a known cause for the abover error?
Any suggestions would be useful.
Thanks
I'm having this problem as well. How can 3 weeks go by and none of the Courier threads that contain this error have any responses from the Umbraco team? We have multiple sites running Umbraco 6.0.3 and we have purchased multiple Courier licenses and there really isn't much of an excuse for this. Was this even tested at all with Umbraco 6 as it seems that this is happening to everyone that is using Umbraco 6, even though the package says it supports v6. I usually am not one to complain, but this is just ridiculous. Can we get a response from the Umbraco team? Even just a "we're working on it, eta is xxx" would suffice so I can have something to go back to our clients with. Thanks!
Below is a response I have received after sending this post to the helpdesk.
'Can you makes sure you have installed the V6 version of Courier? You can download it here http://our.umbraco.org/projects/umbraco-pro/umbraco-courier-2 and then install as a local package. The error is generic, but it seems like it can't find the right nHibernate dll's - which would indicate you may have the wrong version.'
In my case I have downloaded the correct package so it doesn't solve my problem...but will hopefully help someone else.
I personally have tried builds from the repository, from the courier page, and also from the nightlies. None have worked. I'm still a bit perturbed that there hasn't been an official response in weeks.
I'm getting a similar error. Posting it here so I can send it on to HQ.
Where do I start with my errors. First, I double checked to make sure my license was correct and that I could use it which according to the email from you guys it was.
I am currently running 6.0.2 and installed Courier 2.7.5.1.90 v6.
Please read through the entire email as I'm gong to display a bunch of errors.
I installed it without any errors. Once it's installed, if I click the deploy folder, I see the following error:
The given key was not present in the dictionary.
[KeyNotFoundException: The given key was not present in the dictionary.]
System.Collections.Generic.Dictionary`2.get_Item(TKey key) +10568145
Umbraco.Courier.Core.PersistenceManager.get_Default() +76
Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() +18
Umbraco.Courier.ItemProviders.DataTypeProvider.AvailableSystemItems() +8
Umbraco.Courier.UI.Pages.SimpleRevisionDeploy.<Page_Load>b__0(ItemProvider p) +19
System.Linq.WhereListIterator`1.MoveNext() +56
System.Web.UI.WebControls.ListControl.PerformDataBinding(IEnumerable dataSource) +9555679
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +113
System.Web.UI.WebControls.ListControl.PerformSelect() +34
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +30
Umbraco.Courier.UI.Pages.SimpleRevisionDeploy.Page_Load(Object sender, EventArgs e) +199
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
So I added my repository's and they appear on localhost as available locations.
I then publish the site to a QA server which has an exact copy of the database (double checked this).
So now I try to deploy from localhost to my qa server.
I right click the item I wish to deploy and select the environment that I wish to send to (qa), keep 'yes' checked, and click 'deploy'. I immediately receive this error:
error:System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) at Umbraco.Courier.RepositoryProviders.Local.GetChildren(ItemIdentifier itemID) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(ItemIdentifier itemId, Boolean includeChildren, Int32 maxDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(List`1 items, Int32 maximumDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(RevisionManifest manifest) at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 4/16/2013 11:29:45 AM
If I check the courier logs, I will see the above error, but I also see this error:
4/16/2013 11:24:02 AM; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider' id: e0474ca8-e73b-11df-9492-0800200c9a66: Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place
at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
Ok...so localhost isn't working. Now I log into the qa server to check that site out.
If I go to courier and click the locations tab, I see that there are two locations with the name 'adsd' which was not the name that I use and the description is 'Location could not be loaded, this could be a configuration error, or because Courier is running in trial mode, and cannot not load locations not on the local machine' for both of them.
The deploy folder displays the same error and also receive the same error when I actually try to transfer an error.
Is there any other information that I could send you that would be helpful? I'd be happy to screen share if it helped solve this issue. We're kinda far into development to rollback umbraco to a v4 site that might work.
I'm feeling that I'm not alone since I'm seeing multiple entries in our.umbraco.org like this one:
http://our.umbraco.org/forum/umbraco-pro/courier/39432-Courier-25-Express-fails?p=0#comment146826.
Thanks, for your help,
Chad
Hey all -
I've tried to repro this locally and cannot get the same behavior - it works just as expected. The common theme across this thread seems to be the licenses...can you all verify the license you are using is valid for the domains you are using them on? If I use an invalid license (one not including the domains I'm using) I get some errors - different from what is reported here though. Send us a note via the license support section of your umbraco.com profile if you have questions about your license.
Also, can you all verify you don't have more than one version of the Umbraco.Courier.Persistence.*.NHibernate.dll in the bin? If you did an upgrade or had an older install this might leave relics. Just verify against the hotfix package /bin/ to make sure.
-Paul
Hey Paul,
I just re-downloaded my license and replaced it and I'm still getting the same error. I also checked the NHibernate dll's and they were exactly the same. I had not done an upgrade since it never worked for me to begin with. The license should work with all subdomains right? For instance, if my domain is acme.com, staging.whatever.acme.com should still work, right?
Thanks!
Hi Michael -
Yes the license works with all domains...but works *better* if we add a 2+ part prefix to the binding as the design (per the 3rd-party licensing we use) is:
*.domain.tld rather than *.*.domain.tld
It's worth a try, so send us a request from your umbraco.com profile...as this seems the most likely culprit at present.
-Paul
Well, I do need it to work with both staging.whatever.acme.com AND whatever.acme.com. So would what you are suggesting prevent me from doing so since it would then always expect a 2+ part?
Hey all -
Kept at it and was able to reproduce finally...seems it is a license issue. If you'll contact us via your umbraco.com profile Courier or License support form we'll get you sorted out right away.
-Paul
@Michael - no, we'll add both for you.
-Paul
Thanks Paul! I'll contact the license support right away. :)
Well that's a bugger. I just go an email this morning saying that my license was fine. I just sent out another email just in case.
Hi Chad
Thanks for the bug report, found the issue, have it fixed and pushed it to the build server.
It's not caused by neither Courier nor Umbraco 6.0.2, but by the express licensing specificly.
Will update the thread when the build is ready
/Per
Build is ready, labelled as 2.7.5.2:
http://nightly.umbraco.org/UmbracoCourier/2.7.5.2/nightly%20builds/
There has only been a single change, which is fixing a dll lookup in the licensing to be much less strict.
/Per
I changed the license to the full version of courier, and all of my issues locally have gone away. I'm still experiencing errors on dev/qa environments. Every time I click locations, I see this:
System.TypeInitializationException: The type initializer for 'Nested' threw an exception. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Web.HttpException: Request is not available in this context
at System.Web.HttpContext.get_Request()
at Umbraco.Licensing.Validator.ValidateLicense(EncryptedLicense license)
at Umbraco.Licensing.Validator.Check()
at Umbraco.Licensing.Validator.IsTrial()
at Umbraco.Courier.Core.Licensing.InfralutionLicensing.IsLight()
at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
at System.Activator.CreateInstance[T]()
Hi Chad -
Is this with the 2.7.5.1.90 v6 bits or the bits @Per put up here: http://nightly.umbraco.org/UmbracoCourier/2.7.5.2/nightly%20builds/
Also, can you post your definition for your locations from courier.config...these are standard 6.0.2 running on IIS right?
-Paul
@Chad -
And one more thing...are these on IIS 7 with Integrated Pipeline...vs. Classic? Also, make sure you've updated to the latest license file on all instances.
Not positive, but it looks like tge request for get_Request() happens before there is a request - as in global.asax. If so, issuing a request first - say from a browser - might fix it up.
-Paul
I think my issue was that I needed to republish the site entirely. I have it working in QA, and am now getting it to work in our dev environment.
-C
Chad, I think that license error is because of an out of data license dll on the qa env, old bug, which has been fixed befoe.
get the latest licensing dll from nightly.umbraco.org
The latest licensing dll does indeed fix the error described in the original post, but now I'm having different issues. I go through the process of trying to deploy content from my dev to staging environment and when the extraction process nears an end, the courier dialog just goes blank (see attached). Also, on the recieving end (staging) I see a lot of the files successfully transferred, however none of my content, document types, etc show up in the back office. Not exactly what I was hoping for, haha.
I'm getting a similar thing. Here's what shows in the error file:
5/30/2013 4:23:22 PM; System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.Monitor.Enter(Object obj)
at Umbraco.Courier.RepositoryProviders.Local.SaveResourceContents(ItemIdentifier itemId, Type itemType, Resource resource, String revisionAlias)
at Umbraco.Courier.Core.Packaging.RevisionPackaging.completeQueue()
at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package()
at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value)
5/30/2013 4:23:22 PM; Tried saving C:\DevSite6\app_data\courier\revisions\__0311e150-35ae-4661-86d8-198c583f44ec\resources\media\new_home_images\home_image1.jpg to:
C:\DevSite6\app_data\courier\revisions\__0311e150-35ae-4661-86d8-198c583f44ec\resources\media\new_home_images\home_image1.jpg
Folder:
System.Threading.ThreadAbortException: Thread was being aborted.
at Microsoft.Win32.Win32Native.CreateFile(String lpFileName, Int32 dwDesiredAccess, FileShare dwShareMode, SECURITY_ATTRIBUTES securityAttrs, FileMode dwCreationDisposition, Int32 dwFlagsAndAttributes, IntPtr hTemplateFile)
at Microsoft.Win32.Win32Native.SafeCreateFile(String lpFileName, Int32 dwDesiredAccess, FileShare dwShareMode, SECURITY_ATTRIBUTES securityAttrs, FileMode dwCreationDisposition, Int32 dwFlagsAndAttributes, IntPtr hTemplateFile)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at System.IO.File.WriteAllBytes(String path, Byte[] bytes)
at Umbraco.Courier.RepositoryProviders.Helpers.LocalIO.SaveFile(String path, Byte[] contents, Boolean overwrite)
I can't even count the hours I've spent trying to get courier to work :(
is working on a reply...