0

我正在尝试通过 Microsoft 生态系统元数据交换产品映射工具附带的 PowerShell 模块自动创建产品映射。我已经成功地创建了产品并成功映射了文件,输出文件也可以很好地导入工具本身。我遇到的问题是通过 PowerShell 模块将产品添加到产品组。我不断收到错误消息:Must add the product to the store before adding product groups使用以下脚本:

$path = "C:\Program Files (x86)\Application"
$outputFilePath = "C:\Users\Adam\Desktop\WER\NewProduct.emx"

# Create new product
$product = New-Product -Name "Application" -Version "2.0.0.180" -Lifecycle PreRelease
Add-Product -Product $product

# Scan directory for files
#$files = New-ProductFile $path

# Associate files with product
Add-ProductFile $product -ProductFile $files

# Add product to group
$productGroup = New-ProductGroup -Name "Application" -Version "2"
Add-ProductGroup -ProductGroup $productGroup -Product $product

Export-MetaData $outputFilePath

如您所见,我在创建产品后尝试添加组,但它不起作用。理想情况下,有一些方法可以通过从导出的元数据文件中获取 ProductGroups 来设置组变量,但是这个 PowerShell 模块非常有限,只有两个可用的资源。有任何想法吗?

4

1 回答 1

0

我遇到的问题是通过 PowerShell 模块将产品添加到产品组。

正如错误消息所说,您必须先将产品组添加到商店。创建产品组后,只需添加以下行:

Add-ProductGroup -ProductGroup $productGroup

理想情况下,可以通过从导出的元数据文件中获取 ProductGroups 来设置组变量

对于这个问题,以下命令应该会有所帮助:

  • 导入元数据
  • 设置元数据
  • 合并元数据
  • 清除元数据
  • 获取产品
  • 获取产品组

例如,如果您知道要添加新产品的产品组“GroupX”存储在文件“metadata.emx”中,则可以执行以下操作:

$md = Import-Metadata -Path 'metadata.emx'
Merge-Metadata -Metadata $md #use Set-Metadata if you want to replace the current metadata
$productGroup = Get-ProductGroup -Name 'GroupX'
于 2015-11-09T12:00:58.407 回答