Jump to content
Sign in to follow this  

.net Setup Wrapper

Recommended Posts

We have some in-house applications that need the .Net framework to run, but nobody around here wants to install it if they don't already have it. I wrote this little setup bootstrap to detect whether the framework was installed, and if not, to install it silently from a location where it is already downloaded.

$HasNet10=(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\v1.0", "3705")="3321-3705")
$HasNet11=(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\v1.1", "4322")="3706-4322")
$HasNet20=(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\v2.0", "50727")="50727-50727")
$Proc = StringUpper(@ProcessorArch); just to be sure it will be recognized

ConsoleWrite("Microsoft .Net Version 1.0 Installed? " & $HasNet10 & @cr)
ConsoleWrite("Microsoft .Net Version 1.1 Installed? " & $HasNet11 & @cr)
ConsoleWrite("Microsoft .Net Version 2.0 Installed? " & $HasNet20 & @cr)
Consolewrite("Processor Architecture: " & $Proc & @cr)

;~ Based on http://support.microsoft.com/default.aspx?scid=kb;%5BLN%5D;315291
;~ For a full list of command-line switches for the .Net installer, see:
;~  http://blogs.msdn.com/astebner/archive/2005/11/07/490167.aspx (1.0, 1.1)
;~  http://blogs.msdn.com/astebner/archive/2005/11/07/490167.aspx (2.0)
If $HasNet20=False then
    if $Proc="X86" then 
        RunWait(@ScriptDir & "\dotnet20\X86\dotnetfx.exe /q")
    elseif $Proc = "X64" Then
        RunWait(@ScriptDir & "\dotnet20\X64\netfx64.exe /q")
    ElseIf $Proc = "IA64" Then
        RunWait(@ScriptDir & "\dotnet20\IA64\netfx64.exe /q")
        $msg = "The Microsoft .Net Framework 2.0 is not installed, and your system archetecture is not recognized. "
        $msg = $msg & "The program will take now you to the Microsoft site where you may download the correct package manually."
        MsgBox(0,"Installer", $msg )


Share this post

Link to post
Share on other sites

looks great but I get this error:

net.au3(4,35) : ERROR: undefined macro.

$Proc = StringUpper(@ProcessorArch)

Hi !

It seems that sohfeyr is using a beta version of Autoit, it doesn't work on Autoit 3.1.1.


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Create New...