Archive: NET Framework 2.0 after NET Framework 1.1


NET Framework 2.0 after NET Framework 1.1
Hi all.

The problem:

IS:
The user has NET Framework 1.1 installed

MUST:
NET Framework 2.0 must be downloaded and installed.
Application 'ABC-Example' must be installed.

THE PROBLEM:
The installation script downloads NET Framework 2.0 and tries to install it. During the NET Framework 2.0 installation comes the error message: 'The following application must be closed: ABC-Example Installation' with the buttons: "Abort, Retry, Ignore". If I press 'Ignore' the installation proceeds successfully.

THE QUESTION:
How could I avoid the error message ? The installation script works in general, but it looks not pretty.

Sorry the screenshot is in german, but I hope the general situation is understandable.

Thanks


Weird... I would say these,
When download is finished a message box that informs users they should run the installer again after framework installation. After the message box Exec "framework_installer" and terminate your ABC installer.
Or, try to execute framework installer in quiet mode and show a banner while it's running.


Need another way
Thank you 'Red Wine' for the answer, but I am trying to make "one click" installation. It is quiet important that the user presses the mouse buttons as seldom as possible.


That's a weird situation, I can't think why the halted ABC installer bothers the framework installation and causes that message to appear.

Did you try the workaround to execute framework installer in silent mode? I think it uses the switch /Q for that.


Error message
To 'Red Wine':
Framework in silent mode would be unacceptable because the user must agree with NET Framework 2.0 license.

I suppose that NET Framework 2.0 updates some dlls, they are being used (direct or indirect) in NSIS Installer and NET Framework 1.1. It is strange that it goes without any problem if there are no NET Frameworks installed.


You're probably using GetDotNETVersion which uses mscoree.dll to query the installed version of .NET. Old versions of the function didn't unload the DLL after usage, so the .NET installer would flag them as blocking. Upgrade your .NET detection script to add the "?u" flag to the System::Call line and everything should be fine.


Thanks
To 'kichik':
Great thanks ! You are right !!! I was so stupid and didn't proof the GetDOTNetVersion I have and the latest published version.

Thank you.