1

I have to make a rather complex installer for a C# add-in for Word. I've been researching this for almost two days now and I still haven't found something that can do everything needed.

The main issue here is due to the constraints regarding prerequisites. They mustn't be included in the main installer to keep it small so they'll have to be downloaded. Additionally, they have to be installed silently without bothering the user. It is ok to show a progress bar or something similar but nothing that requires user input.

After reading about the Windows Installer, Inno, bootstrapper packages and dotNetInstaller I have finally reached the conclusion that the later would be best suited for this scope. However, there's a nasty downside which I have yet to resolve: prerequisites checking.

Is there a standard way to check whether a Microsoft redistributable is installed? The add-in needs the following components:

  • Windows Installer 3.1
  • .Net Framework 3.5
  • PIA
  • VSTO

Furthermore, I haven't been able to find the direct URLs for these components. I'm wondering how Windows Setups in VS get them.

As a last resort I could host them somewhere to have them at a known location but I'd like to avoid that.

Cosmin
  • 21,216
  • 5
  • 45
  • 60
Alex G.
  • 2,113
  • 6
  • 25
  • 33
  • Even I am finding a solution for the same issue. I have a installer which required Windows Installer, .net Framework 4 Clint Profile and VC++ 2010 Runtime Libraries. On Windows 7 with UAC on, this is giving too much prompts to user. Of these .net framework does only 1 click and install, but VC++ Runtimes requires 3-4 clicks to get going. I am okay with 1 click and install if total silent / progress bar only install is not possible. VC++ Runtimes installer actually has the command line options to do this but bootstrapper created with VSSP does not give any option to use this. Any suggestions? – Ashish Patil Oct 01 '11 at 20:31

3 Answers3

1

Furthermore, I haven't been able to find the direct URLs for these components. I'm wondering how Windows Setups in VS get them.

If your using the Visual Studio Setup Project, you can embed them into the setup, and make them required for your application to be installed.

At least for the case of Windows Installer 3.1 and .NET Framework 3.5 SP1

Is there a standard way to check whether a Microsoft redistributable is installed?

Checking the registry is a quick way.

Security Hound
  • 2,577
  • 3
  • 25
  • 42
  • From what I've read you cannot use a VSSP to both silently download and silently install redistributables. The downloading part works ok but the second part cannot be done. – Alex G. Sep 21 '11 at 14:30
0

I would first prompt the user about the downloads first because there would be an uproar if it secretly downloaded files without the users consent. It could also be used for malicious reasons if it were unsecure.

OpToCo
  • 1
  • 1
0

use this tool http://www.advancedinstaller.com/ for creating installer project it has the simple ui interface using which u can handel many comple scenarios in an easy way. U can purchase the tool or can use freeware edition

Smack
  • 936
  • 1
  • 13
  • 31