Desktop Developer, "Deploy WinForms on the Web" by Mauro sant'Anna [Visual Studio Magazine, September 2002]

There are two solutions, each with several projects.

1)SOLUTION \artice\WebDeployAll\WebDeployAll.sln
This is the example shown in the article and contains 3 projects:
-BizObj: business class inside a DLL
-CallBizObj: Windows Forms .EXE project that uses the DLL with a reference
-CallBizObjRef: Windows Forms .EXE project that uses the DLL via Reflection

How to Use:
Open and compile the solution. Copy bizobj.dll, CallBizObj.exe, CallBizObjRef.exe and \BizObj\Defaul.htm to a directory in the Web Server. Open the URL in the browser and click on the link. Alternatively you can type on the command prompt start http://myserver/mypath/CallBizobj.exe.

2) SOLUTION \Bonus\MainHost\MainHost.sln
This project uses several visual DLL. The idea is to show how you could break your application so it is downloaded on demand. It has several projects:
-Forms: Class Library project (DLL) that includes three Windows Forms
-Widget1: Simple Windows Control Library project (DLL)
-Widget2: Another simple Windows Control Library project (DLL)
-HostWidget: A Windows Control Library project (DLL) that itself hosts the other two widgets.
-MainHost: Windows Form .EXE used to call other components. This project uses the Host Widget and also instantiate the Forms via menu options.

How to Use:
Open and compile the solution. Copy all the DLLs and the .EXE plus \MainHost\Bonus.htm to a directory in the Web Server. Open the URL in the browser and click on the link. Alternatively you can type on the command prompt start http://myserver/mypath/MainHost.exe.

NOTES:
-If you get a message asking what to do with the application, select Open or Run.
-If you get a Security Exception, see instructions in the article on how to adjust .NET security so as to allow the programs to run.
-The projects use a very public key file MyKey.snk. FOR SECURITY REASONS, DO CREATE ONE KEY FILE OF YOUR OWN.
-If you want to delete everything from the local cache for testing purposes, use the command GACUTIL /cdl.

