简体   繁体   中英

How to make my ASP.NET Application Installable on any host

How can I make a setup version from my web application that will allow any user who have the required files to :

  • Provide initial information through a simple interface or editing a file that is required for the website to start (The admin user and password, the production database credentials, etc)

  • Copy the database schema (my application's ordinary tables + the membership tables)

...There's a point I'd like to learn more about but it's not that important at the moment but if you have a link or an idea, it would be great: how to protect my application from users who might buy it and share a copy of it on the internet or with friends!

EDIT

Sorry for replying this late! I was kinda sick yesterday .. Thanks for your time and I'm commenting on your answers right now :)

EDIT 2

AGAIN! .. for who ever voted down my question, please leave an explanation so people including the question owner would learn or put some light on a confusion .. just down-voting it and run is just about you satisfying your need to down vote a question you think might be worng! =)

The only way that I am aware of is creating a installer with Visual Studio, so forgive my ignorance if their is a better way.

You could implement a licensing system on the web application, where it calls a remote server to authenticate every time the application is started (Global.asax).

And for deployment you could create a Application where the user has to input a license key. You then contact your server (website) and authenticate the key. If the key is valid you download all the required files to the user's computer (In a .zip file). Then ask for all the configuration values (Admin user name, password, database name, database host) and create the database schema and copy over the required files, for the website, to their hosting server.

Just a idea, haven't implemented something like this but it should work in theory.

Really depends on the definition of "any host" as there are lots of things one can do on a dedicated box that you can't on a shared box. In any case, if I had to do this today, I would look at creating a wevb deployment package. That will work on anything running 2008, which is most commercial outfits. It will also hand db deployment and config tweaking.

Regarding rights management, the best bet is some sort of system where the app has to ping your service to check licensing -- pretty much the only foolproof way. Of course, unless you got something real special, most people won't bother with anything so encumbered and will likely look elsewhere for a solution. If you are paying, you might as well go turnkey IMHO.

Not to steal answer thunder away from @Wyatt, but this may be the answer that @IKashef is looking for:

Visual Studio 2010 has a feature to package and publish projects to IIS 7 very easily. Please note the following article that walks through how to do this: http://weblogs.asp.net/gunnarpeipman/archive/2009/06/18/visual-studio-2010-web-application-packaging-and-publishing.aspx

It isn't an installer, but it allows for easy deployments from your environment to others. I've read, but can't find articles on how to make this automated into a "standalone installer". I've worked with TFS to use this to deploy to testing servers.

This talks about the 1-click publish a little more: http://vishaljoshi.blogspot.com/2009/05/web-1-click-publish-with-vs-2010.html

Information about the IIS 7 web deployment tools: http://blogs.iis.net/drobbins/archive/2008/01/23/new-web-deployment-tool-for-iis7.aspx

Hopefully this will give you some food for thought. I know it isn't a 100% solution type answer, but deploying/installing a web application is a very open ended question. Questions like, "if and how are you delivering code to your customers" or "are you doing your own hosting" are important to answer first.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM