Jump to content

Problem installing .NET Framework 3.0 during svcpack.inf


Recommended Posts

Posted

Hi,

I tried to install .NET Framework with this AutoIt-Script

;.NET Framework 2.0 is installed before
;RunWait("wcu\dotnetFramework\dotnetfx.exe /q /c:""install.exe /Q /l """"" & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_dotnetfx20.log""""""", @ScriptDir)
RunWait("msiexec -i wcu\MSXML\msxml6.msi /qn /norestart ADDLOCAL=ALL REBOOT=ReallySuppress /log """ & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_msxml.log""", @ScriptDir)
RunWait("msiexec -i wcu\RGBRAST\x86\RGB9RAST_x86.msi /qn /norestart ADDLOCAL=ALL REBOOT=ReallySuppress /log """ & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_rgbrast.log""", @ScriptDir)
RunWait("wcu\WIC\WIC_X86_ENU.exe /quiet /norestart /nobackup /overwriteoem NOVSUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /log """ & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_wic.log""", @ScriptDir)
RunWait("msiexec -i vs_setup.msi /qn /norestart NOVSUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /log """ & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_dotnetfx30.log""", @ScriptDir)
RunWait("wcu\XPS\XPSEPSC-x86-en-US.exe /quiet /norestart /nobackup /overwriteoem /log:""" & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_xps.log""", @ScriptDir)
RunWait("wcu\WCF\wcf.exe /q /l """ & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_wcf.log""", @ScriptDir)
RunWait("msiexec -i wcu\WPF\wpf.msi /qn /norestart STANDALONE=no ADDLOCAL=ALL REBOOT=ReallySuppress /log """ & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_wpf.log""", @ScriptDir)
RunWait("msiexec -i wcu\WF\WF_3.0_x86.msi /n /norestart ARPSYSTEMCOMPONENT=1 STANDALONE=no ADDLOCAL=ALL REBOOT=ReallySuppress /log """ & EnvGet("SYSTEMDRIVE") & "\dotnetfx30_wf.log""", @ScriptDir)

But unfortunately WCF, WPF and WF fails (seen in logs).

I know that the installer support the switches "/q /norestart" but there are no logging-arguments available, which I want to use.

Does anybody know why WCF, WPF and WF install fails (there are no infos in the logs)?

--> .NET Framework 3.0 ist the last app in svcpack.inf

If I start the Script after logon again that three components will be installed sucessfully. :blink:

I don't want to another switchless installer - I only want to know why setup fails for this three components and how can I fix this.

Can anybody help me?

Thanks

Al


Posted

There is no reason to use AutoIt for this (that's pretty much a last resort). There are some repacked installers (switchless and unattended) that work just fine. They've been mentioned in countless threads already.

Posted

I already tried to add the commands directly in svcpack.inf - this works very well if I remove the log-arguments but with this arguments it doesn't work and I don't know why. :}

As I wrote before I don't want to use repacked-installers - I want to know why the problem occurs and fix it by myself (maybe with my own repacked installer, script, batch or whatever). :D

Al

Posted (edited)

The last set of switches had a /n which is not right. I have broken down the strings some and added passing fullpath to msiexec if helps. I just would do one check for working directory at start of script and just once for EnvGet() as well. Through revising your script, I'm not sure if I fixed anything by changing it with double quote changes etc. I would recommend that you double check your switches though msiexec normally pops up if a syntax error exists. I also removed the "REBOOT=reallysuppress" as your already using /norestart.

Global $log, $switches, $systemdrive = EnvGet('SYSTEMDRIVE')

If @WorkingDir <> @ScriptDir Then
FileChangeDir(@ScriptDir)
EndIf

;.NET Framework 2.0 is installed before
;~ $log = '/l "' & $systemdrive & '\dotnetfx30_dotnetfx20.log"'
;~ $switches = '/q /c:"install.exe" /Q ' & $log
;~ RunWait('"' & @ScriptDir & '\wcu\dotnetFramework\dotnetfx.exe" ' & $switches)

$log = '/log "' & $systemdrive & '\dotnetfx30_msxml.log"'
$switches = '/qn /norestart ADDLOCAL=ALL ' & $log
RunWait('msiexec -i "' & @ScriptDir & '\wcu\MSXML\msxml6.msi" ' & $switches)

$log = '/log "' & $systemdrive & '\dotnetfx30_rgbrast.log"'
$switches = '/qn /norestart ADDLOCAL=ALL ' & $log
RunWait('msiexec -i "' & @ScriptDir & '\wcu\RGBRAST\x86\RGB9RAST_x86.msi" ' & $switches)

$log = '/log "' & $systemdrive & '\dotnetfx30_wic.log"'
$switches = '/quiet /norestart /nobackup /overwriteoem NOVSUI=1 ADDLOCAL=ALL ' & $log
RunWait('"' & @ScriptDir & '\wcu\WIC\WIC_X86_ENU.exe" ' & $switches)

$log = '/log "' & $systemdrive & '\dotnetfx30_dotnetfx30.log"'
$switches = '/qn /norestart NOVSUI=1 ADDLOCAL=ALL ' & $log
RunWait('msiexec -i "' & @ScriptDir & '\vs_setup.msi" ' & $switches)

$log = '/log:"' & $systemdrive & '\dotnetfx30_xps.log"'
$switches = '/quiet /norestart /nobackup /overwriteoem ' & $log
RunWait('"' & @ScriptDir & '\wcu\XPS\XPSEPSC-x86-en-US.exe" ' & $switches)

$log = '/l "' & $systemdrive & '\dotnetfx30_wcf.log"'
$switches = '/q ' & $log
RunWait('"' & @ScriptDir & '\wcu\WCF\wcf.exe" ' & $switches)

$log = '/log "' & $systemdrive & '\dotnetfx30_wpf.log"'
$switches = '/qn /norestart STANDALONE=no ADDLOCAL=ALL ' & $log
RunWait('msiexec -i "' & @ScriptDir & '\wcu\WPF\wpf.msi" ' & $switches)

$log = '/log "' & $systemdrive & '\dotnetfx30_wf.log"'
$switches = '/qn /norestart ARPSYSTEMCOMPONENT=1 STANDALONE=no ADDLOCAL=ALL ' & $log
RunWait('msiexec -i "' & @ScriptDir & '\wcu\WF\WF_3.0_x86.msi" ' & $switches)

Notice how I use single quotes to wrap the double quotes for ease.

:)

Edited by MHz
Posted (edited)

The /n-switch seems to be a copy&paste-failure - because in my script it is a /qn.

Nevertheless I will try your script and report what happens. ;)

[EDIT]

As I've expected the install of the three components fails again. :(

[/EDIT]

Thanks

Al

Edited by AlBundy33

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...