Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 使用PowerShell DSC安装VS 2019_Visual Studio_Powershell_Dsc - Fatal编程技术网

Visual studio 使用PowerShell DSC安装VS 2019

Visual studio 使用PowerShell DSC安装VS 2019,visual-studio,powershell,dsc,Visual Studio,Powershell,Dsc,我正在创建一个DSC配置来创建一个模板,以帮助配置和设置构建过程中使用的机器。我在安装VisualStudio2019时遇到了一个问题,DSC认为安装在实际安装之前就已经完成了,然后去检查包,结果发现它没有安装。这似乎是因为安装程序在下载软件包后退出,并使用另一个进程来实际安装所有内容。如果我等到机器上的所有安装程序进程结束,然后重新运行配置,一切都会顺利进行 我想知道是否有人有解决这个问题的建议。我的一个想法是编写一个与包1相同的自定义资源,但它会等待检查Set是否成功,直到所有安装程序进程完

我正在创建一个DSC配置来创建一个模板,以帮助配置和设置构建过程中使用的机器。我在安装VisualStudio2019时遇到了一个问题,DSC认为安装在实际安装之前就已经完成了,然后去检查包,结果发现它没有安装。这似乎是因为安装程序在下载软件包后退出,并使用另一个进程来实际安装所有内容。如果我等到机器上的所有安装程序进程结束,然后重新运行配置,一切都会顺利进行

我想知道是否有人有解决这个问题的建议。我的一个想法是编写一个与包1相同的自定义资源,但它会等待检查Set是否成功,直到所有安装程序进程完成。有没有办法在我的定义中调用现有的包Get/Set/Test命令,这样我就不必全部重写它们

我见过巧克力包装,但无法在这些机器上安装

当前包资源:

        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标志,它在完成之前不会退出。一旦您这样做,它的行为与任何其他安装一样。

使用sysinternals process monitor查看启动了哪些程序以及它们何时退出。查看其中一个菜单上的流程树。