Version 1.0
May 29, 2010
Copyright 2010 by Jamal Mazrui
GNU Lesser General Public License (LGPL)

The .NET Framework is a strong choice for software application developers. It has a comprehensive, consistent, and generally well-documented class library that is free to use in any project. Depending on personal preferences, one can code in C#, Visual Basic, JScript, F#, IronPython, IronRuby, or other languages. Programs may be built with either integrated development environments, or with text editors and command-line compilers.

The .NET Framework integrates two major accessibility APIs: the older, Microsoft Active Accessibility (MSAA), and the newer, User Interface Automation (UIA). While Gaps remain, there is much accessibility support for both developers and users of this platform. People with disabilities can thereby be involved in both the development and use of .NET-based applications.

A Microsoft FAQ on the .NET Framework is at
http://msdn.microsoft.com/en-us/library/ms973850.aspx

The Microsoft accessibility development center is at
http://msdn.microsoft.com/en-us/windows/bb735024.aspx

Some open source, .NET accessibility tools may be found there, as well as with a Google search like
site:codeplex.com accessibility

One potential obstacle is that clients may not have the version of the .NET Framework already installed that an application needs. I found a good solution for this problem with Version 2.0 of the .NET Framework, using the Microsoft Component Installer Software Development Kit, available at
http://www.microsoft.com/downloads/details.aspx?familyid=2A5E4EBC-651C-40AA-9525-1810AF47C317&displaylang=en

However, I could not find a free, sufficiently automated solution for later versions of the Framework. GotNET is a free, open source program I have developed in attempt to address this need. It can check whether the most common versions of the .NET Framework are installed, and do so for one or more of them via the Internet if not found: version 2.0, 3.5, or 4.0 (released last month).

An executable installer for GotNET is available at
http://EmpowermentZone.com/netsetup.exe

Alternatively, a zip archive for manual installation is available at
http://EmpowermentZone.com/netsetup.zip

End users may run the GotNET installer to ensure they have .NET available for any applications that may need it. More importantly, the GotNET.exe utility in the distribution is available for .NET developers to bundle with their applications, thereby ensuring that necessary prerequisites are installed.

Source code for GotNET.exe is in the file GotNET.bas, written in the language of the PowerBASIC compiler, which is commercially available at
http://PowerBASIC.com

The PowerBASIC code essentially makes calls to the Windows API, and may be translated into other languages that support direct calls to the API. Other executables in the distribution are Microsoft web-client installers for particular .NET Framework versions, which retrieve necessary files from the Microsoft.com site: PSetup.exe for version 2.0, dotNetFx35setup.exe for version 3.5, and dotNetFx40_Full_setup.exe for version 4.

The command-line syntax of GotNET.exe is

GotNET.exe FrameworkVersion InstallerExecutable AdditionalParameter

The batch files GotV2.0.bat, GotV3.5.bat, and Gotv4.Bat illustrate use of these parameters. Each batch file checks whether a particular Framework version is installed. If that version is found, a confirmation message is printed to the console. Otherwise, the appropriate installer executable is launched. If no parameters are passed to GotNET.exe, a message box shows what .NET Framework versions are currently installed according to the Windows registry. To save this information, you can press Control+C to copy it to the Windows clipboard, and then paste it elsewhere.

The file netsetup.iss is a script file that was used to build the GotNET installer, netsetup.exe, using the free Inno Setup software, available at
http://InnoSetup.org

The installer puts the GotNET distribution in the following default location:
C:\GotNET

It then runs GotNET.exe without parameters to show what .NET Framework versions are currently installed. At the end of the installation process are checkboxes for installing particular versions if not found. Shortcuts are created in a GotNET program group of the Windows Start Menu to support the same choices at a later time. Other such shortcuts are available for reading the GotNET documentation, viewing its license, or uninstalling it (but not .NET Frameworks that it may have been used to install). A desktop shortcut is also created for showing Framework installations.

A developer of a .NET-based application would not include most of these tasks in his or her application installer. Rather, just some , specific instructions in The script file netsetup.iss could be copied, thereby ensuring that .the necessary NET prerequisites for the application are installed. Only instructions related to the particular .NET version would be included. Alternatively, any installer software that can call GotNET.exe can accomplish the same task. Only this file and the Microsoft web-client installer for the particular .NET version would have to be distributed with the application. Since .NET versions can coexist side-by-side, a developer need not be concerned about one version interfering with another.