Wise for Windows Installer 6.0

Develop Installation Applications Directly in Visual Studio.NET

ll Wagner

October 30, 2009

6 Min Read
ITPro Today logo

asp:review

 

Wise forWindows Installer 6.0

DevelopInstallation Applications Directly in Visual Studio.NET

 

Bill Wagner

 

Ifyou re anything like me, you hate building installers. The problem with thisattitude is that not having an installer means you must do all the deploymenttasks by hand. I hate that even more. And, despite the promise of decreaseddeployment costs for Web apps ( You only install them once, goes theconventional wisdom), the fact is that with test machines, beta installs,pilots, and finally production deployment, you ll install your enterprise Webapplications many times. Obviously it pays to automate the task, and the 6.0release of Wise for Windows Installer adds many features aimed at making iteasier to create deployments for ASP.NET Web applications.

 

What s New

Firstoff, for those of you with experience using previous versions of Wise forWindows Installer, the packaging has changed: Wise for Windows Installer nowincludes integration with VS.NET. Where you formerly needed to purchase Wisefor Visual Studio .NET to get integration with VS.NET, you now get bothenvironments in one bundle. I appreciate that because, although I prefer thestandalone IDE, one feature of the integrated IDE saves me lots of time: Onlythe integrated IDE creates deployment projects that are part of a VS.NETsolution. When your deployment project is part of a solution, Wise for WindowsInstaller builds the list of files to deploy based on the project. And it ssmart enough to exclude all your source files and other intermediate files fromyour development machine. It s a great way to start a deployment project.

 

Afteryou ve created a project, Wise for Windows Installer gives you two views of thefiles on the destination machine: Web files and physical files. The physicalfiles view shows you where your files will be copied on the destinationmachine. The Web files view mirrors that of the IIS admin tool: It shows youthe view of all the virtual directories in your Web application. You can addfiles to the virtual directories or to other locations on the destinationmachine (such as help files for users, readme docs, etc.).

 

Ofcourse, copying files to the destination server is the easiest of the tasksnecessary to build the installation for your Web application. Wise for WindowsInstaller does a great job of supporting all the steps that must happen toconfigure the deployment server.

 

First ofall, Wise for Windows Installer can check for necessary features on thedeployment server (see Figure 1). For security reasons, the installer will notmodify these settings, but it will check and notify the user if any requiredIIS feature is not enabled. So, you shouldn t be getting any more support callsbecause the user did not know that ASP.NET must be turned on for yourapplication to work.

 


Figure 1: Wise for Windows Installer checksfor necessary features on the deployment server.

 

Next,Wise for Windows Installer provides an easy way to ensure the destinationserver is configured properly. Wise for Windows Installer has a tabbed dialogbox that mirrors the IIS configuration dialog boxes you use everyday toconfigure IIS on your development machine. The settings you choose for yourinstaller will be applied to the destination server. Using this tabbed dialogbox you can pick the application name, destination, authentication settings,default document, and even TCP ports. If it s in the IIS config dialog boxes,in can be set with Wise for Windows Installer.

 

When youpick the destination you can configure if your application should be a new Website, an existing Web site, or a new virtual directory. You can even instructthe installer to create a new virtual directory only on those destinationsystems that do not support multiple Web sites (XP Professional and other workstationinstallations).

 

Theauthentication settings are quite robust. You can configure any or all ofanonymous, digest, basic, passport, or integrated windows security for thesite. You can even specify the account IIS should use for anonymous access. Ifyou are creating a large site, you can specify different settings for differentdirectories in your application. No longer do you have to force your users tomanually configure different access settings to the different directories inyour site.

 

Finally,after creating all these settings, you can tell Wise for Windows Installerwhich settings can be overridden by the user running your application. Wise forWindows Installer adds dialog boxes for those settings. Maybe the user has adifferent anonymous access account? No problem, using Wise for WindowsInstaller.

 

And Finally...

I vesaved the two best features of Wise for Windows Installer for last: SQLinstallations and dynamic XML editing. These two features make installing adata-driven Web application quick and easy. Almost all your Web applicationsinclude a database. Wise lets you include SQL server scripts into yourinstaller. These will be executed as part of the installation. Even better,Wise for Windows Installer captures the login, password, and server variablesfrom your user at installation time. You can use these environment variables toupdate web.config. Using Wise for Windows Installer s Dynamic Content featureyou can replace text in your web.config file with environment variables capturedat installation time.

 

TheDynamic Content feature is most often used for storing the connection stringfor a database, but you can use it to replace any text in a well-formed XMLfile. You specify the value and the dynamic value for any node in the file (seeFigure 2). The installer then substitutes the values of any environmentvariable for that text in the dynamic value.

 


Figure 2: Specify the value and the dynamicvalue for any node in the file.

 

What sMissing

Thereare two features I d like to see added in a future version. First, I usuallyuse two different SQL accounts in my Web applications. One, with limitedprivileges, for run-time access. A second higher-privilege account gets usedfor installation actions. It would be nice if I could specify both in theinstaller, instead of updating that by hand later.

 

Secondly,the dynamic content is great, but there are times when I want to encrypt theconnection string in my web.config file for security reasons. Currently thiscannot be handled by the dynamic values editor.

 

Neitherof these small issues should discourage you. All in all, Wise for WindowsInstaller 6.0 is a fantastic way to minimize the headaches that normallyaccompany deployments. Your users need only run the installer to get a Web applicationrunning correctly; there are no more extra hand-processed steps. And just asimportant, you don t need to write any custom code to handle the typical (andeven not so typical) Web application installation requirements.

 

A commercialsoftware developer and co-founder of SRT Solutions, Inc., Bill Wagnerfacilitates adoption of .NET in clients product and enterprise development.His principal strengths include the core framework, the C# language, SmartClients, and service oriented architecture and design. In 2003 Microsoftrecognized his .NET expertise by appointing him Regional Director for Michigan.A frequent writer and speaker, Bill is the author of C# Core Language Little Black Book (Coriolis Group Books, 2001) and the forthcoming Effective C#from Addison-Wesley.

 

Rating:

WebSite: http://www.wise.com

Price: Standard Edition, US$449;Professional Edition, US$1,199; Enterprise Edition, US$1,999

 

 

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like