在使用部署CRM软件包时,如何覆盖非托管解决方案?

时间:2015-09-16 00:04:02

标签: powershell dynamics-crm-2011 crm

使用a powershell script to deploy a CRM Package效果很好,但我遇到了一些意想不到的行为。

该软件包有1个上传的非托管解决方案。如果目标CRM组织上不存在该解决方案,则它可以完美运行。但是,如果解决方案已经存在于组织中,并且我尝试再次部署它并进行一些更改,则它将无法正常工作。这些更改未上传,我也没有收到任何错误。

如果我更改解决方案中的版本号(例如,从0.0.1更改为0.0.2),那么上传它将按预期工作。

我不想每次都更改版本,并且由于手动上传具有相同版本号的非托管解决方案可以完美运行,我希望脚本也可以这样做。

1 个答案:

答案 0 :(得分:4)

我尝试使用导入包的CRM Package Deployer方法来查看它是否会按预期工作,或者是否会显示任何错误消息。

消息显示:

onCreateLoader

因此,如果组织中存在具有相同名称和版本号的解决方案,那么它将被完全跳过。这有点不幸。

我似乎必须实施一种解决方法。我看到两个选择:

  1. 在尝试上传之前,DeployPackage脚本会删除目标CRM组织中的解决方案(如果存在)。
  2. 我的ExportSolution脚本每次运行时都会更改版本号。