Best way to package and deploy MVC3 applications at client sites - asp.net-mvc-3

What is the best way to deploy an MVC3 application to a client site? Now I can create a deployment package using web deploy and possibly give them a script to deploy the files on their IIS servers. But is there any other way? I just want to give them a one-click option after they download the application, if that makes sense.
Also, is there a good way to obfuscate MVC3 application as a whole?

You will need a script to deploy your MVC application files, as well as the MVC required DLLs to the web server. In your script you can have it so that it creates the application in IIS to the appropriate application code.
As for a "One Click" type deployment, you'll have to have some knowledge of how their IIS is setup and what they are willing to do with virtual directories.

Related

What is the best practise for configuring Web-Handler mappings in IIs 8.5?

We've moving a legacy application from 2003 to 2012R2.
As part of this we're using a legacy deployment script which deploys the site code, including its web.config file.
In prepping the servers I wrote powershell scripts to set up as much as possible of the previous manual config. This included new-webhandler calls to add web handlers.
These are over written by the deploy.
What is the best practise for managing the conflict between occasional deployments and ongoing support?

Hosting MVC Core Application without publishing

We started to work in a MVC core application. I have seen many web sites about hosting Core applications after publishing. Can we host a MVC core web app without publishing, that is copy all files from local to server machine using ftp as we do in asp.net project? Since it is in development stage there is lot of changes in every day and it is difficult to upload these changes after publishing.

Deploy ASP.Net site to windows server

I have been developing an ASP application which I have almost finished. It accesses a SQL database on a Windows sever on AWS. I would like to deploy my application to AWS though.
Does anyone have any suggestions about how I should do this?
Refer to the Deploying an asp.net application thread that contains all necessary information and step-by-step instructions on how to accomplish this task.
If you are deploying an MVC application, check whether the hosting provider provides the support for MVC hosting. Just right-click on the solution and select Publish. Then copy the files into the hosting space.

URL Redirection for localhost With IIS Express

Environment : Development
Technologies Used : ASp.Net MVC 3, ASp.Net Web Forms, IIS Express, VS 2010 SP1.
Scenario :
We have implemented separate website module as actual separate .Net solutions. eg.
For User Account related features, site runs at localhost:7080/.
For search, site runs at localhost:7020/
And a project holding common UI element runs at localhost:7090.
While our main site using all these separate modules runs at localhost:8000. This is the only application which is in ASp.Net webforms (it's legacy code.)
This setting allow us to deploy only required module(s) in production.
In production, these sites has urls like,
www.example.com/account
www.example.com/search
www.example.com/common
Each of these project is actually a separate website in IIS and a redirect engine redirects the URL to appropriate website.
Problem :
All is good and fine in production, the challenge is only in development environment. We cannot use full IIS due to restrictions from system admin teams (humph) and have to use IIS Express.
What we want is to achieve this,
[http://]localhost:8000/useraccount redirects to [http://]localhost:7020
[http://]localhost:8000/search redirects to [http://]localhost:7080
etc. In short we want to mimic our production environment.
So is there any suggestion about what kind of URL redirection I can use to achieve this ? I did a fair bit of research but couldn't figure out a solution.
Why can't you do it exactly the same as production? IIS Express supports the url rewrite module which I assume is how you do it with the full version of IIS. Install webmatrix which includes the rewrite module by default and you can use the webmatrix gui to configure IIS express and your rewrite conditions.

Deploy cookie cutter websites

I'm working with a series of sites that all share the same back and middle tiers. The front-end has site-specific headers/footers, store email addresses and a few other app-specific settings.
I've never been exposed to the ways larger dev shops and automated deployments so the more common and obvious approaches will be right on over my head.
I'm trying to setup a scenario where, upon deployment, the new assemblies are propagated across each of the cookie cuttered sites with enough logic that each site applies the relevant settings.
Is this just a matter of laying out a series of MSBuild or PowerShell commands that iterate thru all settings for each site? Or perhaps databased values mapped to site-specific settings that are applied by code in the AppStart event?
thx
If you use Web Deploy, you can create a package with parameters for certain components that will change at deploy time, and then specify values for those parameters when you deploy. The following resources have more information:
Customizing a Deployment Package
Web Deploy Parameterization in Action
Web Deploy: Replace Rule vs. Parameterization
Packaging and Deploying Web Applications for the Visual Studio Development Web Server
Team Build + Web Deployment + Web Deploy + VS 2010 = Goodness

Resources