CD刻录在XBAP中

时间:2010-09-02 10:06:03

标签: c# xbap imapi

我有一个需要能够刻录CD的XBAP。从Visual Studio内部运行时,一切正常。但是,从浏览器运行时,IMAPI dll会在尝试访问驱动器时报告不支持该环境。

我假设这归结为允许。我有一个已安装的签名证书,并且xbap设置为作为完全信任的应用程序运行(虽然我猜它不能或我不会遇到这个问题)。

目前,这一切都在我的本地计算机上运行,​​但最终我希望将其部署到Web服务器上(所有用户都已经在其客户端上安装了证书)。

有没有人对我错过/做错了什么有任何想法?

更新

我已经尝试创建一个新的测试证书,我已经在证书库中安装了该证书,然后针对它签署了XBAP,但它没有任何区别。

如果有人有任何想法,真的可以做到吗?

进一步更新:

我创建了一个能够刻录cd的控制台应用程序。对这个控制台应用程序进行控制允许我从xbap中刻录cd,但不能从xbap本身内部刻录。

但是,这真的不是我想要的。理想情况下,我希望将所有这些包含在xbap中。如果失败了,有没有办法在xbap的单击部署中包含控制台应用程序?

由于

2 个答案:

答案 0 :(得分:2)

我认为这不可能与XBAP有关。根据{{​​3}},

  

权限示例不可用   在互联网区:

     
      
  • FileIOPermission - 此权限控制读取和写入磁盘上文件的能力。因此,Internet区域中的应用程序无法读取用户硬盘上的文件。

  •   
  • RegistryPermission - 此权限控制读/写注册表的能力。因此,Internet区域中的应用程序无法访问或控制用户注册表中的状态。

  •   
  • SecurityPermission.UnmanagedCode - 此权限控制调用本机Win32函数的能力。

  •   

当您通过互联网运行XBAP时,您将遇到问题#3:尝试与非托管代码互操作。

我建议您将应用程序部署为ClickOnce的独立应用程序。这样,您就可以完全访问系统,但仍然可以像使用XBAP一样轻松部署和升级。


*的 修改 *

您可以尝试一件事 - 我不能保证它会起作用 - 但您可以让您的用户进入IE Internet选项,将您的站点添加到可信站点列表。我打赌你的CD刻录代码会起作用,因为它将在受信任区域,而不是互联网区域。

答案 1 :(得分:0)

尝试去

HKLM \ SOFTWARE \ Microsoft.NETFramework \ Windows Presentation Foundation \ Hosting

在注册表中

创建一个名为RunUnrestricted的新DWORD值为1。