0
votes

I have a small .NET application that requires the .NET Framework 4 Client Profile. In my setup project, the .NET Framework is a dependency and it is currently using the default value for the InstallURL property (http://go.microsoft.com/fwlink/?LinkId=131000). As expected, when the bootstrapper runs on a machine that doesn't already have the framework installed, it will be downloaded from that URL.

This should work fine for most of my users. However, a few of my users have extremely limited/slow Internet connectivity and downloading the framework installer, even just the client profile, is an undesirable scenario for them. I know I can bundle the framework installer with my app, change the InstallURL to look for the file locally and then deliver the software on CD but now I have two installers with the only difference being the InstallURL. So I'm wondering if it's possible to set the InstallURL dynamically at runtime based on whether the .NET Framework redistributable installer is detected locally or not?

1

1 Answers

1
votes

If you're distributing it on a CD, why not just have 1 installer that has the .NET Framework installers all local? Even if the users have a fast internet connection, it's still faster to have it all local.

Otherwise, you could create a custom install action with some way for the user to choose which method for installing the framework, but the application would have to be using a .NET Framework that you know is installed on their machine; a bit of a chicken and egg problem.

Another possibility is to have 2 sperate bootstrappers, one with local install and one with internet install. You'd build the same installer project with different configurations. YOu can use the configuration manager to choose different bootstrappers.