有没有一种方法可以使用Active Directory组策略或WSUS自动部署.net 4?
我想将它推出到很多机器上,而不必遍历每台机器。
背景:我有一个要部署给非管理员用户的VSTO ClickOnce应用程序,但是它使用.net 4,没有管理员权限就无法安装。因此,除非已经安装.net 4,否则非管理员的ClickOnce将会失败。
有没有一种方法可以使用Active Directory组策略或WSUS自动部署.net 4?
我想将它推出到很多机器上,而不必遍历每台机器。
背景:我有一个要部署给非管理员用户的VSTO ClickOnce应用程序,但是它使用.net 4,没有管理员权限就无法安装。因此,除非已经安装.net 4,否则非管理员的ClickOnce将会失败。
Answers:
我们通过Altiris Deployment使用了脚本。它应作为计算机登录脚本或通过远程CLI起作用。您需要从Microsoft获得独立安装程序。
START "" /WAIT dotNetFx40_Full_x86_x64.exe /q /norestart /log %TEMP%\dotNet4.log
编辑:
还想补充一点,此安装将花费几分钟或更长时间,具体取决于客户端计算机的速度。应该在维护时段内安排执行安装的时间,在该时段内用户将不会因“无响应”而重启计算机。在安装后重新启动计算机也是明智的。我们不这样做,因为之后我们会立即执行Altiris软件清单。
对于2.0、3.0和3.5版本,除非将或属性设置为1,否则.NET Framework
直接从.msi
数据库安装将失败,并显示一条消息,要求启动。我假设在每次安装时使用它自动将其设置为1。 ,但否则,您需要明确地执行此操作。setup.exe
ADDEPLOY
VSEXTUI
Group Policy
ADDEPLOY
对于这两种Client Profile
和Extended
的版本.NET Framework
4.0,它的工作原理,除了独一无二的,你可以设置被称为属性以同样的方式EXTUI
; ADDEPLOY
不会达到预期的效果。(如果你看看CA_BlockDirectInstall
在行动InstallExecuteSequence
中的表.msi
的数据库,你会看到,该特殊操作的条件是“ NOT (EXTUI = 1 OR Installed)
“)。该属性设置为1后,我已经能够直接从执行的部署.msi
通过Novell ZENworks
或msiexec.exe
没有任何问题。有人会认为Active Directory
应该一样容易,除了与不同ADDEPLOY
,我猜测您可能需要自己设置EXTUI
属性,这可以通过转换来完成。
一个执行无人值守安装(例如64位)的最小命令行将.NET Framework 4.0 Client Profile
是...
msiexec.exe / i netfx_Core_x64.msi EXTUI = 1
...或者干脆...
netfx_Core_x64.msi EXTUI = 1
由于没有可供用户自定义的安装选项,(默认)全界面模式实际上已经是无人值守的安装,因此您无需添加/passive
或进行任何/q
开关即可使其在无人值守的情况下执行。
.msi
.NET Framework 的直接下载,因此您需要从.exe
安装程序中提取它。这就是.msi
我在回答中引用的相同。但是,您选择解压缩.msi
(7-Zip或Microsoft自解压安装程序通常具有/extract
命令行参数或类似参数),但问题仍然是,.msi
如果未设置必要的属性,则直接从安装将被阻止。