我有一个我想要安装的软件包。我希望这些文件最终位于与安装向导选择的目录不同的目录中。
例如,我的Sitecore副本正在C:\SiteCore\website
运行
该模块将文件添加到C:\SiteCore\website\Console
我希望这些文件最终生效在C:\SiteCore\website\sitecore_modules\Console
我正在使用Sitecore 6.5 rev 111230,但我们计划很快升级。我希望我们已安装的软件包在升级后可以无缝迁移。作为参考,我想要安装的软件包是Sitecore Powershell Extensions。虽然,我更愿意对我以后安装的任何软件包应用类似的方法。
包安装过程中是否有秘密切换以允许我这样做?我可以从软件包安装向导中执行此操作吗?还有另一种安装包的方法吗?
我假设我不能只改变包路径并希望一切都能继续工作。我是否必须在某处(文件或Sitecore CMS GUI内)更新配置以使包识别新文件位置?
答案 0 :(得分:3)
模块创建者定义文件的存在位置。如果你移动它们就会冒一些不起作用的风险。最好的办法是在模块的“市场”页面上询问创建者。
没有转变的方式来改变它。
答案 1 :(得分:2)
我猜你可以从MarketPlace中获取代码,你可以修改它。
我不知道MarketPlace模块的许可证到底有多少,但我认为人们可以修改其他代码。
请检查代码和项目,也许某些字段是文件夹路径的值。
答案 2 :(得分:0)
我发现了一种实现这一目标的方法,但它可能相当,甚至不可能,具体取决于包的复杂程度和大小。
首先,我确实将问题提交给模块创建者,并与创建者进行了非常有用且内容丰富的对话。因此,感谢您的建议 - 他们甚至可能会根据我的要求在未来的版本中移动安装位置。
解决方法是首先在系统上正常安装软件包。然后你弄清楚包装附带的一切。对于文件,如果您的Sitecore根目录受源控制,这很容易。对于物品,这真的很复杂。您可以按照所有者搜索已安装的项目,如果您有远见创建&使用唯一用户进行包安装。或者,您可以检查包中基本上基于xml的项清单的无类型文件。
获得详细列表后,您可以对位置进行所需的修改。然后使用Sitecore包设计器自行重新创建包。
这适用于简单的软件包 - 我做了一个小包,我希望尽快在Sitecore市场上作为共享源。而小,我的意思是它是2个文件和3个项目。提示我提出这个问题的软件包不会与此解决方法配合使用。包含的.dll对硬编码到其中的文件结构有一些假设。
我为更复杂的软件包采取的解决方法非常基础:我只是在所需路径外部创建了一个新的源代码。这让我可以整齐地包装所有内容而不会在包文件中获得中世纪。
感谢你的回答,给你一个非常好的+1。