|
Home
|
|||||||||||
| InnoSetup: Check for .Net 3.5 |
|
|
|
| Written by Marc | |
| 02.06.2008 | |
|
After some time away from InnoSetup I'm back on that tool again to build some fairly complex Installers. Most of them need to check if .Net Version 3.5 is installed on the workstation the Software is installed. If .Net 3.5 is not yet installed the Installer should show a message box to the user right at the beginning and asking if he wants to download .Net 3.5 right now. If the user clicks "Yes" the Microsoft Download-Page will be shown otherwise the Installed will be canceled. To do this one need a little InnoScript (Pascal) and a custom message so it can be translated easily. Add the following code to your InnoSetup script to do this:
[CustomMessages] [CustomMessages] dotnetmissing=This application needs Microsoft .Net 3.5 which is not yet installed. Do you like to download it now? [Code] function InitializeSetup(): Boolean; var ErrorCode: Integer; netFrameWorkInstalled : Boolean; isInstalled: Cardinal; begin result := true; // Check for the .Net 3.5 framework isInstalled := 0; netFrameworkInstalled := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5', 'Install', isInstalled); if ((netFrameworkInstalled) and (isInstalled <> 1)) then netFrameworkInstalled := false; if netFrameworkInstalled = false then begin if (MsgBox(ExpandConstant('{cm:dotnetmissing}'), mbConfirmation, MB_YESNO) = idYes) then begin ShellExec('open', 'http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en', '','',SW_SHOWNORMAL,ewNoWait,ErrorCode); end; result := false; end; end; More advanced will be the integration of download and install it right within the Installer itself. This topic will be covered later on. Contact me, if you need this. |
| Next > |
|---|