HOWTO: Install multimple versions of .NET Framework
My program needs .NET 2.0 and a 3rd party DLL I use requires .NET 1.1. I found this that may help: Microsoft Component Installer (Download from Microsoft for Free)
See it in action on my site as it makes sure your system has:
.NET 1.1
.NET 1.1 SP1
J# 1.1
J# 2.0
Windows Installer 3.1
See Component Installer in Action
Any developers out there who can help me integrate this into my main installer? Attached is my NSI file My email address is mragsdale (at) kmmr dot org
Here's how MS Component Installer works:
1. uses psetup.ini to see what I want updated
2. downloads from MS and installs components as needed
3. reboots as needed (the tool does remember where it left off after reboot)
Start: Copy of "psetup.ini" I created:
; The following products are supported in the bootstrapper. They will be installed in the
; order of this comment block, assuming each is "Yes" in the key/value section below. Note that
; you will need to ensure each product's prerequisites are installed for each install to succeed.
; In other words, don't say "no" for DotNetFW11 if you're installing the SP1 unless you're quite
; sure the .NET Framework 1.1 will already be installed on all machines. Note that saying "Yes"
; will only initiate the install if that product is not installed (detected at runtime).
;
; MDAC28 - Microsoft Data Access Components 2.8
; MSI20 - Microsoft Windows Installer 2.0
; MSI31 - Microsoft Windows Installer 3.0
; DotNetFW11 - .NET Framework 1.1 Redist
; DotNetFW11SP1 - .NET Framework 1.1 Service Pack 1 Redist
; DotNetFW20 - .NET Framework 2.0 Redist (prerelease)
; DirectX9 - DirectX 9.0c Redist
; Sql2005Express - SQL 2005 Express
; VSTO2005 - Visual Studio Tools for Office 2005
; ReportViewer2005 - Report Viewer 2005
; JSharp11 - J# 1.1 redist
; JSharp20 - J# 2.0 redist
;
; PostInstallAction - This text will be passed to ShellExecute when the installer completes
; successfully. It can be a URL, local path, or anything you can execute from the command line.
[prereqchecks]
MDAC28=Yes
MSI20=Yes
MSI31=Yes
DotNetFW11=Yes
DotNetFW11SP1=Yes
DotNetFW20=Yes
DirectX9=Yes
Sql2005Express=No
VSTO2005=No
ReportViewer2005=No
JSharp11=Yes
JSharp20=Yes
PostInstallAction=
End: Copy of "psetup.ini" I created.
What I'd like to do:
1. uses downloads my Setup EXE
2. it downloads (using NSISdl::download) Component Installer
3. Component Installer updates (and reboots go figure) as needed
4. user is returned to my setup to continue installation
The problem is that I won't know what the filename for my Setup EXE will be called (in case the uses "Saves Link As" and gives a new file name). Is there a way to figure this out in the NSIS script? I do know how to write to the RunOnce Registry key for post boot action.
I'm kinda new at NSIS (but I'm already hooked, so I'm switching from InstallShield 12).