Deploying
From Visual WebGui Wiki
| This article missing it's contents and needs writing. Please help contributing to this wiki and add contents. |
Deploying a Visual WebGui application
Follow these three simple steps to deploy a Visual WebGui application:
- Register the Visual WebGui extension you will be using, as a recognized extension of your IIS. By default this is *.wgx, but it can as well be *.ashx or any other available extension.
- If you would like to use a different extension for Visual WebGui applications, view this article here. In the case you use an ASP.NET extension will not need to to register it as it is already registered.
- You can find IIS version specific articles linked in the "Deploy to IIS" section below, explaining how this should be done.
- In IIS7, make sure you remember setting the extension so that you clear the "Invoke handler only if request is mapped to".
- Visual WebGui has no deployed phisical files specific to Forms, as the applications are contained within a *.dll file.
In IIS v5.1 and v6, there is a setting in the "Extension Mapping" dialog called: "Check that file exists".
You need to uncheck this checkbox, otherwise your application will not load in deployment. In IIS7 this setting is unchecked by default. - Copy the following to your Virtual Directory:
- The "bin" directory (without the contained assembly related *.pdb and *.xml files).
- The "Web.config" file. This file is not copied by the MS Visual Studio "Publish" action and is absolutely critical for deployment.
- The "Resources" directory (if exists).
- The "bin" directory (without the contained assembly related *.pdb and *.xml files).
As an alternative to step 3, you can use the MS Visual Studio 'Publish' tool.
Do be aware that this tool will not copy the Web.config file in most cases, so you will need to copy it manually.
General concerns when deploying your Visual WebGui application to IIS
- On IIS7 64bit with .NET4.0 installed for example you you have four different mappings registered to this extension: .NET2.0 32 bit, .NET2.0 64bit, .NET4.0 32bit and .NET4.0 64bit.
You will need to register the mapping that suits your .NET version used by your Visual WebGui application.
You can register more than one handler mapping for the same extension, using different handler mappings, and the one most suitable will be selected upon request. - When assigning your application to an application pool, you must select an application pool that you have set for the correct version of the .NET framework.
For Visual WebGui application built in Visual Studio 2005 or Visual Studio 2008, you would set your application to use the v2.0 of the .NET framework, and for application built in Visual Studio 2010, you would set the application pool to use the v4.0 of the .NET framework. - Currently, Visual WebGui assemblies are compiled for 32bit only, which means that running it on 64bit IIS, you need to set the application pool's properties such that it allows 32bit application.
This setting is within the advanced settings of the application pool, named "Enable 32 bit applications". - You may also have the option of setting your application pool's Managed Pipeline Mode, and the options are either Classic or Integrated. Visual WebGui applications have their web.config by default set for Classic mode, and to use them in Managed Mode (Integrated) you will need to make minor changes to your web.config.
See the forum threads section below for a link to more information. Please also note that in IIS7 and newer, the DefaultAppPool (which users most often choose by default) is in Integrated mode, so to use your Visual WebGui application without changing web.config during deployment, then use the "Classic .NET AppPool", or the equivialent .NET 4.0 one. - If you are using a proxy server / load balancer / firewall, you may want to look at the configuration options listed in this article here.
- If you would like more information on the various Visual WebGui related configuration options in the Web.Config file, please view this article here.
General concerns when deploying to external hosting (goDaddy, DiscountASP.NET ...)
- Deploy using an already registered extension. Using „.ashx“ is a very common choice. You can find information on how to make the necessary changes by following this walkthrough
- Add a „requirePermission = false“ to your configSections on the WebGUI section, so that it starts like the following:
<section name="WebGUI" requirePermission="false" type="Gizmox.WebGUI.Common.Configuration.ConfigHandler,
- Add a „requirePermission = false“ to the WebGUI section, so that it starts like
<WebGUI requirePermission="false">
- Make sure the application pool used for the application is a Classic applicaton. It is very common that the default application pool assigned to your application is the „DefaultAppPool“ and that application pool is using „Integrated“ as it‘s pipeline mode. You can use the Integrated mode, but you may have to change web.config to be able to, so let‘s start with a classic app pool.
- Make sure the application pool used for the application is for the correct .NET version. If you are deploying a Visual Studio 2010 application, the .NET framework used by the application pool must be v4.0.
- Finally, when opening a form in your browser, you need to remember to use the .ashx extension you set in step a) above (http://mydomain/Form1.ashx).
Upgrading a Visual WebGui version for a deployed application:
In this situation you need to replace the Visual WebGui assemblies in the bin directory of your Virtual Directory and possibly update your Resources folder. Please follow either the manual or the Publish methods for deployment above, to replace the assemblies and update your Resources folder.
It is considered best-practice to increment the value of the PrivateVersion configuration in your application's Web.config file.
Deploy to IIS
- Deploying .NET 4.0 applications using IIS 7.x
- Deploying a Silverlight application including DHTML info (includes IIS6 setup info)
- Setting up and deploying to IIS7
Setting up and deploying to Server 2008 R2 32/64 bit
- Making IIS 5.1 Visual WebGui ready
- Deploying to IIS 64 bit and (possibly) required web.config changes
- Deploying 64bit assemblies on 64bit platform
- Deploying ASP.NET applications
- Deploying ASP.NET applications - tutorial, including setup projects
- Deploying VS2010 application on NET4.0
- Register ASP.NET in IIS
- Reverse Proxy setup for IIS7.5
- Reverse Proxy setup using Apache2
Installing the necessary IIS software on the webserver
- Installing Windows Features for IIS on 2008 server - Step1, Step2, Step3
- Installing Windows Features for IIS on Win7 - Step1, Step2
Migrating from Classic to Integrated pipeline mode application pools
- ASP.NET Integration with IIS 7
- Breaking Changes for ASP.NET 2.0 applications running in Integrated mode on IIS 7.0
- Migration Issues with IIS 7's Integrated Pipeline Mode
Deploy with different extension
Forum threads
- Best Hosting?
- Deployment information for GoDaddy hosting
- Deployment information for WebHost4Life hosting
- Turning GZipCompression Off for when going through an ISA server
- Find what exception was thrown on IIS7 with non-classic pool, when all you get is single character in upper left corner
- Changes required for web.config when using DefaultAppPool instead of Classic .NET AppPool
- Deploying to IIS7 using DefaultAppPool
- IIS 6.0 & "Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive."
- Targeting .NET 3.5 framework from a VS2010 application - manual steps required
Other references
- Application pools on IIS7, Integrated (DefaultAppPool) or Classic (Classic .NET AppPool)
- IIS7 Integrated Pipeline mode can give you AccessViolationException - try switching to Classic
- How to Take Advantage of the IIS 7.0 Integrated Pipeline
- ASP.NET 2.0 Breaking Changes on IIS 7.0
Deploy to Apache / Mono
- Deploying Visual WebGui on Mono - Installation and configuration - Walkthrouh like
- Configuration for Mono 2.2 deployment
- Deploying on Mono
- Supported frameworks on Mono
- How to make Apache run ASP.NET and ASP.NET 2.0
- Apache2 config file changes for mod_mono and Visual WebGui
- Deploying Visual WebGui 6.0.4, FrameWork 2.0 to Linux + Mono
- Visual WebGui will support NET3.5 (VS2008) deployment on Mono when Mono adds support for MS .NET 3.5
2 in 1 applications
- Video tutorial: How to create 2 in 1 application
- Updated information on required web.config settings and required contents on Resources folder
- Controls from Gizmox.WebGui.Forms.Office and Extended do not work on 2 in 1 applications
- Adding HomeDirectory to app.config on the client application to point to the correct folder
Cassini Desktop server
- Cassini Desktop Adapter
- Cassini first introduced on the forums
- ScreenCast and code sample on how to use Cassini with Visual WebGui
- ScreenCast on Cassini Desktop Adapter in Seamless mode
- More Cassini screencasts at Geniuscode.net
- Develop in Visual WebGui and deploy to web and desktop
Running Visual Studio's development webserver as a standalone webserver
- WebDev.WebServer for ASP.NET 4.0 as a standaone local webserver
- Adding a shell extension for "WebServer Here"
- Obtaining and configuring WebDev.WebServer for .NET 2.0 (similar procedure for .NET 4.0)
- Using a Proxy to remotely connect to WebDev webserver, which doesn't allow remote connections
See also
- Determining runtime what extension your application is using for deployment
- Visual WebGui Extensions in Deployment
