我正在尝试先卸载一个软件包,然后安装该软件包的最新版本。您会想到这很简单,但是当我在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之间检测到冲突。资源具有相同的关键属性,但有 以下非关键属性的差异:'路径;确保;参数'。
我不想使用脚本资源来处理我的卸载。我在这里做错了什么?
答案 0 :(得分:1)
通常情况下,您的配置应该是幂等的,所以这并没有多大意义。每次应用配置时(每30分钟或其他任何设置),您将卸载并重新安装软件包。
MSI安装程序应支持自动升级,这意味着您只需确保安装(较新的)MSI。