Introduction
This is an application for those who want to install .NET web applications but do not want to create a setup application. The code presented in this article can be used to create an easy installer.
Background
This application is developed using Javascript.
Using the code
You can use the following install and uninstall Javascript in your application and also the Javascript file available in common folder
The Javascript for for installing an application is as follows:
<script language="JScript">
function window.onload()
{
if (document.location.protocol != "file:")
{
alert("This application must be run under the file protocol")
window.close()
return
}
document.all.virtualDir.value = "TestInstall"
document.all.virtualDir.readOnly = true
initTabbedContent()
populateWebsiteList()
document.title = Product + " Installation"
sizeWindow()
}
function installSuite()
{
var cwd = WshShell.CurrentDirectory;
for ( var i = 0; i < ProductArray.length -1; i++ )
{
Product = ProductArray[i];
PublicFolders = PublicFoldersArray[i];
WshShell.CurrentDirectory = "./" + Product + "/";
install(true);
WshShell.CurrentDirectory = cwd;
}
Product = ProductArray[ ProductArray.length-1 ];
PublicFolders = PublicFoldersArray[ ProductArray.length-1 ];
document.getElementById("virtualDir").value = Product;
document.getElementById("virtualDir").originalValue = Product;
install();
updateText( "Test installation complete.");
}
</script>
The script to uninstall an application is as follows:
<script language="JScript" src="common/uninstall.js"></script>
<script language="JScript">
var SubProductArray =
[
];
function window.onload()
{
if (!loadInstallationProperties())
{
alert("Cannot load installation properties file install.xml");
window.close();
}
webSite = getInstallationProperty("website");
virtualDir = getInstallationProperty("virtualdir");
product = getInstallationProperty("product");
shortProduct = product.split(".")[0];
dotNet = true;
installshield =
(TestUnInstall.commandLine.toLowerCase().indexOf("installshield") >= 0);
sizeWindow();
if (installshield)
{
document.all.buttonRow.style.display = "none";
uninstallSuite();
window.close();
}
}
function uninstallSuite()
{
var preservedVirtualDir = virtualDir;
updateText("Beginning uninstall");
for (var i = 0; i < SubProductArray.length; i++)
{
virtualDir = SubProductArray[ i ];
removeVirtualFolder();
}
virtualDir = preservedVirtualDir;
uninstall();
}
</script>
Points of Interest
During development of this application I learned how Javascript can be powerful on the client side. I also learned how to change the web.config file at installation time.