Using InstallShield in Visual Studio

Many people want to take advantage of the InstallShield integration with Visual Studio and work on their installation projects within the Visual Studio IDE. In order to do this, the order of installation is important.

Visual Studio needs to be installed first. Then when you run the InstallShield installation, it will look at what version of Visual Studio is installed, and then install the corresponding version of InstallShield for Visual Studio. For example, if you have Visual Studio 2013, then after you install InstallShield 2014, you can look in the InstallShield program group and see the following things:

  1. InstallShield 2014
  2. InstallShield 2014 for Visual Studio 2013
  3. InstallShield 2014 Help

I have not actually tried to use InstallShield 2014 with Visual Studio 2013, but I assume Flexera keeps up-to-date with the Visual Studio releases.


Can’t Copy & Paste in InstallScript View

When you are working in a script-based installation, either InstallScript MSI or pure InstallScript, you will sometimes run into the situation where you can’t copy and paste in the InstallScript view.

I have this happen at least once a month. Perhaps it’s because I work fast and my fingers fly on the keyboard. Maybe that confuses InstallShield. Fortunately, the fix for this is easy.

All you have to do is save your project, close it, close InstallShield, then run InstallShield again, open your project again, and go back to work. The problem will have magically disappeared.


Prevent an Entry in Add/Remove Programs

There are times when doing an installation that you don’t want an entry placed in Add/Remove Programs. Yes, I know it’s against the Windows Logo requirements, but sometimes clients/companies want it that way, for whatever reason.

In any Windows Installer-based InstallShield project, Basic MSI or InstallScript MSI, follow these steps:

  1. Go to the Direct Editor view.
  2. Go to the InstallExecuteSequence table.
  3. Delete the RegisterProduct action row from the table.
  4. Delete the RegisterUser action row from the table.
  5. Delete the PublishProduct action row from the table.
  6. Delete the PublishFeatures action row from the table.
  7. Go to the AdvtExecuteSequence table.
  8. Delete the PublishProduct action row from the table.
  9. Delete the PublishFeatures action row from the table.

After you do this, when you run your installation, it will do all the work you want it to, but the application will not be registered with Windows and will not show up in Add/Remove Programs or Programs and Features.

Now, this means that there will be no maintenance functionality in your installation. So, you have essentially created a wrapper installation where you have all the functionality of InstallShield available to you, but without the entry showing up in Programs and Features.