0

我有一个要安装的软件包。我希望这些文件最终位于与安装向导为它们选择的目录不同的目录中。

例如,我的 Sitecore 副本正在运行C:\SiteCore\website
The module added files to C:\SiteCore\website\Console
I 希望这些文件最终存在于C:\SiteCore\website\sitecore_modules\Console

我正在使用 Sitecore 6.5 rev 111230,但我们计划很快升级。我希望我安装的软件包在我们升级后无缝迁移。作为参考,我现在要安装的包是Sitecore Powershell Extensions。虽然,我更愿意对我以后安装的任何软件包应用类似的方法。

包安装过程中是否有秘密开关允许我这样做?我可以从包安装向导中做到这一点吗?还有另一种安装软件包的方法吗?

我假设我不能只更改包路径并期望一切都能继续工作。我是否必须在某处(文件或 Sitecore CMS GUI 内部)更新配置以使包识别新文件位置?

4

3 回答 3

3

模块创建者定义文件存在的位置。如果您移动它们,您将面临无法正常工作的风险。最好的办法是在模块的 Marketplace 页面上询问创建者。

没有交钥匙的方式来改变这一点。

于 2013-09-04T23:05:37.557 回答
2

我想你可以从 MarketPlace 获取代码,然后你可以修改它。

我不知道 MarketPlace 模块的许可证到底如何,但我认为人们可以修改其他代码。

请检查代码和项目,可能在某些字段上是文件夹路径的值。

于 2013-09-05T04:58:45.053 回答
0

我发现了一种方法来实现这一点,但它可能非常复杂,甚至是不可能的,具体取决于包的复杂性和大小。

首先,我确实向模块创建者提出了这个问题,并与创建者进行了非常有帮助和信息丰富的对话。所以感谢你的建议——根据我的要求,他们甚至可能在未来的版本中移动安装位置。

解决方法是首先照常在系统上安装软件包。然后你会弄清楚包装附带的所有东西。对于文件,如果您的 Sitecore 根目录受源代码控制,这很容易。对于物品,这真的很复杂。如果您有远见创建和使用唯一用户进行软件包安装,您可以按所有者搜索已安装的项目。或者,您可以检查包中基本上是基于 xml 的项目清单的无类型文件。

获得详细列表后,您可以对位置进行所需的修改。然后,您使用 Sitecore 包设计器自己重新创建包。

这适用于简单的包——我对一个小包做了这个,我希望它很快就能作为共享源进入 Sitecore 市场。小,我的意思是它是 2 个文件和 3 个项目。提示我提出这个问题的程序包不会与此解决方法配合使用。包含的 .dll 对硬编码到其中的文件结构有一些假设。

我为更复杂的包采取的解决方法非常基本:我只是在所需路径之外创建了一个新的源代码。这让我把所有东西都整齐地包装起来,而不会在包文件上陷入中世纪。

感谢您的回答,非常感谢您+1。

于 2013-10-01T21:39:52.920 回答