Using WebDeploy to create a server or site package - .net-4.0

Using Web Deploy I am having problems creating a import server or site package. There appears to be no documentation on this. I am using Windows 7 and IIS 7.5, Web Deploy 2.0.
I want to be able to create a deployment package to include the App Pool and Website information so can be installed at the root of IIS without having to manually create anything.

The article Synchronizing by using Packages details the basic Web Deploy steps for creating a site or server package and then importing it on another server. If you want to package and deploy an IIS 7 Web server, you'd use the webServer provider. If you want to package and deploy an IIS 7 website, you'd use the appHostConfig provider.
To include the app pool in the operation, you'll need to use the -enableLink:AppPoolExtension switch, like this:
msdeploy -verb:sync -source:appHostConfig="Default Web Site" -dest:appHostConfig="Default Web Site",computerName=Server2 -enableLink:AppPoolExtension
For more on the enableLink setting, see Web Deploy Operation Settings. For more on link extensions, see the Web Deploy Link Extensions page.

Related

IIS + ASP.NET Core 6 + Hosting Pack resulting in default document/directory listing error

I'm attempting to get IIS to serve our ASP.NET 6 web application, but every time it complains of needing a default document. If I run the exe (kestrel) one it will serve it, but we want it to be hosted by IIS with the other components of the site.
I installed the 6.0.10 runtime w/ hosting package and these are the results when listing runtimes:
When looking at the site modules, I think it should have what is needed (think the AspNetCoreModuleV2 one handles the compiled routing scenario?):
Have rebooted the server and the app pool specifically, set to No Managed Code, and whenever I attempt to load the page at the localhost level, I get:
The views are compiled so I don't think I even need IIS to open views locally in any capacity.
Everything you've posted ticks off the major deployment steps for hosting a .NET 6 project on IIS:
Installed the .NET Core 6.0 Runtime Windows Hosting Bundle
Set up the IIS app pool with "No Managed Code"
Rebooted the server: "Have you turned it off and on again?"
After our exchange in the comments, the only thing that appeared to be missing is to use the .NET publish command; not the build command.
When deploying to IIS, you'll want to run the dotnet publish command and then deploy those artifacts to your IIS server. From the docs:
The dotnet publish command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution. It's the only officially supported way to prepare the application for deployment. Depending on the type of deployment that the project specifies, the hosting system may or may not have the .NET shared runtime installed on it.
You also may want to review: Publish .NET apps with the .NET CLI.

Deploy website to IIS from linux build agent

Problem description
I have a jenkins master that uses a linux build agent to build my ASP.NET Core websites using official MS linux docker containers.
I previously used a windows VM with the necessary tooling installed to build these projects and used MSDeploy.exe to deploy the sites to an IIS webserver. For this deployment I created a web package.
In my linux docker container I obviously can't use MSDeploy.exe.
Question
How can I savely deploy an ASP.NET Core website to an IIS webserver from a linux docker container?
MSDeploy.exe connects to the IIS using a local IIS Users credentials, shutsdown the app, replaces all files that are also present in the new package, so it not just replaces the files but also does some safety settings around the actual replacement.
Misc
I've found this question here, but unfortunately no real answer was found there.
Thanks in advance

IBM Websphere plugin issue - iisWASPlugin_http.dll Out-of-process ISAPI extension request failed

I attempts to setup IIS (version 6.0, windows 2003 server) sit in front of IBM WAS server so that it can route all specific traffic to IBM WebSphere application server. I've things setup on both UAT and pre-production IIS web server and its works just fine. The problem happens now, however, only in production server. I investigated the websphere plugin logs (defined in plugin-cfg.xml) and found the following errors
iisWASPlugin_http.dll Out-of-process ISAPI extension request failed.
Tried google the solution but no luck.
Setup procedures is summarized below
Install IBM Installation Manager
Install Web Server Plug-ins for IBM WebSphere Application Server and Version 8.5.0.0 through IBM Installation Manager
Copy Plugin-cfg.xml, Plugin-key.db, Plugin-key.sth from WAS to web server.
Configurate IIS web site - create virtual directory named sePlugins, Add ISAPI filter with iisWASPlugin_http.dl, add Web service extension
Create plugin-cfg.loc, paste the full path of plugin-cfg.xml to plugin-cfg.loc
The procedures above already working in UAT and pre-production environment.
Details setup procedures is exactly the same as the url below
http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Ftins_manualWebIIS.html
(Refer to "Configure IIS Version 6.0." section)
Note: IIS have "IIS 5.0 isolation mode" turned on.
Any help / hints is greatly appreciated.
Thanks in advance.
Regards.
The error gone after a server reboot...

How do I manually deploy a .NET MVC app to AWS via Elastic Beanstalk

I'm trying to deploy a simple Hello World ASP.NET MVC 4 app to an free tier EC2 instance using elastic beanstalk. I'm using Visual Web Developer Express (2010) which doesn't support the AWS Toolkit extensions, so how do I deploy the site without the extension?
It seems that with the Elastic Beanstalk web console, you can upload a file as a new applicaiton. But I can't figure out what's supposed to be in the file. Is it a zip containing a published mvc app? I tried that, and when navigating to the instance after it loaded it just displayed the IIS 8 logo. There's a sample zip on a walkthrough page, but it's an old ASP.NET page with 3 xml files in the root. I have no idea what to change in those files for MVC, .NET 4, Server 2012, or IIS 8. I can't find this information anywhere.
I tried creating some EC2 instances manually, remoting in and deploying the site myself. However the free Windows Server 2008 images don't have .NET 4. And the free Windows Server 2012 image doesn't have IIS... I couldn't figure out how to actually deploy my site.
The command line tool that's called by the AWS Toolkit extension can be used manually. Here is the documentation I found on deploying using this tool.
You have to publish your site as a Web Deploy Package in Visual Studio. Then use the tool located in Windows by default at
C:\Program Files (x86)\AWS Tools\Deployment Tool>awsdeploy.exe
You have to pass it a text file that contains the deployment configuration. There's a template for the file at
C:\Program Files (x86)\AWS Tools\Deployment Tool\Samples\ElasticBeanstalkDeploymentSample.txt
The first time I used the tool, deploying the package archive generated by Visual Studio, I still got the plain IIS 8 landing page. However, when I did an incremental deployment, which is done via an extracted version of the archive being pushed to the server, it worked fine.

Unable to launch solution: MyApp is configured to use IIS. The Web server 'http://localhost:64646/' could not be found

When trying to launch solution, I receive the following error:
error : The Web Application Project MyApp is configured to use IIS. The Web server 'http://localhost:64646/' could not be found.
How do I resolve this issue?
I opened IIS and set the TCP port on the Default Web Site to 64646 and the project loaded without error.
You need to install IIS on your development machine.
Using IIS you'll also need to run Visual Studio in Admin Mode as well.
It is recommended that you use IIS Express since it will allow you to run VS without Admin privileges.
You have to install IIS and create the web site in IIS with the matching port number. Someone else created the visual studio web project to use IIS and configured it on their computer. Each person who opens the solution has to have all the websites configured in IIS manually.
You might consider creating a script that auto-creates them in the source repository. You can do it using AppCmd.exe (ADD SITE, ADD APPPOOL, LIST APPPOOL, LIST SITE) (%windir%\system32\inetsrv\AppCmd.exe).