使用 PowerShell DSC 安装 VS 2019
Installing VS 2019 with PowerShell DSC
我正在创建一个 DSC 配置来创建一个模板来帮助配置和设置我们构建过程中使用的机器。我 运行 在安装 Visual Studio 2019 时遇到问题,DSC 认为安装在实际完成之前就已经完成,并且只检查未安装的发现程序包。这似乎是因为安装程序在下载软件包后退出并使用另一个进程来实际安装所有东西。如果我等到所有安装程序进程在机器上结束,然后重新运行配置,一切都会顺利。
我想知道是否有人对解决这个问题有建议。我的一个想法是编写一个与第一个包相同的自定义资源,但它会等待检查 Set 是否成功,直到所有安装程序进程完成。有没有办法在我的定义中调用现有的 Package Get/Set/Test 命令,这样我就不必全部重写它们?
我看过 Chocolatey 软件包,但无法在这些机器上安装它。
当前包资源:
Package VS2019Install
{
DependsOn = '[File]VS2019Copy'
Name = 'Visual Studio Enterprise 2019'
Path = 'D:\Install\vs_enterprise__path_name.exe'
Arguments = '-q --norestart --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeRecommended'
ProductId = ''
Ensure = 'Present'
}
谢谢大家
我的愚蠢错误,无需编写新资源,只需在安装时使用 --wait
标志,直到完成才会退出。一旦你这样做,它的行为就像任何其他安装一样。
我正在创建一个 DSC 配置来创建一个模板来帮助配置和设置我们构建过程中使用的机器。我 运行 在安装 Visual Studio 2019 时遇到问题,DSC 认为安装在实际完成之前就已经完成,并且只检查未安装的发现程序包。这似乎是因为安装程序在下载软件包后退出并使用另一个进程来实际安装所有东西。如果我等到所有安装程序进程在机器上结束,然后重新运行配置,一切都会顺利。
我想知道是否有人对解决这个问题有建议。我的一个想法是编写一个与第一个包相同的自定义资源,但它会等待检查 Set 是否成功,直到所有安装程序进程完成。有没有办法在我的定义中调用现有的 Package Get/Set/Test 命令,这样我就不必全部重写它们?
我看过 Chocolatey 软件包,但无法在这些机器上安装它。
当前包资源:
Package VS2019Install
{
DependsOn = '[File]VS2019Copy'
Name = 'Visual Studio Enterprise 2019'
Path = 'D:\Install\vs_enterprise__path_name.exe'
Arguments = '-q --norestart --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeRecommended'
ProductId = ''
Ensure = 'Present'
}
谢谢大家
我的愚蠢错误,无需编写新资源,只需在安装时使用 --wait
标志,直到完成才会退出。一旦你这样做,它的行为就像任何其他安装一样。