Working with the InstallShield Limited Edition project

To add a Setup Project in a modern version of Visual Studio, we need to select the InstallShield Limited Edition Project from the Setup and Deployment project type in the Other Project Types category in the left-hand pane of the Add New Project dialog window:

Note that this project type is already included with all paid versions of Visual Studio, but those who are using a free version may be directed to a website to download this functionality upon selection of the project type.

Once it's installed and the project has been successfully added, a help wizard, or a Project Assistant window as InstallShield likes to call it, will be opened in Visual Studio to aid the process of configuring the installation project. It walks us through the various tasks that we may need to perform when creating our installer, page by page:

Each page is divided into two window panes; the right pane contains the various fields that we will edit to set our required specifications for the deployment, and the left pane contains additional options and contextual help topics, relevant to each page.

The first page of the Project Assistant is the Application Information page, where we can provide general information about the application, such as the company name and website, the application name and version, and the icon to display with the application.

The Installation Requirements page enables us to select one or more particular operating systems that our application is compatible with. In addition to this, we can also specify that our application has a dependency from a pre-existing list of third-party software, such as Adobe Reader, various versions of the .NET Framework, and a number of Microsoft products.

While this list is short, it does contain the most likely prerequisite software titles. However, there are a couple of additional options, one of which enables us to create custom installation requirements. Upon clicking on this option, the System Search Wizard opens and lets us search for additional installation requirements, either by folder path, registry key, or by .ini file value, and enables us to choose what happens if the new requirement is not met during the installation process.

The Application Files page is next, and in it, we can add any required application files to the installation. The page is divided into two, with a tree View of the folders to be installed on the users' computers on the left and the folder contents on the right. The left pane contains a list of the most commonly used predefined folders, such as the App Data, Common, and Program Files folders.

If we need to use other predefined locations, such as the Desktop, Favorites, or the My Pictures folders, for example, then we can right-click on an item in this pane and select the Show Predefined Folder option. In fact, if we want to install our application as a 64 bit application, then we'll need to use this option to add the 64 bit Program Files folder, in a similar way to the Setup Project.

In order to do this, we can right-click on the Destination Computer item at the top of the tree View, select the Show Predefined Folder option, and then select the ProgramFiles64Folder item. We would then need to set the project output of our startup project to the folder in the left pane that represents our installation folder. Note that it will be suffixed with [INSTALLDIR] and, in our case, will be named ApplicationName.

We should click the Add Project Outputs button and select the Primary Output option that relates to our CompanyName.ApplicationName project to include a copy of the DLLs and other dependent files from its bin folder in the deployment. We can right-click the added output item to select further properties if required, or if we are using COM objects in our application.

Next up is the Application Shortcuts page, where we can control which custom shortcuts the installation will include on the users' computer. Note that default shortcuts will automatically be added for the executable files that we have specified, but this page enables us to delete these, as well as add new ones, or even specify uninstallation shortcuts or alternative icons to use.

The Application Registry page follows and enables us to make entries in the Windows Registry of the computer that our application is being installed on. The left window pane mirrors the registry View of the destination computer and we can use it in the same way to add new keys. This page also allows us to import registry keys from a .reg file and open the registry editor for the source computer.

The last page is the Installation Interview page, where we can specify which dialog screens are displayed to the user during the installation. Here, we can optionally upload an End User License Agreement file in the Rich Text Format (RTF) file format to require the user to agree to.

Additionally, we can prompt the user to enter their username and company name and provide them with options to select the installation location and whether the application should open after the installation is complete. We can also specify custom images to be displayed in these dialog windows from this page.

Once the project assistant pages have all been appropriately completed, we just need to build the setup and deployment project to generate the setup files. However, we need to ensure that we build it correctly, dependent upon the selections that we made in the project assistant.

When using and focusing the InstallShield Limited Edition Project in the Solution Explorer in Visual Studio, we get an extra InstallShield LE menu item, and in it, we can find an Open Release folder... option. Clicking this option will open a folder window showing the setup project folder, in which we can find the installation files to distribute to the users: