DSC Package资源具有相同的关键属性

时间:2016-03-24 16:29:00

标签: powershell dsc

我正在尝试先卸载一个软件包,然后安装该软件包的最新版本。您会想到这很简单,但是当我在DSC配置中包含以下代码时:

    ### remove old product setup
    Package removeOldProduct {
        Ensure = 'Absent'
        Name = 'My Product Name'
        Path = ""
        ProductId = ""
    }
    ### now install the latest product setup
    Package productSetup {
        Ensure = 'Present'
        Name = 'My Product Name'
        Path = "$productShare\Repository\product.msi"
        ProductId = ""
        Arguments = "ACCEPT_EULA=1 /q"
        DependsOn = '[Package]MsSql'
    }

创建.mof文件时,收到以下错误:

  

Test-ConflictingResources:在节点'myNodeServer'中的资源'[Package] productSetup和'[Package] removeOldProduct之间检测到冲突。资源具有相同的关键属性,但有   以下非关键属性的差异:'路径;确保;参数'。

我不想使用脚本资源来处理我的卸载。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

通常情况下,您的配置应该是幂等的,所以这并没有多大意义。每次应用配置时(每30分钟或其他任何设置),您将卸载并重新安装软件包。

MSI安装程序应支持自动升级,这意味着您只需确保安装(较新的)MSI。