MEF如何处理PipelineSegments.store的访问权限

时间:2013-08-05 11:40:29

标签: .net deployment mef program-files

我有MEF应用程序,它在program / Addins目录中创建PipelineSegments.store和AddIns.store文件。但是,如果我在“C:\ Program Files \ My Application”中安装此应用程序并且我在没有管理员权限的情况下运行此应用程序,则会失败,因为它没有“C:\ Program Files \ My Application \ Addins”的访问权限夹。
处理此MEF应用程序部署的最佳实践解决方案是什么?将这些文件包含在安装中并赋予它们访问权限或将addins目录移动到另一个可访问的位置是否合适?那么Windows 8中的程序文​​件中的所有文件都是只读的呢?
非常感谢, 马雷克

1 个答案:

答案 0 :(得分:1)

您可以使用AddInStore.Update方法将管道根目录的位置作为参数,而不是采用PipelineStoreLocation的方法。

类似地,有一个AddInStore.FindAddIns重载将管道根作为参数。

您可以使用程序数据代替在程序文件中部署您的插件,而不是标准用户具有完全访问权限。

查看answer (from Microsoft Support) to a similar question