以管理员身份远程安装 .Net Framework 4

3
我将尝试使用以下命令远程安装.NET Framework 4.0:
command => 'Powershell.exe -Verb RunAs -FilePath C:\Temp\dotNetFx40_Full_setup.exe -ArgumentList "/q /norestart /log C:\Temp\NetFx40.htm"'

2

command => 'C:\Windows\System32\cmd.exe /c C:\Temp\dotNetFx40_Full_setup.exe /q /norestart /log C:\Temp\NetFx40.htm',

使用这两种方法,在日志中都会得到以下信息。另外,运行该命令的用户是本地管理员组的成员。

Final Result: Installation failed with error code: (0x00000005), "Access is denied. " (Elapsed time: 0 00:00:55).
    OS Version = 6.1.7601, Platform 2, Service Pack 1
    OS Description = Win2K8R2 - x64 Standard Edition Service Pack 1
    CommandLine = D:\ecfcf956d61e2bf89c1c75ce16\\Setup.exe /q /norestart /log C:\Temp\NetFx40.htm /x86 /x64 /ia64 /web
    TimeZone = Eastern Standard Time
    Initial LCID = 1033
    Using Simultaneous Download and Install mechanism
    Operation: Installing
    Package Name = Microsoft .NET Framework 4 Setup
    Package Version = 4.0.30319
    User Experience Data Collection Policy: Disabled
    Number of applicable items: 11
    Exe (D:\ecfcf956d61e2bf89c1c75ce16\SetupUtility.exe) succeeded.
    Exe Log File: dd_SetupUtility.txt
    ServiceControl operation succeeded!
    ServiceControl operation succeeded!
    Exe (C:\Users\_BUILD~1\AppData\Local\Temp\Microsoft .NET Framework 4 Setup_4.0.30319\Windows6.1-KB958488-v6001-x64.msu) failed with 0x5 - Access is denied. .
    Final Result: Installation failed with error code: (0x00000005), "Access is denied. " (Elapsed time: 0 00:00:21).

1
如果您在PowerShell中使用Invoke-Command运行它,它是否有效? Invoke-Command -Scriptblock { C:\Temp\dotNetFx40_Full_setup.exe /q /norestart /log C:\Temp\NetFx40.htm } - Frode F.
它可以运行,但不是以管理员身份运行,因此我收到了相同的错误。此命令将从 Puppet 配方执行,以启动 Win2008r2 实例的预配。尝试远程安装 .NET Framework 的帐户在目标计算机上具有本地管理权限。 - Maverick
你能解决这个问题吗?我在尝试配置Windows 7系统时遇到了相同的错误。 - Christophe
当您尝试使用winrm或powershell作为远程命令时,似乎会失败。但是,如果您使用本地Windows服务或Windows任务执行相同的命令,那么它就可以正常工作。 https://github.com/WinRb/vagrant-windows/issues/166 - Maverick
您之所以会遇到此错误,是因为安装了更新,即.msu文件。您可以尝试在参数列表中使用SkipMSUInstall,以跳过这些更新的安装。 例如:dotNetFx40_Full_setup.exe /q /norestart /SkipMSUInstall - Ajit Medhekar
显示剩余2条评论
4个回答

1

0

通过使用SysInternals的PSEXEC,可以实现这一点。

psexec.exe \\SERVERNAME /s \\networkshare\setup\ndp48-x86-x64-allos-enu.exe /passive /norestart /SkipMSUInstall


0

在安装.NET Framework 4.0时,它也会安装一些更新(.msu文件)。

但是当我们远程安装.NET 4.0时,由于这些更新,安装失败。原因是不允许远程安装这些更新。请查看KB文章输入链接描述。该文章还提到了解决方法。

我们可以跳过这些更新,只使用以下参数安装.NET Framework 4.0:

dotnetfx40_Full_x86_x64.exe /norestart /SkipMSUInstall

-1
我在尝试远程安装 .Net 4.0 时遇到了同样的错误。为了解决这个问题,我使用了以下命令,参考 如何在 Azure VM 上以编程方式远程安装 .NET 4 客户端?
Invoke-Command -session $CompSession -scriptBlock {
Start-Process -FilePath "C:\dotnetfx40_Full_x86_x64.exe" `
-ArgumentList " /passive /norestart /SkipMSUInstall /log "C:\results.log" -PassThru | Wait-Process}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接