使用部署 CRM 包时如何覆盖非托管解决方案?
How can I overwrite an unmanaged solution when using deploying a CRM package?
使用 a powershell script to deploy a CRM Package 效果很好,但我 运行 遇到了一些意外行为。
该包有 1 个上传的非托管解决方案。如果目标 CRM 组织中不存在该解决方案,它会完美运行。但是,如果该解决方案在组织中已经存在,并且我尝试通过一些更改再次部署它,它就不会起作用。更改未上传,我没有收到任何错误。
如果我更改解决方案中的版本号(例如,从 0.0.1 到 0.0.2),那么上传它会按预期进行。
虽然我不想每次都更改版本,并且由于手动上传具有相同版本号的非托管解决方案非常有效,我希望脚本也能够做到这一点。
我尝试使用 CRM Package Deployer 导入包的方法,看看它是否能按我预期的那样工作,或者是否会显示任何错误消息。
消息显示:
Skipping solution MySolution. Version 0.0.2 of the solution is already loaded.
因此,如果组织中存在具有相同名称和版本号的解决方案,那么它将被完全跳过。这有点不幸。
看来我必须实施一个解决方法。我看到两个选项:
- DeployPackage 脚本会在尝试上传之前删除目标 CRM 组织中的解决方案(如果存在)。
- 我的 ExportSolution 脚本每次运行时都会更改版本号。
使用 a powershell script to deploy a CRM Package 效果很好,但我 运行 遇到了一些意外行为。
该包有 1 个上传的非托管解决方案。如果目标 CRM 组织中不存在该解决方案,它会完美运行。但是,如果该解决方案在组织中已经存在,并且我尝试通过一些更改再次部署它,它就不会起作用。更改未上传,我没有收到任何错误。
如果我更改解决方案中的版本号(例如,从 0.0.1 到 0.0.2),那么上传它会按预期进行。
虽然我不想每次都更改版本,并且由于手动上传具有相同版本号的非托管解决方案非常有效,我希望脚本也能够做到这一点。
我尝试使用 CRM Package Deployer 导入包的方法,看看它是否能按我预期的那样工作,或者是否会显示任何错误消息。
消息显示:
Skipping solution MySolution. Version 0.0.2 of the solution is already loaded.
因此,如果组织中存在具有相同名称和版本号的解决方案,那么它将被完全跳过。这有点不幸。
看来我必须实施一个解决方法。我看到两个选项:
- DeployPackage 脚本会在尝试上传之前删除目标 CRM 组织中的解决方案(如果存在)。
- 我的 ExportSolution 脚本每次运行时都会更改版本号。