all groups > dotnet setup > september 2004 >
You're in the

dotnet setup

group:

.NET Framework Bootstrapper in a Setup


.NET Framework Bootstrapper in a Setup sprungli
9/30/2004 3:11:51 PM
dotnet setup:
Hello,

I plan to use the following installation scenario, involving the sample .NET
Framework Bootstrapper.

1. Ask the user to dowload the dotnetfx.exe from the Win Update site;
2. Search for the dotnetfx.exe file on the client machine and if found, get
the path to it;
3. Change Settings.ini (FxInstallerPath line) to point to this path;
4. Start or instruct the user to click Setup.exe (the .NET Framework
Bootstrapper) - this would start the actual installation by checking for the
Framework and installing it, if not there, then doing the same for Windows
Installer and, eventually, installing my application.

The question is whether this can be acieved by a Setup project or I need to
write a custom Installer class?

TIA

Re: .NET Framework Bootstrapper in a Setup Phil Wilson
9/30/2004 8:03:42 PM
A setup project has built in support for this. See:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxgrfInstallUrlProperty.asp

(I wouldn't *search* for a dotnetfx.exe on the client system anyway - this
is the generic name for all the redistributable exe files for all the
versions, so you could find the wrong one.)
You can't write a custom installer class anyway - you can only run on
MSI-based install at a time, and while yours is running the MSI-BASED
dotnetfx won't run properly. This is also an option:
http://www.codeproject.com/dotnet/dotNetInstaller.asp
--
Phil Wilson
[MVP Windows Installer]
Definitive Guide to Windows Installer
http://www.amazon.com/exec/obidos/tg/detail/-/1590592972/104-7044380-4696760

[quoted text, click to view]

Re: .NET Framework Bootstrapper in a Setup Phil Wilson
10/1/2004 8:04:04 AM
Ok, I was looking at VS 2003 setup projects. VS.NET is slightly different,
so all you have is the launch condition. I think that MsiNetAssemblySupport
*is* a launch condition that checks for the 1.0 framework. The bootstrapper
installs the Windows Installer engine, but the Windows Installer engine is
installed when you install the framework. If the framework has been
installled, you don't need a bootstrap, just the MSI file.
--
Phil Wilson
[MVP Windows Installer]
[quoted text, click to view]

Re: .NET Framework Bootstrapper in a Setup sprungli
10/1/2004 9:44:21 AM
Thank you Phil,

The 1st option fits to my deployment needs. However, a .NET Framework Launch
Condition is not included by default in the Launch Condition editor of my
setup project(although there is a detected dependency) and when I try to add
it manually, the new condition doesn't contain properties like InstallUrl or
SupportedRuntimes. Apart from the name it only has two props: Condition
(MsiNetAssemblySupport) and Message ([VSDNETMSG]). I guess this is not the
NET Framework Launch Condition. Also what should be the value of the
Bootstrapper in this scenario? (My guess is Win Installer Bootstrapper.)

Note: I am w/ VS.NET and the 1.0 Framework.



[quoted text, click to view]

Re: .NET Framework Bootstrapper in a Setup sprungli
10/1/2004 11:49:14 AM
Thanks again,

so this would mean I should revert to the scenario of my 1st post, since
there is just a check for the existance of the Framework, not an
installation option. Do you, by any chance, know if the .NET Framework
Bootstrapper accepts an URL path to the dotnetfx.exe? In this case I could
just set FxInstallerPath to the URL address where the dotnetfx.exe for
the1.0 version can be downloaded. It is difficult for me to test at this
time, that is why I am asking.

Regards,

s.


[quoted text, click to view]

Re: .NET Framework Bootstrapper in a Setup Phil Wilson
10/4/2004 12:29:45 PM
I don't believe FxInstallerPath will take a URL, although I haven't tried
it. The detection on VS.NET isn't as flexible as VS 2003. VS.NET uses the
standard Windows Installer property MsiNetAssemblySupport to look for the
framework, and that property is set to the latest version and includes 1.1
and later - it's set if there is ANY framework on the system. I think this
means that VS.NET has no built-in way to let you check explicitly for the
1.0 framework. In fact, your setup will not even launch unless there is a
version of the framework on the target system.
VS 2003 is more flexible because it has a SupportedRuntimes property to tell
VS which versions to check for, and an InstallUR property to download it
from.
In your situation I'd use the
http://www.codeproject.com/dotnet/dotNetInstaller.asp type of solution, or
upgrade to VS 2003 for building setup projects. You can use that to build
setups for 1.0 framework projects.
--
Phil Wilson [MVP Windows Installer]
----
[quoted text, click to view]

AddThis Social Bookmark Button