通过 Active Directory 组策略或 WSUS 部署 .net 4

通过 Active Directory 组策略或 WSUS 部署 .net 4

有没有办法使用 Active Directory 组策略或 WSUS 自动部署 .net 4?

我想将其推送到很多机器上而不必逐台逐台地进行。

背景:我有一个 VSTO ClickOnce 应用程序,我想将其部署给非管理员用户,但它使用 .net 4,如果没有管理员权限就无法安装,因此,除非已安装 .net 4,否则非管理员的 ClickOnce 将失败。

答案1

我们通过 Altiris Deployment 使用了一个脚本。它应该作为计算机登录脚本或通过远程 CLI 运行。您需要获取Microsoft 的独立安装程序

START "" /WAIT dotNetFx40_Full_x86_x64.exe /q /norestart /log %TEMP%\dotNet4.log

编辑:

还想补充一点,此安装将需要几分钟或更长时间,具体取决于客户端计算机的速度。执行安装应该安排在维护窗口期间,此时用户不会因为“无响应”而重新启动计算机。在安装后重新启动计算机也可能是明智之举。我们不会这样做,因为我们会在安装后立即执行 Altiris 软件清单。

答案2

对于版本 2.0、3.0 和 3.5,.NET Framework直接从.msi数据库安装会失败,并显示需要启动的消息setup.exe 除非ADDEPLOY或属性VSEXTUI都设置为 1。我假设Group Policy它在使用时会自动将ADDEPLOY其执行的每个安装设置为 1,但除此之外,您需要明确执行此操作。

对于4.0 的Client ProfileExtended版本.NET Framework,其工作方式相同,只是您可以设置的唯一属性称为EXTUIADDEPLOY不会产生预期的效果。(如果您查看数据库表CA_BlockDirectInstall中的操作,您会发现该特定操作的条件是“ ”)。将该属性设置为 1 后,我能够直接从via或执行部署,没有任何问题。有人会认为应该同样简单,但与 不同,我猜您可能需要自己设置属性,这可以通过转换来完成。InstallExecuteSequence.msiNOT (EXTUI = 1 OR Installed).msiNovell ZENworksmsiexec.exeActive DirectoryADDEPLOYEXTUI

例如,执行 64 位无人值守安装的最小命令行.NET Framework 4.0 Client Profile是...

msiexec.exe /i netfx_Core_x64.msi EXTUI=1

...或者简单地...

netfx_Core_x64.msi EXTUI=1

由于没有供用户自定义的安装选项,(默认)完整界面模式实际上已经是无人值守安装,因此您不需要添加/passive或任何/q开关来使其无人值守执行。

答案3

.NET Framework 4.0 目前可通过 WSUS 获得,它似乎在工作站和服务器操作系统上都能很好地运行。我们上周开始试用该软件包,没有出现任何问题。

答案4

相关内容