I'm installing a trial version of Episerver using NuGet on Windows server 2012. I follwed the documentation on the website except I installed the WebForms sample site instead of the MVC one. When I clicked on "Start/F5" to launch the website it gave an error that a file was not found (a 500 server/runtime error with the words "The system cannot find the file specified". The stack trace contained an error that it couldn't contact the SQL server.
This server has SQL Server Express installed on it, along with Management Studio. I tried to modify the connection string to use ./SQLEXPRESS instance but the site still won't load. I was not able to move the databse into my SQL Server Express instance.
At this point, the website can't load and I noticed there is no default.aspx file in the site.
I looked for documentation on how to get a webforms website working but could not find any.
Anyone know how to get this site working? I believe it is the latest Episerver version 10.0.1.202.
More than likely this is due to no start page being set. If if is a new site, you don't have a "Start Page" to display. Go to admin mode, then go to manage websites and see if you have a website listed there.
When installing like that you could be missing so many thing it is hard to actually help you. But the 500 error sounds like something is missing in your installation. When installing a site for demo purpose I sugest you use the VS template installer from episerver. With that you will get a full website. But to get that site up and running you also need to have sql server for the db to be installed to.
VS Template: https://marketplace.visualstudio.com/items?itemName=EPiServer.EpiserverCMSVisualStudioExtension
You could if you just need a demo, install epi in azure, https://azure.microsoft.com/en-us/marketplace/partners/episerver/episervercms/
For troubleshooting try to browse youlocalurl/episerver to access admin and see if that is working.
If the installation fails and the site do not start you are most likely missing something on your server. You could go to web.config and turn of all custom- and httperrors so that you can get the actuall error message.
And you will not find a default.aspx if I remeber correctly since episerver do not need one of those to start and it also depends on how the website has been developed.
Thanks for the replies. As this is my first time trying out Episerver, and I haven't been able to get it working, I don't know how to execute "go to admin mode" - sorry.
This is the documentation I followed: http://world.episerver.com/documentation/developer-guides/CMS/getting-started/
Except once I got to Creating Your Project I did not install an empty project, I installed the Alloy Sample Site for WebForms. At that point I could not start anything so I cannot continue. This is what I did.
I installed Episerver via Visual Studio extensions as suggested, but it did not work the first time. I got error "Object reference not set to an instance of an object" in a dialog box. Then I updated the NuGet package manager and tried to install the extension again, and it worked. Next I went to File, New and made an Alloy (WebForms) site. The documentation led me to believe that this was a sample site, so I don't understand how there is no "Start Page" enabled.
The error I get was that SQL Server was not found or could not be contacted. I have SQL Server 2012 Express installed on the same machine, but the web.config file does not point to my SQL Server instance, it points to (local). I would eventually like to know how to move the database out of App_Data and into a separate SQL Server, but before all that I'd like to just get it working at all!
Here is the stack trace of the error I am getting.
Server Error in '/' Application.
The system cannot find the file specified
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ComponentModel.Win32Exception: The system cannot find the file specified
[No relevant source lines]
Source File: c:\Users\testuser\AppData\Local\Temp\2\Temporary ASP.NET Files\root\2e19b4cc\37c05b3d\App_global.asax.0.cs Line: 0
[Win32Exception (0x80004005): The system cannot find the file specified]
[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +92
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +285
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover, SqlAuthenticationMethod authType) +372
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +172
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +849
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +320
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken) +591
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +304
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +38
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +681
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +89
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +426
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +191
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +154
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +21
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +90
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +166
EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute(Func`1 method) +706
EPiServer.Data.Providers.Internal.SqlDatabaseHandler.GetConnection(Boolean requireTransaction) +373
EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute(Func`1 method) +706
EPiServer.Data.Providers.Internal.SqlDatabaseHandler.Execute(Func`1 action) +202
EPiServer.Data.SchemaUpdates.Internal.DatabaseVersionRetriever.GetDatabaseVersion(Boolean forceRefresh) +102
EPiServer.Data.Internal.DatabaseVersionValidator.GetStatus(ConnectionStringsSection connectionStrings) +86
EPiServer.Data.SchemaUpdates.Internal.<>c__DisplayClass6_0.<EnsureDatabaseSchema>b__0(IDatabaseSchemaUpdater u) +32
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +387
System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
EPiServer.Data.SchemaUpdates.Internal.DatabaseSchemaManagerImplementation.EnsureDatabaseSchema(ConnectionStringsSection connectionStrings, Boolean automaticSchemaUpdatesEnabled, Boolean automaticSchemaCreationEnabled) +110
EPiServer.Data.DataInitialization.ValidateDatabaseSchema(InitializationEngine context) +153
EPiServer.Data.DataInitialization.Initialize(InitializationEngine context) +25
EPiServer.Framework.Initialization.Internal.ModuleNode.Execute(Action a, String key) +52
EPiServer.Framework.Initialization.Internal.ModuleNode.Initialize(InitializationEngine context) +80
[InitializationException: Initialize action failed for Initialize on class EPiServer.Data.DataInitialization, EPiServer.Data, Version=10.0.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7]
EPiServer.Framework.Initialization.InitializationEngine.ExecuteTransition(Boolean continueTransitions) +114
EPiServer.Framework.Initialization.<>c.<FrameworkInitialization>b__7_0(InitializationEngine e) +9
EPiServer.Framework.Initialization.InitializationModule.EngineExecute(HostType hostType, Action`1 engineAction) +365
EPiServer.Framework.Initialization.InitializationModule.FrameworkInitialization(HostType hostType) +170
ASP.global_asax..ctor() in c:\Users\ateam.LAMBTON\AppData\Local\Temp\2\Temporary ASP.NET Files\root\2e19b4cc\37c05b3d\App_global.asax.0.cs:0
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +119
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +232
System.Activator.CreateInstance(Type type, Boolean nonPublic) +83
System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object args, CultureInfo culture, Object activationAttributes, StackCrawlMark& stackMark) +1117
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object args, CultureInfo culture, Object activationAttributes) +124
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object args, CultureInfo culture) +20
System.Web.HttpRuntime.CreateNonPublicInstance(Type type, Object args) +60
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +260
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296
[HttpException (0x80004005): Exception has been thrown by the target of an invocation.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +10021600
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34274
[Pasting files is not allowed]
At first glance, looks like the connectionstring is wrong.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
I would first make sure you can connect to the database and then try again. to get to admin mode, "/util/login.aspx" will be the first place which if it is default, will use the multiplexing provider so enter your windows username and password.
You will need to get some knowledge about sql and to managed that. But to make your site work locally you could install the sql for localdb.
You should be able to install that when you install an express version. Just make sure you add that to the installation.
If you like to connect to a db in you ordinary sql or sql express you could just create an empty db in management studio. Then you set user and a password for that db. The user should be owner.
Use that information in the connectionstring instead of the old one, example:
To make this work you will need to have these settings in your web.config-file:
If you have the above settings episerver will create tables and sp for you in the db. It will be empty but it will work as an epi db.
Hi Eric, great, thanks.
I'm pretty disappointed that the Episerver trial doesn't actually work out of the box.
I will try to build a new database as you suggested. I would much rather use my existing SQL installation than have to install a new one, because we need to have our database on a separate server in the long run.
I have been able to attach the provided database to my SQL Server instance (using this method 1: http://blog.sqlauthority.com/2010/04/26/sql-server-attach-mdf-file-without-ldf-file-in-database/) and I was surprised to see there is no content or tables, just as if I had created it new.
Can you confirm, if the "Alloy" MVC and WebForms websites are actually supposed to have content? I thought they were sample sites.
Well since episerver cant know what you have installed and what you would like out of the box they have instead put the cloud version if you have a cloud account that is availble.
But you should not need to install a new sql server you can always use the existing one if it has the requirements for the version av epi you would like to install. In this case you either need to update your local installation with the "localdb" pack that comes with the sql server exrepss installation. This is not default from microsoft though but you will also get it with VS if i remember correct.
Yes the sample site have content but since the site did not startup the content was not installed. If i remeber correct ther is a defaultcontent-file in the appdata folder that is pushed to any empty db on startup for the alloy template.
If you can get the site to startup with the just an empty db the content can be pushed to that db. Therefore you do not need the mdf that you had, just an empty db. And if you have the setting i mentioned earlier episerver will push information regarding tables and SP to you empty DB, creating a "epi" db.
Okay, thanks Eric.
Actually I have tried 5 other (non-cloud) CMS trials and all of them had working sample sites, Episerver is the first one that won't load and requires me to do a lot of extra work to get it going. So I don't think it's because I don't have a cloud account as other CMSes worked fine. Sometimes the installer asks where to put the database (lets me pick SQL Server instance, database name and user, etc) and one other one put it in the App_Data folder but it still worked even though I didn't know where the database went. And most of the other CMSes allow support tickets with trial versions while Episerver does not, so I'm really glad you guys are helping me.
I'll keep working at it this evening with your connectionstring example above, (so far no luck though, but I'll try different things) and hopefully I'll be able to get it going by tomorrow.
Thank you again.
I had to do exactly like Eric said and set up my own database and then tell the web.config file to configure it.
I wish this was in the documentation!
I am surprised the Alloy website has content when the database is empty. I will now research how content is actually stored.
Thanks Eric for your assistance.
Super. In earlier versions of epi you were also asked for were to put the db. They had an installer. But since they are now cloud friendly and specially more developer friendly the have skipped that part an now rely on us to have the right configurations on our machines. As a developer I like this way of installing the CMS since I have more control but at the same time I can understand that it is a bit tricky to get a demo website up and running. And yes the documentation on how to get a site up and running could be a bit more extended :)
For the allloy content to be installed you can have a look in the app_data folder for the package I mentioned earlier. If the db you have is empty episerver can setup that content for you. But you will need to do some things manually.
The alloy package is actually doing this when you startup the website, installing the DefaultSiteContent.episerverdata located in the app_data folder.