パッケージをアンインストールしてから、同じパッケージの最新バージョンをインストールしようとしています。シンプルなあなたが思うだろうが、私は私のDSCの設定で次のコードを含む場合:の.mofファイルを作成中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'
}
を、私は次のエラーが表示されます
Test-ConflictingResources : A conflict was detected between resources '[Package]productSetup and '[Package]removeOldProduct in node 'myNodeServer'. Resources have identical key properties but there are differences in the following non-key properties: 'Path;Ensure;Arguments'.
私はしたくありませんスクリプトリソースを使用してアンインストールを処理します。私はここで間違って何をしていますか?
私の意図は、古いバージョンのパッケージをアンインストールして、新しいバージョンの製品(開発中に引き続き更新されている)をインストールすることです。より良い質問です:.msiファイルに同じ正確なインストールが含まれているかどうか、パッケージリソースがチェックしますか?疑わしい。私の理解では、Packageリソースは、存在しない場合にのみパッケージをインストールし、期限切れではない場合にはインストールしません。 –
明確にするために、最新のDev .msiファイルをフェッチしてQA VMに自動的にインストールするQA VMの構成を設定しています。 –
@SamersSalib製品IDを入力し、パッケージの更新時に製品IDが変更された場合、動作する可能性があります。また、 '' xPSDesiredStateConfiguration'(https://github.com/PowerShell/xPSDesiredStateConfiguration)モジュールの 'xPackage'リソースを見ることもできます。このモジュールには、このバージョンをよりスムーズに動かすための追加のパラメータ(' Version'など)があります。あなたが今やっているやり方は正しいわけではなく、パッケージが更新されているかどうかに関係なく、絶え間なくアンインストールと再インストールが行われます。 – briantist